@font-face{font-family:"Fraunces";src:url("fonts/fraunces.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("fonts/inter-tight.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}

:root{
  color-scheme:dark;
  --bg:#07100f;
  --bg-soft:#0b1517;
  --panel:#101b21;
  --panel-light:#14212a;
  --line:#263640;
  --text:#f0f3f4;
  --muted:#a9b5ba;
  --accent:#d6ba79;
  --accent-strong:#f1d18a;
  --danger:#ffb4a8;
  --radius:24px;
  --shadow:0 24px 80px rgba(0,0,0,.35);
  --content:min(1180px,calc(100vw - 48px));
}

/* Geschützte Markdown-Dokumentation */
.document-page-heading{margin:.2rem 0 .5rem;font-family:"Fraunces",serif;font-size:clamp(2rem,5vw,3.7rem);font-weight:700;line-height:1.05}
.document-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:36px 0 80px}.document-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:36px;color:#657184;font-size:.92rem}.document-breadcrumb a{color:inherit}.document-overview-head,.document-title{margin-bottom:34px}.document-title{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.document-title h1,.document-overview-head h1{margin:.2rem 0 .5rem;font-family:"Fraunces",serif;font-size:clamp(2rem,5vw,3.7rem);line-height:1.05}.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.document-card{padding:28px;border:1px solid rgba(31,54,75,.14);border-radius:18px;background:#fff;box-shadow:0 12px 40px rgba(24,46,66,.07)}.document-card h2{margin:.35rem 0 1.25rem}.document-card dl{display:flex;gap:28px;margin:0 0 24px}.document-card dl div{display:grid;gap:3px}.document-card dt{color:#657184;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.document-card dd{margin:0}.document-status,.eyebrow{color:#996f19;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.document-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:42px;align-items:start}.document-toc{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid rgba(31,54,75,.12);border-radius:14px;background:#fff}.document-toc ol{margin:12px 0 0;padding-left:20px}.document-toc li+li{margin-top:9px}.document-toc a{color:#33485d;text-decoration:none}.document-toc a:hover,.document-toc a:focus{text-decoration:underline}.markdown-document{min-width:0;padding:clamp(22px,5vw,56px);border:1px solid rgba(31,54,75,.12);border-radius:18px;background:#fff;box-shadow:0 14px 50px rgba(24,46,66,.07);color:#25384a;line-height:1.72}.markdown-document h1,.markdown-document h2,.markdown-document h3,.markdown-document h4{scroll-margin-top:24px;color:#152b3e;line-height:1.18}.markdown-document h1{margin:2.8rem 0 1.2rem;padding-top:1.5rem;border-top:1px solid #dde3e8;font-family:"Fraunces",serif;font-size:clamp(1.8rem,4vw,2.7rem)}.markdown-document h1:first-child{margin-top:0;padding-top:0;border:0}.markdown-document h2{margin:2rem 0 .8rem;font-size:1.55rem}.markdown-document h3{margin:1.5rem 0 .6rem;font-size:1.18rem}.markdown-document h4{margin:1.3rem 0 .5rem}.markdown-document hr{margin:2.2rem 0;border:0;border-top:1px solid #dce3e8}.document-table{max-width:100%;margin:1.4rem 0;overflow-x:auto;border:1px solid #dbe2e7;border-radius:10px}.document-table:focus{outline:3px solid rgba(183,139,48,.35);outline-offset:2px}.document-table table{width:100%;min-width:520px;border-collapse:collapse}.document-table th,.document-table td{padding:11px 14px;border-bottom:1px solid #e3e8ec;text-align:left;vertical-align:top}.document-table th{background:#f0f4f6;color:#173047}.document-table tr:last-child td{border-bottom:0}.document-code{margin:1.4rem 0;border-radius:12px;overflow:hidden;background:#102333;color:#e8f0f5}.document-code-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#19384e;color:#bcd0dd;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.document-code-bar button{min-height:36px;padding:6px 12px;border:1px solid #55758b;border-radius:7px;background:#244c66;color:#fff;cursor:pointer}.document-code pre{margin:0;padding:18px;overflow-x:auto}.document-code code{font-family:Consolas,"Courier New",monospace;font-size:.88rem;white-space:pre}.markdown-document :not(pre)>code{padding:.12em .35em;border-radius:4px;background:#edf1f3}.markdown-document input[type=checkbox]{width:1rem;height:1rem}.markdown-document li+li{margin-top:.35rem}
.document-card{position:relative}.document-card-new{border-color:#d6ba79;box-shadow:0 0 0 2px rgba(214,186,121,.2),0 18px 54px rgba(0,0,0,.32)}.document-new-badge{position:absolute;top:18px;right:18px;padding:7px 12px;border-radius:999px;background:#f1d18a;color:#162027;font-size:.76rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 8px 22px rgba(0,0,0,.28)}
@media(max-width:800px){.document-layout{grid-template-columns:1fr}.document-toc{position:static;max-height:none}.document-title{align-items:stretch;flex-direction:column}.document-title .primary-button{align-self:flex-start}.markdown-document{padding:22px}.document-shell{width:min(100% - 20px,1180px);padding-top:22px}.document-table table{font-size:.9rem}}
@media print{.portal-header,.document-breadcrumb,.document-title .primary-button,.document-toc,.document-code-bar button{display:none!important}.document-shell{width:100%;padding:0}.document-layout{display:block}.markdown-document{padding:0;border:0;box-shadow:none}.document-table{overflow:visible}.document-code{break-inside:avoid}.markdown-document h1,.markdown-document h2,.markdown-document h3{break-after:avoid}.document-table,.document-code{break-inside:avoid}@page{margin:18mm}}

/* Farben aus dem bestehenden Kundenbereich übernehmen. */
.document-breadcrumb{color:var(--muted)}.document-card,.document-toc,.markdown-document{border-color:var(--line);background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.document-card dt{color:var(--muted)}.document-status,.eyebrow{color:var(--accent)}.document-toc a{color:var(--text)}.markdown-document h1,.markdown-document h2,.markdown-document h3,.markdown-document h4{color:var(--text)}.markdown-document h1{border-color:var(--line)}.markdown-document hr{border-color:var(--line)}.document-table{border-color:var(--line)}.document-table th,.document-table td{border-color:var(--line)}.document-table th{background:var(--panel-light);color:var(--accent-strong)}.markdown-document :not(pre)>code{background:var(--panel-light)}
@media print{.document-card,.markdown-document{background:#fff;color:#111}.markdown-document h1,.markdown-document h2,.markdown-document h3,.markdown-document h4{color:#111}.document-table th{background:#eee;color:#111}}

*{box-sizing:border-box}
/* hidden muss staerker sein als jede display-Regel darunter.
   Sonst bleibt ein verstecktes Feld sichtbar (Falle vom 11.08.2026). */
[hidden]{display:none !important}

/* Bewusst NICHT smooth: nach dem Speichern landet man ueber einen Anker auf
   der Seite. Mit smooth wuerde der Browser sichtbar von oben nach unten
   fahren. Menueklicks rollen weich, das erledigt kunden.js. */
html{scroll-behavior:auto}
body{margin:0;background:radial-gradient(circle at 18% 0%,rgba(187,156,91,.12),transparent 38%),linear-gradient(180deg,#091211 0%,var(--bg) 42%,#070d0f 100%);color:var(--text);font-family:"Inter Tight",Arial,sans-serif;font-size:16px;line-height:1.5}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 75%)}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{color:inherit}
img,video{display:block;max-width:100%}

.brand{display:inline-flex;min-width:44px;min-height:44px;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-size:15px;font-weight:750;letter-spacing:.01em}
.brand img{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#111c22;padding:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.brand-login{margin-bottom:56px}
.brand-login img{width:46px;height:46px}
.eyebrow{margin:0 0 14px;color:var(--accent);font-size:12px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}

.login-page{min-height:100vh}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px}
.login-card{position:relative;width:min(580px,100%);padding:44px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,rgba(17,28,33,.96),rgba(9,18,19,.98));box-shadow:var(--shadow);overflow:hidden}
.login-card::after{content:"";position:absolute;right:-100px;top:-100px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(214,186,121,.14),transparent 68%);pointer-events:none}
.login-card h1{max-width:500px;margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(42px,8vw,68px);font-weight:300;line-height:.98;letter-spacing:-.045em}
.login-copy{max-width:480px;margin:26px 0 34px;color:var(--muted);font-size:18px}
.login-form label{display:block;margin:16px 0 9px;font-size:14px;font-weight:700}
.login-form label:first-of-type{margin-top:0}
.login-username{width:100%;min-height:54px;padding:0 16px;border:1px solid #344750;border-radius:14px;outline:0;background:#081113;color:var(--text);font-size:18px;transition:border-color .2s,box-shadow .2s}
.login-username:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.password-row{display:flex;align-items:stretch;border:1px solid #344750;border-radius:14px;background:#081113;transition:border-color .2s,box-shadow .2s}
.password-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.password-row input{min-width:0;flex:1;padding:15px 16px;border:0;outline:0;background:transparent;color:var(--text);font-size:18px}
.icon-button{min-width:82px;min-height:48px;border:0;background:transparent;padding:0 16px;color:var(--accent);cursor:pointer;font-size:13px;font-weight:700}
.primary-button,.download-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid rgba(240,209,138,.66);border-radius:999px;background:linear-gradient(180deg,rgba(214,186,121,.18),rgba(214,186,121,.08));color:var(--text);font-weight:750;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}
.primary-button:hover,.download-button:hover{transform:translateY(-1px);background:rgba(214,186,121,.2);border-color:var(--accent-strong)}
.login-button{width:100%;margin-top:18px;cursor:pointer}
.form-error{margin:12px 0 0;color:var(--danger);font-size:14px}
.support-note,.demo-note{margin:22px 0 0;color:var(--muted);font-size:14px}
.demo-note{padding:12px 14px;border:1px dashed #43525a;border-radius:12px;background:rgba(255,255,255,.025)}
.demo-note code{color:var(--accent-strong)}
.support-note a{color:var(--text)}

.portal-header{position:sticky;z-index:20;top:14px;width:var(--content);min-height:70px;margin:14px auto 0;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(64,82,92,.7);border-radius:22px;background:rgba(9,17,20,.86);box-shadow:0 14px 40px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.header-actions{display:flex;align-items:center;gap:18px}
.portal-nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
.portal-nav a{display:inline-flex;min-height:44px;align-items:center;padding:0 10px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;transition:color .2s,background .2s}
.portal-nav a:hover,.portal-nav a:focus-visible{background:rgba(214,186,121,.1);color:var(--text)}
.account-label{display:inline-flex;min-height:34px;align-items:center;padding:0 11px;border:1px solid rgba(214,186,121,.3);border-radius:999px;background:rgba(214,186,121,.08);color:var(--accent-strong);font-size:12px;font-weight:750}
.secure-label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.secure-label span{width:8px;height:8px;border-radius:50%;background:#88caad;box-shadow:0 0 0 4px rgba(136,202,173,.1)}
.logout-link{display:inline-flex;min-height:44px;align-items:center;padding:0 15px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:13px;font-weight:700}
.logout-form{display:inline;margin:0}.logout-form button{font:inherit;color:inherit;background:transparent;cursor:pointer}

main{position:relative}
.project-hero{width:var(--content);margin:0 auto;padding:82px 0 66px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:64px;align-items:end}
.hero-copy h1{max-width:820px;margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(54px,7vw,92px);font-weight:300;line-height:.94;letter-spacing:-.05em}
.hero-subtitle{margin:22px 0 0}
.hero-copy>p:last-child{max-width:720px;margin:30px 0 0;color:#c3cccf;font-size:clamp(18px,2vw,22px);line-height:1.55}
.project-facts{margin:0;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,rgba(20,33,40,.95),rgba(12,22,25,.9));overflow:hidden;box-shadow:var(--shadow)}
.project-facts div{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}
.project-facts div:last-child{border-bottom:0}
.project-facts dt{color:var(--muted);font-size:13px}
.project-facts dd{margin:0;text-align:right;font-weight:700}

.content-section{width:var(--content);margin:0 auto;padding:80px 0;border-top:1px solid rgba(80,100,110,.34);scroll-margin-top:150px}
.section-heading{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(320px,1fr);gap:48px;align-items:end;margin-bottom:34px}
.section-heading h2,.download-note h2{margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(42px,6vw,72px);font-weight:300;line-height:1;letter-spacing:-.045em}
.section-heading>p{max-width:600px;margin:0 0 5px;color:var(--muted);font-size:18px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.video-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel-light),var(--panel));box-shadow:0 18px 50px rgba(0,0,0,.2)}
.video-card video{width:100%;aspect-ratio:16/9;background:#030707;object-fit:cover}
.video-card-copy{padding:24px}
.video-card h3,.gallery-card h3{margin:0;font-size:20px;line-height:1.25}
.video-card p{margin:8px 0 18px;color:var(--muted)}
.media-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.media-meta span{padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
.download-button{width:100%}

.image-heading{margin-bottom:26px}
.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.filter-button{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#0c171a;color:var(--muted);cursor:pointer;font-size:14px;font-weight:700;transition:border-color .2s,color .2s,background .2s}
.filter-button:hover,.filter-button.is-active{border-color:rgba(214,186,121,.7);background:rgba(214,186,121,.1);color:var(--text)}
.filter-status{margin:-16px 0 22px;color:var(--muted);font-size:13px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
/* Kein content-visibility hier: die geschaetzte Hoehe stimmte nicht mit der
   echten ueberein. Beim Scrollen wuchsen die Karten nach, die Seite rutschte
   und man landete nach dem Speichern im falschen Abschnitt. */
.gallery-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--panel);contain:layout paint;transition:transform .22s,border-color .22s,box-shadow .22s}
.gallery-card:hover{transform:translateY(-3px);border-color:#40525b;box-shadow:0 18px 46px rgba(0,0,0,.25)}
.gallery-card[hidden]{display:none}
.image-button{position:relative;width:100%;padding:0;border:0;background:#050909;cursor:zoom-in;overflow:hidden}
.image-button img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .45s,filter .3s}
.image-button:hover img{transform:scale(1.025);filter:brightness(1.07)}
.zoom-label{position:absolute;right:12px;bottom:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(4,9,11,.76);color:#eef1f2;font-size:11px;font-weight:700;backdrop-filter:blur(8px)}
.gallery-card-copy{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px}
.gallery-card h3{font-size:16px}
.gallery-card p{margin:5px 0 0;color:var(--muted);font-size:12px}
.small-download{display:inline-flex;min-height:44px;align-items:center;flex:none;padding:0 11px;border:1px solid var(--line);border-radius:10px;color:var(--accent-strong);text-decoration:none;font-size:12px;font-weight:750}

/* Bauer: ein Vergleichslabor statt einer weiteren losen Bilderreihe. */
.lighting-lab{margin:12px 0 44px;padding:clamp(20px,3.5vw,38px);border:1px solid rgba(214,186,121,.35);border-radius:30px;background:radial-gradient(circle at 12% 0%,rgba(214,186,121,.13),transparent 34%),linear-gradient(145deg,rgba(17,29,34,.98),rgba(6,13,15,.98));box-shadow:0 28px 80px rgba(0,0,0,.3);scroll-margin-top:145px;overflow:hidden}
.lighting-lab-intro{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1fr);gap:48px;align-items:end;margin-bottom:28px}
.lighting-lab-intro h3{max-width:660px;margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(36px,5vw,62px);font-weight:300;line-height:1;letter-spacing:-.04em}
.lighting-lab-intro>p{max-width:620px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.lighting-toolbar{display:flex;gap:8px;margin:0 -4px 20px;padding:4px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;scroll-snap-type:x proximity}
.lighting-chip{min-height:48px;padding:0 16px;display:inline-flex;flex:none;align-items:center;gap:10px;border:1px solid #32434b;border-radius:999px;background:rgba(5,12,14,.8);color:var(--muted);cursor:pointer;font-size:13px;font-weight:750;scroll-snap-align:start;transition:border-color .2s,background .2s,color .2s}
.lighting-chip span{color:#74838a;font-variant-numeric:tabular-nums}
.lighting-chip:hover,.lighting-chip.is-active{border-color:var(--accent);background:rgba(214,186,121,.13);color:var(--text)}
.lighting-chip.is-active span{color:var(--accent-strong)}
.lighting-stage-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);border:1px solid #2b3c44;border-radius:24px;background:#071012;overflow:hidden}
.lighting-stage-media{position:relative;min-width:0;padding:0;border:0;border-right:1px solid #2b3c44;background:#030708;cursor:zoom-in;overflow:hidden}
.lighting-stage-media img{width:100%;height:100%;min-height:480px;aspect-ratio:16/9;object-fit:cover;transition:filter .25s,transform .45s}
.lighting-stage-media:hover img{filter:brightness(1.06);transform:scale(1.012)}
.lighting-stage-badge{position:absolute;left:18px;top:18px;min-height:34px;padding:0 13px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(4,9,11,.74);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(12px)}
.lighting-stage-copy{min-width:0;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;justify-content:center}
.lighting-stage-number{margin-bottom:12px;color:rgba(214,186,121,.35);font-family:"Fraunces",Georgia,serif;font-size:50px;line-height:.8}
.lighting-kicker{margin:0 0 6px!important;color:var(--accent-strong)!important;font-size:12px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lighting-stage-copy h4{margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(31px,3vw,46px);font-weight:300;line-height:1}
.lighting-stage-copy>p:not(.lighting-kicker){margin:15px 0 22px;color:var(--muted);font-size:14px;line-height:1.6}
.lighting-feedback-card{padding:16px;border:1px solid rgba(214,186,121,.23);border-radius:16px;background:rgba(11,22,25,.86)}
.lighting-feedback-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.lighting-feedback-head>div{display:grid;gap:2px}.lighting-feedback-head span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.lighting-feedback-head strong{font-size:18px}.lighting-feedback-dot{width:9px;height:9px;flex:none;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(214,186,121,.11)}
.lighting-feedback-form{display:grid;gap:11px}.lighting-feedback-form fieldset{min-width:0;margin:0;padding:0;border:0}.lighting-feedback-form legend{margin-bottom:8px;color:var(--muted);font-size:11px}
.lighting-rating-scale{width:100%;min-width:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.lighting-rating-scale label{position:relative;min-width:0;display:block;cursor:pointer}.lighting-rating-scale input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.lighting-rating-scale span{min-width:0;min-height:34px;display:grid;place-items:center;border:1px solid #344750;border-radius:8px;background:#081113;color:var(--muted);font-size:12px;font-weight:800;transition:.15s}
.lighting-rating-scale label:hover span,.lighting-rating-scale input:checked+span{border-color:var(--accent-strong);background:rgba(214,186,121,.2);color:#fff3d2}.lighting-rating-scale input:focus-visible+span{outline:2px solid var(--accent-strong);outline-offset:2px}
.lighting-comment-label{display:flex;justify-content:space-between;color:var(--text);font-size:12px;font-weight:750}.lighting-comment-label span{color:var(--muted);font-weight:400}.lighting-feedback-form textarea{width:100%;min-height:70px;padding:10px 11px;border:1px solid #344750;border-radius:10px;background:#081113;color:var(--text);outline:0;resize:vertical;font-size:13px;line-height:1.4}.lighting-feedback-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.lighting-save{width:100%;min-height:42px;cursor:pointer;font-size:13px}.lighting-feedback-empty{margin:0;color:var(--muted);font-size:13px}.lighting-team-feedback{display:grid;gap:10px}.lighting-team-feedback article+article{padding-top:10px;border-top:1px solid var(--line)}.lighting-team-feedback p{margin:5px 0 0;color:var(--muted);font-size:12px}
.lighting-overview-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0 12px}.lighting-overview-head h4{margin:0;font-size:16px}.lighting-overview-head span{color:var(--muted);font-size:12px}
.lighting-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.lighting-overview-card{min-width:0;padding:0;overflow:hidden;border:1px solid #2b3c44;border-radius:14px;background:#091315;color:var(--text);text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.lighting-overview-card:hover,.lighting-overview-card.is-active{transform:translateY(-2px);border-color:var(--accent);background:rgba(214,186,121,.08)}
.lighting-overview-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#030708}.lighting-overview-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.lighting-overview-card:hover img{transform:scale(1.035)}
.lighting-overview-copy{min-height:94px;padding:11px;display:grid;grid-template-columns:auto 1fr;gap:1px 8px;align-content:start}.lighting-overview-copy small{grid-row:1/3;color:var(--accent);font-size:10px}.lighting-overview-copy strong{overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis}.lighting-overview-copy em{color:var(--muted);font-size:10px;font-style:normal;line-height:1.3}

/* Projektmappe fuer Beratungsprojekte. Der linke Streifen erinnert an einen
   Bohrkern: technisch genug fuer Kemco, ruhig genug fuer das Portal. */
.it-partner-strip{position:relative;width:calc(100% - 48px);max-width:1180px;margin:0 auto;padding:36px 38px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:32px;border:1px solid #30464e;border-radius:24px;background:linear-gradient(135deg,rgba(18,39,45,.98),rgba(9,19,22,.98));box-shadow:0 24px 60px rgba(0,0,0,.2);overflow:hidden}
.it-partner-strip:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(#d6ba79 0 32%,#698f89 32% 70%,#9b7244 70%)}
.it-partner-lead h2{max-width:760px;margin:4px 0 14px;font-family:"Fraunces",Georgia,serif;font-size:clamp(30px,3vw,44px);font-weight:300;line-height:1.08;letter-spacing:-.025em}
.it-partner-lead>p:last-child{max-width:760px;margin:0;color:#c5d0d2;line-height:1.65}
.it-partner-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:start}
.it-partner-capabilities span{min-height:55px;display:flex;align-items:center;padding:11px 13px;border:1px solid rgba(214,186,121,.2);border-radius:12px;background:rgba(214,186,121,.06);color:#e2e7e8;font-size:12px;font-weight:750;line-height:1.25}
.it-partner-promise{grid-column:1/-1;margin:0;padding-top:19px;border-top:1px solid #30464e;color:#c5d0d2;font-size:14px}
.it-partner-promise strong{color:var(--accent-strong)}
.document-section{position:relative;padding-top:68px}
.document-heading{align-items:start}
.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.document-card{position:relative;min-width:0;min-height:330px;padding:27px 25px 23px 33px;display:flex;flex-direction:column;border:1px solid #30434b;border-radius:22px;background:linear-gradient(152deg,rgba(20,34,39,.98),rgba(9,18,21,.98));box-shadow:0 20px 52px rgba(0,0,0,.22);overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s}
.document-card:hover{transform:translateY(-3px);border-color:rgba(214,186,121,.58);box-shadow:0 26px 62px rgba(0,0,0,.3)}
.document-spine{position:absolute;inset:0 auto 0 0;width:10px;display:grid;grid-template-rows:1fr 1.35fr .75fr;background:#172a30}
.document-spine span:nth-child(1){background:#b68545}
.document-spine span:nth-child(2){background:#577a76}
.document-spine span:nth-child(3){background:#7f6540}
.document-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:34px}
.document-number{font-family:"Fraunces",Georgia,serif;color:var(--accent);font-size:28px;line-height:1}
.document-type{color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.document-copy{flex:1}
.document-copy h3{margin:0;overflow-wrap:anywhere;font-family:"Fraunces",Georgia,serif;font-size:26px;font-weight:300;line-height:1.08;letter-spacing:-.025em}
.document-copy p{margin:15px 0 0;color:#bec9cc;font-size:14px;line-height:1.55}
.document-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.document-open,.document-download{min-height:44px;padding:0 15px;font-size:12px}
.document-manage{width:100%;margin-top:12px}
.document-empty{min-height:190px;display:grid;place-content:center;gap:6px;padding:30px;border:1px dashed #405159;border-radius:22px;text-align:center;color:var(--muted)}
.document-empty strong{color:var(--text);font-size:18px}

@media (max-width:900px){
  .it-partner-strip{width:calc(100% - 32px);grid-template-columns:1fr}
  .it-partner-promise{grid-column:1}
  .it-partner-capabilities{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:620px){
  .it-partner-strip{width:calc(100% - 24px);padding:26px 19px 23px 25px;gap:22px;border-radius:18px}
  .it-partner-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .it-partner-lead h2{font-size:29px}
  .it-partner-lead>p:last-child{font-size:15px;line-height:1.55}
  .it-partner-capabilities span{min-height:54px;padding:9px 10px;font-size:11px}
  .it-partner-promise{padding-top:17px;font-size:13px}
}

/* Admin-Logs */
.audit-source-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 32px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#081113}.audit-source-switch a{min-width:145px;padding:10px 18px;border-radius:999px;color:var(--muted);text-align:center;text-decoration:none;font-weight:750}.audit-source-switch a.is-active{background:#283239;color:var(--text);box-shadow:0 8px 20px rgba(0,0,0,.2)}.audit-toolbar{display:flex;flex-wrap:wrap;gap:9px}.audit-integrity{margin:0 0 14px;padding:9px 12px;border-radius:10px;font-size:12px}.audit-integrity.is-ok{background:rgba(98,201,149,.08);color:#8de0b4}.audit-integrity.is-error{background:rgba(230,111,99,.1);color:#ff9b91}
.audit-intro{max-width:780px}.audit-detail-toggle{display:inline-flex;align-items:center;min-height:42px;margin-top:15px;padding:0 15px;border:1px solid rgba(214,186,121,.35);border-radius:999px;color:var(--accent);font-size:13px;font-weight:750;text-decoration:none}.audit-detail-toggle:hover,.audit-detail-toggle:focus-visible{background:rgba(214,186,121,.1);border-color:var(--accent)}.audit-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0 18px}.audit-overview>div{position:relative;overflow:hidden;padding:22px 24px;border:1px solid rgba(214,186,121,.2);border-radius:18px;background:linear-gradient(145deg,rgba(22,37,43,.98),rgba(8,18,21,.98));box-shadow:0 18px 48px rgba(0,0,0,.16)}.audit-overview>div:after{content:"";position:absolute;right:-26px;top:-34px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(214,186,121,.15),transparent 68%)}.audit-overview span,.audit-overview small{display:block;color:var(--muted)}.audit-overview span{font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.audit-overview strong{display:block;margin:5px 0 1px;color:var(--accent);font-family:var(--heading);font-size:36px;line-height:1}.audit-overview small{font-size:12px}
.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:18px 0 28px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(10,20,24,.8)}
.audit-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 0}.audit-presets>span{margin-right:4px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.audit-presets a{padding:8px 13px;border:1px solid #344750;border-radius:999px;background:rgba(8,17,19,.72);color:var(--muted);font-size:13px;font-weight:750;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.audit-presets a:hover{border-color:#54727f;color:var(--text);transform:translateY(-1px)}.audit-presets a.is-active{border-color:rgba(96,195,184,.55);background:rgba(65,145,137,.18);color:#a7ece4;box-shadow:inset 0 0 0 1px rgba(96,195,184,.08)}.audit-presets a:focus-visible{outline:2px solid #8de0d6;outline-offset:3px}
.audit-data-credit{margin:22px 2px 0;color:#62727a;font-size:10px;text-align:right}.audit-data-credit a{color:inherit}
.audit-filters label{display:grid;min-width:0;gap:7px;font-size:13px;font-weight:750}.audit-filters input,.audit-filters select{width:100%;min-width:0;max-width:100%;min-height:44px;padding:0 12px;border:1px solid #344750;border-radius:11px;background:#081113;color:var(--text);color-scheme:dark}.audit-filters>.primary-button{width:100%}
.audit-filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.audit-filter-actions .primary-button{width:100%}.audit-reset-button{display:flex;min-height:44px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #344750;border-radius:11px;color:var(--muted);font-size:13px;font-weight:750;text-align:center;text-decoration:none}.audit-reset-button:hover{border-color:#54727f;color:var(--text)}.audit-reset-button:focus-visible{outline:2px solid #8de0d6;outline-offset:3px}
.audit-count{color:var(--muted)}.audit-list{display:grid;gap:12px}.audit-entry{padding:18px 20px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,rgba(14,28,33,.96),rgba(8,17,20,.96));box-shadow:0 12px 30px rgba(0,0,0,.12);transition:border-color .2s,transform .2s}.audit-entry:hover{transform:translateY(-1px);border-color:rgba(214,186,121,.24)}.audit-entry-main{display:flex;gap:13px;align-items:center}.audit-event-mark{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#d6ba79;box-shadow:0 0 0 6px rgba(214,186,121,.09)}.audit-entry.is-success .audit-event-mark{background:#62c995;box-shadow:0 0 0 6px rgba(98,201,149,.09)}.audit-entry-main>div{display:grid;gap:2px}.audit-entry time{color:var(--muted);font-size:12px}.audit-entry strong{font-size:16px}.audit-result{margin-left:auto;padding:6px 10px;border:1px solid rgba(214,186,121,.22);border-radius:999px;color:var(--accent);font-size:12px}.audit-entry.is-success .audit-result{border-color:rgba(98,201,149,.22);color:#8de0b4}.audit-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0 23px}.audit-meta span{padding:4px 9px;border-radius:999px;background:#17272d;color:#cbd7db;font-size:12px}.audit-entry details{margin:13px 0 0 23px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.audit-entry summary{cursor:pointer;color:var(--accent);font-size:13px}.audit-entry dl{display:grid;gap:7px;margin:12px 0 0}.audit-entry dl div{display:grid;grid-template-columns:140px 1fr;gap:12px}.audit-entry dt{color:var(--muted)}.audit-entry dd{margin:0;overflow-wrap:anywhere}
@media(max-width:1100px){.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-actions{grid-column:1/-1}}
@media(max-width:760px){.audit-overview{grid-template-columns:1fr}.audit-overview>div{padding:18px 20px}.audit-presets{gap:7px}.audit-presets>span{flex-basis:100%;margin-bottom:2px}.audit-presets a{flex:1 1 auto;text-align:center}.audit-filters{grid-template-columns:minmax(0,1fr)}.audit-filters label,.audit-filters input,.audit-filters select{min-width:0;max-width:100%}.audit-filter-actions{grid-template-columns:1fr}.audit-entry-main{align-items:flex-start;flex-wrap:wrap}.audit-result{margin-left:23px}.audit-entry dl div{grid-template-columns:1fr;gap:2px}}
.audit-meta a{padding:4px 9px;border-radius:999px;background:#17272d;color:var(--accent);font-size:12px;text-decoration:none}

.document-section+.upload-section{padding-top:58px}
.document-section+.upload-section .upload-layout{grid-template-columns:minmax(0,720px)}

.upload-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.upload-section .section-heading{grid-template-columns:1fr;gap:14px;align-items:start}
.upload-section .section-heading>p{max-width:780px;margin:0}
.upload-card{min-width:0;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(20,33,40,.96),rgba(12,22,25,.94));box-shadow:0 18px 50px rgba(0,0,0,.18)}
.upload-kicker{margin:0 0 6px;color:var(--accent);font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.upload-card h3{margin:0;font-size:25px;line-height:1.2}
.upload-intro{margin:10px 0 24px;color:var(--muted)}
.upload-form>label{display:block;margin:18px 0 8px;font-size:14px;font-weight:750}
.upload-form>label span{color:var(--muted);font-weight:400}
.upload-form select,.upload-form textarea,.file-input{width:100%;border:1px solid #344750;border-radius:13px;background:#081113;color:var(--text);outline:0;transition:border-color .2s,box-shadow .2s}
.upload-form select{min-height:50px;padding:0 14px}
.upload-form textarea{resize:vertical;min-height:112px;padding:13px 14px;line-height:1.45}
.upload-form select:focus,.upload-form textarea:focus,.file-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.file-input{min-height:54px;padding:7px;color:var(--muted);font-size:13px}
.file-input::file-selector-button{min-height:38px;margin-right:10px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--panel-light);color:var(--text);cursor:pointer;font-weight:700}
.upload-help{margin:8px 0 0;color:var(--muted);font-size:12px}
.upload-submit{width:100%;margin-top:20px;cursor:pointer}
.upload-feedback{margin:20px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:14px}
.upload-feedback.is-success{border-color:rgba(136,202,173,.48);background:rgba(136,202,173,.08);color:#c9f0db}
.upload-feedback.is-error{border-color:rgba(255,180,168,.38);background:rgba(255,180,168,.07);color:var(--danger)}
.upload-list-card{padding:0;overflow:hidden}
.upload-list-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;border-bottom:1px solid var(--line)}
.upload-list-heading>span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap}
.upload-empty{min-height:250px;display:grid;place-content:center;text-align:center;padding:30px;color:var(--muted)}
.upload-empty p{margin:0 0 6px;color:var(--text);font-size:18px;font-weight:700}
.upload-empty span{font-size:14px}
.upload-list{max-height:720px;overflow:auto;scrollbar-color:var(--accent) transparent}
.upload-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 28px;border-bottom:1px solid var(--line)}
.upload-item:last-child{border-bottom:0}
.upload-category{display:inline-flex;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:rgba(214,186,121,.1);color:var(--accent-strong);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.upload-item h4{margin:0;overflow-wrap:anywhere;font-size:16px;line-height:1.3}
.upload-item-copy>p{margin:5px 0 0;color:var(--muted);font-size:12px}
.upload-item blockquote{margin:11px 0 0;padding-left:12px;border-left:2px solid rgba(214,186,121,.5);color:#cad2d5;font-size:13px;white-space:normal}
.upload-download{white-space:nowrap}
.upload-item-actions{display:grid;justify-items:end;gap:8px}
.upload-manage{width:min(300px,38vw);border:1px solid var(--line);border-radius:12px;background:#0a1417;overflow:hidden}
.upload-manage summary{padding:10px 12px;color:var(--accent-strong);cursor:pointer;font-size:12px;font-weight:750;text-align:center}
.upload-manage[open] summary{border-bottom:1px solid var(--line)}
.upload-edit-form,.archive-form{display:grid;gap:12px;padding:14px}
.upload-edit-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.upload-edit-form select,.upload-edit-form textarea{width:100%;border:1px solid #344750;border-radius:10px;background:#081113;color:var(--text);outline:0}
.upload-edit-form select{min-height:42px;padding:0 10px}
.upload-edit-form textarea{padding:10px;resize:vertical}
.compact-button{min-height:42px;padding:0 14px;font-size:12px;cursor:pointer}
.archive-form{border-top:1px solid var(--line)}
.archive-form p{margin:0;color:var(--muted);font-size:11px}
.archive-button{min-height:40px;border:1px solid rgba(255,180,168,.35);border-radius:999px;background:rgba(255,180,168,.07);color:var(--danger);cursor:pointer;font-size:12px;font-weight:750}
.material-feedback{grid-column:2/-1;min-width:0;margin-top:2px;padding:16px;border:1px solid rgba(214,186,121,.28);border-radius:14px;background:rgba(7,15,17,.72)}
.material-feedback-form{display:grid;gap:13px}
.material-feedback-form fieldset{min-width:0;margin:0;padding:0;border:0}
.material-feedback-form legend,.material-feedback-kicker{margin:0 0 10px;color:var(--accent-strong);font-size:13px;font-weight:750}
.material-rating-scale{display:grid;grid-template-columns:repeat(10,minmax(38px,1fr));gap:6px}
.material-rating-scale input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.material-rating-scale label{display:grid;place-items:center;min-height:44px;border:1px solid #344750;border-radius:10px;background:#0b171b;color:var(--muted);cursor:pointer;font-size:14px;font-weight:800;transition:border-color .16s,background .16s,color .16s,transform .16s}
.material-rating-scale label:hover{border-color:rgba(214,186,121,.65);color:var(--text);transform:translateY(-1px)}
.material-rating-scale input:focus-visible+label{outline:2px solid var(--accent-strong);outline-offset:2px}
.material-rating-scale input:checked+label{border-color:var(--accent-strong);background:rgba(214,186,121,.22);color:#fff3d2;box-shadow:inset 0 0 0 1px rgba(214,186,121,.18)}
.material-rating-labels{display:flex;justify-content:space-between;gap:16px;margin-top:7px;color:var(--muted);font-size:10px}
.material-feedback-form>label{color:var(--text);font-size:12px;font-weight:750}
.material-feedback-form>label span{color:var(--muted);font-weight:400}
.material-feedback-form textarea{width:100%;min-height:76px;padding:10px 11px;border:1px solid #344750;border-radius:10px;background:#081113;color:var(--text);outline:0;resize:vertical;line-height:1.45}
.material-feedback-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.material-feedback-form .primary-button{justify-self:start;cursor:pointer}
.material-feedback.is-team-view{padding:14px 16px}
.material-feedback-empty{margin:0;color:var(--muted);font-size:13px}
.material-feedback-result{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.material-feedback-result+.material-feedback-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.material-feedback-result>strong{display:flex;align-items:baseline;color:var(--accent-strong);font-family:var(--heading);font-size:28px;line-height:1}
.material-feedback-result>strong span{margin-left:2px;color:var(--muted);font-family:"Inter Tight",Arial,sans-serif;font-size:12px}
.material-feedback-result p{margin:0 0 5px;color:var(--muted);font-size:11px}
.material-feedback-result blockquote{margin:0;padding-left:10px;font-size:13px}
.material-feedback-result div>span{color:var(--muted);font-size:12px}
@media (max-width:1100px){.material-rating-scale{grid-template-columns:repeat(5,minmax(44px,1fr))}}
.team-identity{border-color:rgba(214,186,121,.38)}

.conversation-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px;align-items:start}
.conversation-thread{min-height:430px;max-height:760px;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(12,23,27,.98),rgba(8,16,18,.96));scrollbar-color:var(--accent) transparent}
.conversation-empty{min-height:360px;display:grid;place-content:center;text-align:center;color:var(--muted)}
.conversation-empty strong{color:var(--text);font-size:20px}
.conversation-empty span{margin-top:6px}
.message-bubble{width:min(82%,680px);padding:16px 18px;border:1px solid var(--line);border-radius:18px 18px 18px 5px;background:#142128;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.message-bubble.is-team{align-self:flex-start;border-color:rgba(214,186,121,.36);border-radius:6px 18px 18px 18px;background:linear-gradient(145deg,rgba(214,186,121,.15),rgba(28,36,35,.98))}
.message-bubble header{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:8px}
.message-bubble header strong{font-size:14px}
.message-bubble time{color:var(--muted);font-size:11px;white-space:nowrap}
.message-bubble p{margin:0;color:#d8dfe1;white-space:normal;overflow-wrap:anywhere}
.conversation-panel{display:grid;gap:18px}
.conversation-panel>*,.message-form{min-width:0}
.message-form,.identity-summary,.notification-settings{padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(20,33,40,.96),rgba(12,22,25,.94))}
.message-form h2,.message-form h3{margin:0 0 8px;font-size:25px;line-height:1.2}
.message-form>label:not(.checkbox-row){display:block;margin:16px 0 7px;font-size:14px;font-weight:750}
.message-form label span{color:var(--muted);font-weight:400}
.message-form input[type="text"],.message-form input[type="email"],.message-form textarea{width:100%;border:1px solid #344750;border-radius:13px;background:#081113;color:var(--text);outline:0;transition:border-color .2s,box-shadow .2s}
.message-form input[type="text"],.message-form input[type="email"]{min-height:50px;padding:0 14px}
.message-form textarea{min-height:124px;padding:13px 14px;resize:vertical;line-height:1.5}
.message-form input:focus,.message-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.message-form .primary-button{width:100%;margin-top:18px;cursor:pointer}
.checkbox-row{display:flex;min-height:44px;align-items:center;gap:10px;margin:16px 0;color:#cbd4d6;font-size:13px;cursor:pointer}
.checkbox-row input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--accent)}
.identity-summary{display:grid;gap:3px}
.identity-summary span,.identity-summary small{color:var(--muted)}
.identity-summary strong{font-family:"Fraunces",Georgia,serif;font-size:32px;font-weight:300}
.notification-settings{padding:0;overflow:hidden}
.notification-settings summary{padding:18px 22px;cursor:pointer;font-weight:750}
.notification-settings[open] summary{border-bottom:1px solid var(--line)}
.notification-settings .message-form{border:0;border-radius:0;background:transparent}
.questions-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px;align-items:start}
.question-list{display:grid;gap:14px;min-width:0}
.question-list-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 6px}
.question-list-summary strong{font-size:18px}
.question-list-summary span{color:var(--muted);font-size:13px}
.question-card,.question-empty{padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(16,29,34,.98),rgba(9,18,20,.96));box-shadow:0 14px 38px rgba(0,0,0,.14)}
.question-card{transition:border-color .2s,background .2s}
.question-card.is-completed{border-color:rgba(136,202,173,.32);background:linear-gradient(145deg,rgba(24,43,40,.82),rgba(10,21,21,.96))}
.question-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.question-card-header time{color:var(--muted);font-size:11px;white-space:nowrap}
.question-status{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border:1px solid rgba(214,186,121,.38);border-radius:999px;background:rgba(214,186,121,.09);color:var(--accent-strong);font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.question-card.is-completed .question-status{border-color:rgba(136,202,173,.4);background:rgba(136,202,173,.1);color:#c9f0db}
.question-card h3{margin:0;font-size:21px;line-height:1.42;overflow-wrap:anywhere}
.question-meta{margin:9px 0 0;color:var(--muted);font-size:12px}
.question-answer-view,.question-awaiting{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(5,13,15,.55)}
.question-answer-view span,.question-answer-view small{color:var(--muted);font-size:12px}
.question-answer-view p{margin:8px 0;color:#dce3e5;overflow-wrap:anywhere}
.question-answer-view small{display:block;margin-top:10px}
.question-awaiting{color:var(--muted);font-size:14px}
.question-answer-form{display:grid;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.question-answer-form>label:first-of-type{margin-bottom:7px;font-size:14px;font-weight:750}
.question-answer-form textarea{width:100%;min-height:112px;padding:13px 14px;border:1px solid #344750;border-radius:13px;background:#081113;color:var(--text);outline:0;resize:vertical;line-height:1.5;transition:border-color .2s,box-shadow .2s}
.question-answer-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.question-answer-form .primary-button{justify-self:start;margin-top:2px;cursor:pointer}
.question-completed{margin:14px 0}
.question-empty{min-height:220px;display:grid;place-content:center;text-align:center;color:var(--muted)}
.question-empty strong{color:var(--text);font-size:20px}
.question-empty span{margin-top:6px}
.questions-panel{position:sticky;top:104px;display:grid;gap:18px;min-width:0}
.question-help small{margin-top:8px;line-height:1.5}
.team-main{min-height:100vh}
.team-hero{padding-bottom:54px}
.team-hero .hero-copy h1{font-size:clamp(48px,7vw,88px)}
.team-page .conversation-section{padding-top:42px}
.notify-form{margin-top:0}

.download-note{width:var(--content);margin:36px auto 96px;padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;border:1px solid rgba(214,186,121,.28);border-radius:var(--radius);background:linear-gradient(130deg,rgba(214,186,121,.09),rgba(19,31,37,.75))}
.download-note h2{font-size:clamp(36px,5vw,58px)}
.download-note-actions>p{margin:0;color:#c3cccf;font-size:18px}
.download-note-actions{display:grid;gap:22px}
.bundle-button{width:auto;justify-self:start;padding-inline:24px}
.portal-footer{width:var(--content);margin:0 auto;padding:28px 0 40px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.portal-footer a{display:inline-flex;min-height:44px;align-items:center;color:var(--text)}

.lightbox{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:24px;border:0;background:rgba(2,6,7,.9);color:var(--text);backdrop-filter:blur(14px);overscroll-behavior:contain}
.lightbox::backdrop{background:rgba(0,0,0,.74)}
.lightbox-shell{position:relative;width:min(1500px,100%);height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center}
.lightbox-close{position:absolute;z-index:4;right:0;top:0;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(5,10,12,.85);cursor:pointer;font-size:30px;line-height:1}
.lightbox-nav{position:absolute;z-index:2;top:50%;width:52px;height:72px;translate:0 -50%;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,10,12,.82);cursor:pointer;font-size:38px;line-height:1;backdrop-filter:blur(8px)}
.lightbox-prev{left:0}
.lightbox-next{right:0}
.lightbox-image-wrap{min-height:0;flex:1;overflow:hidden;padding:42px 0 18px;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
.lightbox-image-stage{width:100%;min-height:100%;display:grid;place-items:center}
.lightbox-image-wrap img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);aspect-ratio:auto;object-fit:contain;border-radius:12px;background:radial-gradient(circle at center,#152126,#05090a 70%);box-shadow:0 24px 90px rgba(0,0,0,.55);cursor:zoom-in;transition:opacity .18s}
.lightbox-image-wrap img.is-loading{opacity:.45}
.lightbox-image-wrap.is-zoomed{overflow:auto;touch-action:pan-x pan-y;scrollbar-color:var(--accent) rgba(255,255,255,.06)}
.lightbox-image-wrap.is-zoomed .lightbox-image-stage{width:200%;min-height:100%}
.lightbox-image-wrap.is-zoomed img{width:100%;max-width:none;max-height:none;cursor:zoom-out}
.lightbox-copy{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0}
.lightbox-copy h2{margin:0;font-size:24px}
.lightbox-copy p{margin:5px 0 0;color:var(--muted);font-size:14px}
.lightbox-copy .download-button{width:auto;min-width:220px}
.lightbox-lighting-bar{position:absolute;z-index:4;left:0;right:180px;top:0;min-height:48px;display:flex;align-items:center;gap:12px}.lightbox-lighting-bar>span{flex:none;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.lightbox-lighting-bar>div{display:flex;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}.lightbox-lighting-bar button{min-height:40px;padding:0 13px;flex:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,10,12,.84);color:var(--muted);cursor:pointer;font-size:11px;font-weight:750;backdrop-filter:blur(8px)}.lightbox-lighting-bar button:hover,.lightbox-lighting-bar button.is-active{border-color:var(--accent);background:rgba(214,186,121,.16);color:var(--text)}
.lightbox-lighting-feedback{position:absolute;z-index:3;right:0;bottom:76px;width:min(390px,calc(100% - 24px));max-height:min(430px,65vh);padding:10px;overflow:auto;border:1px solid rgba(214,186,121,.3);border-radius:19px;background:rgba(5,12,14,.91);box-shadow:0 20px 60px rgba(0,0,0,.48);backdrop-filter:blur(16px)}.lightbox-lighting-feedback .lighting-feedback-card{background:rgba(10,19,22,.95)}

:focus-visible{outline:3px solid var(--accent-strong);outline-offset:3px}

@media (max-width:1080px){
  .portal-header{flex-wrap:wrap}
  .portal-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding-top:9px;border-top:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
}

@media (max-width:900px){
  :root{--content:min(100% - 32px,1180px)}
  .project-hero{grid-template-columns:1fr;gap:40px;padding:88px 0 64px}
  .project-facts{max-width:520px}
  .section-heading{grid-template-columns:1fr;gap:16px}
  .video-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .upload-layout{grid-template-columns:1fr}
  .document-grid{grid-template-columns:1fr}
  .conversation-layout{grid-template-columns:1fr}
  .questions-layout{grid-template-columns:1fr}
  .questions-panel{position:static}
  .download-note{grid-template-columns:1fr;gap:24px}
}

@media (max-width:620px){
  :root{--content:calc(100% - 24px)}
  .login-shell{padding:12px}
  .login-card{padding:28px 22px;border-radius:22px}
  .brand-login{margin-bottom:46px}
  .login-copy{font-size:16px}
  .portal-header{top:8px;margin-top:8px;min-height:62px;border-radius:18px}
  .portal-header .brand span,.secure-label{display:none}
  .account-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-actions{gap:8px}
  .portal-nav{margin-top:8px;padding-bottom:2px}
  .portal-nav a{flex:none;min-height:36px;padding-inline:9px}
  .logout-link{padding:9px 12px}
  .project-hero{padding-top:70px}
  .hero-copy h1{font-size:clamp(44px,14vw,64px);overflow-wrap:anywhere}
  .hero-copy>p:last-child{font-size:17px}
  .content-section{padding:58px 0}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-card-copy{padding:15px}
  .upload-card{padding:22px}
  .document-card{min-height:0;padding:23px 20px 21px 29px}
  .document-card-head{margin-bottom:24px}
  .document-copy h3{font-size:23px}
  .document-actions{display:grid;grid-template-columns:1fr}
  .document-open,.document-download{width:100%;justify-content:center}
  .upload-list-card{padding:0}
  .upload-list-heading{padding:22px}
  .upload-item{grid-template-columns:1fr;padding:18px 22px}
  .upload-item-actions{width:100%;justify-items:stretch}
  .upload-manage{width:100%}
  .upload-download{width:100%;justify-content:center}
  .conversation-thread{min-height:360px;max-height:620px;padding:14px}
  .message-bubble{width:94%;padding:14px}
  .message-bubble header{align-items:flex-start;flex-direction:column;gap:2px}
  .message-form,.identity-summary{padding:20px}
  .question-card,.question-empty{padding:20px}
  .question-card-header{align-items:flex-start;flex-direction:column;gap:8px}
  .question-answer-form .primary-button{width:100%}
  .filter-bar{flex-wrap:nowrap;overflow-x:auto;padding:0 2px 8px;scrollbar-width:thin}
  .filter-bar{scrollbar-color:var(--accent) transparent}
  .filter-button{flex:none}
  .download-note{padding:26px;margin-bottom:64px}
  .portal-footer{flex-direction:column;padding-bottom:28px}
  .lightbox{padding:12px}
  .lightbox-copy{align-items:stretch;flex-direction:column}
  .lightbox-copy .download-button{width:100%}
  .lightbox-image-wrap img{max-height:calc(100vh - 240px);max-height:calc(100dvh - 240px)}
  .lightbox-nav{top:50%;bottom:auto;width:48px;height:48px;translate:0 -50%}
  .lightbox-prev{left:4px}
  .lightbox-next{right:4px}
  .bundle-button{width:100%;justify-self:stretch}
}

/* ================================================================
   Klickbare Website-Vorschläge (Cosmetiic)
   ================================================================ */
.website-preview-section{background:transparent}
.website-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.website-preview-card{
  min-height:430px;padding:30px;display:flex;flex-direction:column;gap:24px;
  border:1px solid var(--line);border-radius:22px;background:#eaded3;color:#473a33;
  box-shadow:0 20px 50px rgba(0,0,0,.1)
}
.website-preview-card.preview-tone-2{background:#e5eeeb;color:#24312f}
.website-preview-card.preview-tone-3{background:#28302f;color:#f6eee6}
.website-preview-number{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.website-preview-card>div:nth-child(2){margin-top:auto}
.website-preview-card h3{margin:0 0 14px;font-family:Fraunces,Georgia,serif;font-size:36px;font-weight:450;line-height:1}
.website-preview-card p{margin:0;line-height:1.65;opacity:.78}
.website-preview-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.website-preview-card .website-open-button,.wordpress-download-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 18px;border-radius:999px;font-size:13px;font-weight:800;line-height:1;text-align:center;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}
.website-preview-card .website-open-button:hover,.wordpress-download-button:hover{transform:translateY(-1px)}
.website-preview-card.preview-tone-1 .website-open-button{border-color:#4e3d34;background:#4e3d34;color:#fffaf6}
.website-preview-card.preview-tone-1 .website-open-button:hover{background:#362a24;border-color:#362a24}
.website-preview-card.preview-tone-2 .website-open-button{border-color:#294a43;background:#294a43;color:#f7fffc}
.website-preview-card.preview-tone-2 .website-open-button:hover{background:#183630;border-color:#183630}
.website-preview-card.preview-tone-3 .website-open-button{border-color:#eaded3;background:#eaded3;color:#28302f}
.website-preview-card.preview-tone-3 .website-open-button:hover{background:#fff7f0;border-color:#fff7f0}
.wordpress-download-button{border:1px solid currentColor;background:transparent;color:inherit}
.preview-tone-1 .wordpress-download-button{color:#604d43}
.preview-tone-2 .wordpress-download-button{color:#31544d}
.preview-tone-3 .wordpress-download-button{color:#eee3da}
.website-download-note{margin:24px 0 0;padding:18px 20px;border:1px solid rgba(214,186,121,.28);border-radius:16px;background:rgba(214,186,121,.06);color:var(--muted);line-height:1.55}
.website-download-note strong{color:var(--text)}
.website-preview-links{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;font-weight:750}
.website-preview-links a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(128,128,128,.5)}
.website-preview-links a:hover{color:var(--accent)}
.website-choice-panel{margin-top:24px;padding:clamp(24px,4vw,42px);display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(26px,5vw,70px);border:1px solid var(--line);border-radius:22px;background:var(--bg-soft);box-shadow:0 18px 45px rgba(0,0,0,.08)}
.website-choice-copy h3{margin:0 0 14px;font-family:Fraunces,Georgia,serif;font-size:clamp(30px,3vw,44px);font-weight:450;line-height:1.08}
.website-choice-copy>p:last-child{margin:0;color:var(--muted);line-height:1.65}
.website-choice-results{display:grid;gap:12px}
.website-choice-results article,.website-choice-empty{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.website-choice-results article{display:grid;gap:8px}
.website-choice-results article>span{width:max-content;padding:6px 10px;border-radius:999px;background:rgba(214,186,121,.12);color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.website-choice-results article>strong{font-size:18px}
.website-choice-results article>p{margin:0;color:var(--muted);line-height:1.6}
.website-choice-empty{display:grid;gap:5px;color:var(--muted)}
.website-choice-empty strong{color:var(--text)}
.website-choice-form{display:grid;gap:16px}
.website-choice-form fieldset{margin:0;padding:0;border:0}
.website-choice-form legend,.website-choice-form>label{display:block;margin:0 0 9px;font-size:13px;font-weight:800}
.website-choice-form>label span{color:var(--muted);font-weight:600}
.website-choice-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.website-choice-options label{cursor:pointer;display:block}
.website-choice-options input{position:absolute;opacity:0;pointer-events:none}
.website-choice-options label>span{min-height:78px;padding:14px;display:grid;align-content:center;gap:4px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--muted);transition:border-color .2s,transform .2s,background .2s,box-shadow .2s}
.website-choice-options label>span strong{color:var(--text);font-size:18px}
.website-choice-options label:hover>span{transform:translateY(-1px);border-color:var(--accent)}
.website-choice-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.website-choice-options input:checked+span{border-color:var(--accent);background:rgba(214,186,121,.12);box-shadow:0 0 0 2px var(--accent)}
.website-choice-form textarea{width:100%;min-height:120px;padding:14px 16px;resize:vertical;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);line-height:1.55}
.website-choice-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.website-choice-form .primary-button{justify-self:start}
@media (max-width:980px){.website-preview-grid{grid-template-columns:1fr}.website-preview-card{min-height:350px}}
@media (max-width:980px){.website-choice-panel{grid-template-columns:1fr}}
@media (max-width:620px){.website-preview-card{min-height:330px;padding:25px}.website-preview-card h3{font-size:32px}.website-preview-actions{align-items:stretch;flex-direction:column}.website-preview-card .website-open-button,.wordpress-download-button{width:100%}.website-choice-options{grid-template-columns:1fr}.website-choice-options label>span{min-height:64px}.website-choice-form .primary-button{width:100%}}

@media (hover:none){
  .gallery-card:hover{transform:none;box-shadow:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ================================================================
   Neue Bausteine ab 11.08.2026
   Mehrprojekt-Kundenbereich: Kopfzeile, Projektauswahl, Verwaltung,
   Datenschutz und die erweiterte Projektablage.
   ================================================================ */

/* --- Kopfzeile in zwei Ebenen ------------------------------------ */
.portal-header{flex-direction:column;align-items:stretch;gap:0;padding:10px 16px}
.portal-header-main{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}
.header-project{flex:1;min-width:0;margin:0;overflow:hidden;color:var(--muted);font-size:13px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.portal-nav{justify-content:flex-start;margin-top:8px;padding-top:8px;border-top:1px solid rgba(80,100,110,.34);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
.portal-nav a{gap:7px;padding:0 12px;font-size:13px}
.portal-nav a.is-current{background:rgba(214,186,121,.14);color:var(--text)}
.nav-count{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:rgba(214,186,121,.16);color:var(--accent-strong);font-size:11px;font-weight:750}
.account-label.is-team{border-color:rgba(136,202,173,.42);background:rgba(136,202,173,.1);color:#c9f0db}
.switch-link{display:inline-flex;min-height:34px;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}
.switch-link:hover{border-color:var(--accent);color:var(--text)}
.environment-switch{display:inline-flex;min-height:44px;align-items:center;gap:6px;padding:0 9px;border:1px solid rgba(136,202,173,.32);border-radius:999px;background:rgba(136,202,173,.07);color:var(--muted);text-decoration:none;white-space:nowrap;transition:border-color .2s,background .2s,box-shadow .2s}
.environment-switch:hover{border-color:rgba(214,186,121,.68);background:rgba(214,186,121,.1);box-shadow:0 0 0 3px rgba(214,186,121,.08)}
.environment-label{font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;transition:color .2s}
.environment-switch.is-live .environment-label-live{color:#c9f0db}
.environment-switch.is-staging{border-color:rgba(239,119,105,.48);background:rgba(239,119,105,.09)}
.environment-switch.is-staging .environment-label-staging{color:#ffb5ac}
.environment-track{position:relative;width:40px;height:22px;flex:none;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#26363c;box-shadow:inset 0 2px 5px rgba(0,0,0,.3)}
.environment-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#c9f0db;box-shadow:0 2px 7px rgba(0,0,0,.38);transition:transform .22s ease,background .2s}
.environment-switch.is-staging .environment-thumb{transform:translateX(18px);background:#ff8f82}

/* --- Rueckmeldungen ---------------------------------------------- */
.feedback{width:var(--content);margin:22px auto 0;padding:14px 18px;border:1px solid var(--line);border-radius:14px;font-size:15px}
.feedback.is-success{border-color:rgba(136,202,173,.48);background:rgba(136,202,173,.08);color:#c9f0db}
.feedback.is-error{border-color:rgba(255,180,168,.38);background:rgba(255,180,168,.07);color:var(--danger)}
.form-note{margin:12px 0 0;color:#c9f0db;font-size:14px}

/* --- Karten mit Formular ----------------------------------------- */
.panel-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(20,33,40,.96),rgba(12,22,25,.94))}
.panel-card h3{margin:0 0 8px;font-size:24px;line-height:1.2}
.panel-card>p{margin:0 0 8px;color:var(--muted)}
.panel-card>label:not(.checkbox-row){display:block;margin:16px 0 7px;font-size:14px;font-weight:750}
.panel-card label span{color:var(--muted);font-weight:400}
.panel-card input[type="text"],.panel-card input[type="email"],.panel-card select,.panel-card textarea{width:100%;border:1px solid #344750;border-radius:13px;background:#081113;color:var(--text);outline:0;transition:border-color .2s,box-shadow .2s}
.panel-card input[type="text"],.panel-card input[type="email"],.panel-card select{min-height:50px;padding:0 14px}
.panel-card textarea{min-height:120px;padding:13px 14px;resize:vertical;line-height:1.5}
.panel-card input:focus,.panel-card select:focus,.panel-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.panel-card .primary-button{width:100%;margin-top:18px;cursor:pointer}
.name-section .panel-card{max-width:620px}

.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);cursor:pointer;font-weight:700;text-decoration:none}
.ghost-button:hover{border-color:var(--accent)}

.empty-box{min-height:180px;display:grid;place-content:center;gap:6px;padding:30px;border:1px dashed rgba(80,100,110,.55);border-radius:var(--radius);text-align:center;color:var(--muted)}
.empty-box strong{color:var(--text);font-size:19px}

/* --- Verwaltungsklappen ------------------------------------------ */
.manage-box{margin-bottom:26px;border:1px solid rgba(136,202,173,.3);border-radius:18px;background:rgba(136,202,173,.04);overflow:hidden}
.manage-box>summary{padding:14px 18px;color:#c9f0db;cursor:pointer;font-size:14px;font-weight:750}
.manage-box[open]>summary{border-bottom:1px solid rgba(136,202,173,.24)}
.manage-box .panel-card{border:0;border-radius:0;background:transparent}
.manage-inline{margin:0 17px 17px;border:1px solid var(--line);border-radius:12px;background:#0a1417;overflow:hidden}
.manage-inline>summary{padding:9px 12px;color:var(--accent-strong);cursor:pointer;font-size:12px;font-weight:750;text-align:center}
.manage-inline[open]>summary{border-bottom:1px solid var(--line)}
.inline-form{display:grid;gap:10px;padding:14px}
.inline-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.inline-form input[type="text"],.inline-form select,.inline-form textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid #344750;border-radius:10px;background:#081113;color:var(--text);outline:0}
.inline-form textarea{resize:vertical;min-height:80px}
.inline-form input:focus,.inline-form select:focus,.inline-form textarea:focus{border-color:var(--accent)}
.inline-form+.inline-form{border-top:1px solid var(--line)}
.video-card .manage-inline{margin:16px 0 0}

/* --- Projektablage: Vorschau und Dateiarten ---------------------- */
.upload-item{grid-template-columns:auto minmax(0,1fr) auto}
.upload-thumb{display:block;width:78px;height:78px;flex:none;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#050909}
.upload-thumb img{width:100%;height:100%;object-fit:cover}
.upload-badge{display:grid;place-items:center;width:78px;height:78px;flex:none;border:1px solid var(--line);border-radius:12px;background:#0a1417;color:var(--accent-strong);font-size:11px;font-weight:750;letter-spacing:.05em}
.type-help{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#0a1417;overflow:hidden}
.type-help>summary{min-height:44px;padding:10px 12px;display:flex;align-items:center;color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}
.type-help ul{margin:0;padding:12px 12px 14px 28px;color:var(--muted);font-size:11px;line-height:1.6}
.type-help strong{color:var(--text)}
.upload-form>details,.upload-form>p{margin-top:12px}

/* --- Offene Fragen ------------------------------------------------ */
.question-card.is-done{border-color:rgba(136,202,173,.32);background:linear-gradient(145deg,rgba(24,43,40,.82),rgba(10,21,21,.96))}
.question-card.is-done .question-status{border-color:rgba(136,202,173,.4);background:rgba(136,202,173,.1);color:#c9f0db}
.question-text{margin:0;font-size:19px;line-height:1.45;overflow-wrap:anywhere}
.question-answer{margin:18px 0 0;padding:16px 18px;border:0;border-left:2px solid rgba(214,186,121,.5);border-radius:0 12px 12px 0;background:rgba(5,13,15,.55);color:#dce3e5}
.question-answer cite{display:block;margin-top:10px;color:var(--muted);font-size:12px;font-style:normal}
.question-form-box{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:#0a1417;overflow:hidden}
.question-form-box>summary{padding:11px 14px;color:var(--accent-strong);cursor:pointer;font-size:13px;font-weight:750}
.question-form-box[open]>summary{border-bottom:1px solid var(--line)}
.question-team-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.question-team-actions .inline-form{padding:0}

/* Lichtprobe: eine helle Wand, auf die Licht faellt. Kein Raumbild -
   nur die Farbtemperatur, damit man sie sieht statt sie erklaert zu bekommen. */
.lichtprobe{margin:18px 0 0;padding:0;border:1px solid var(--line);border-radius:12px;background:#0a1417;overflow:hidden}
.lichtprobe-wand{--licht-hell:#ffd7ae;--licht-mitte:#c99a72;--licht-dunkel:#4a3729;position:relative;height:190px;background:#070f11}
.lichtprobe-kegel{position:absolute;inset:0;background:radial-gradient(118% 88% at 50% -8%,var(--licht-hell) 0%,var(--licht-mitte) 40%,var(--licht-dunkel) 70%,rgba(7,15,17,0) 100%);transition:background .16s linear}
.lichtprobe figcaption{padding:14px 16px 16px}
.lichtprobe figcaption>label{display:block;margin-bottom:8px;color:var(--accent-strong);font-size:13px;font-weight:750}
.lichtprobe input[type=range]{display:block;width:100%;height:28px;margin:0;accent-color:var(--accent-strong);cursor:pointer}
.lichtprobe-wert{margin:6px 0 0;font-size:15px}
.lichtprobe-wert strong{color:var(--text)}
.lichtprobe-wert span{color:var(--muted)}
.lichtprobe-hinweis{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
@media (prefers-reduced-motion:reduce){.lichtprobe-kegel{transition:none}}

/* --- Verwaltung und Projektauswahl ------------------------------- */
.admin-section{border-top-color:rgba(136,202,173,.3)}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start}
.admin-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(20,33,40,.96),rgba(12,22,25,.94))}
.admin-card h2,.admin-card h3{margin:0 0 6px;font-size:22px;line-height:1.25}
.admin-card>label:not(.checkbox-row){display:block;margin:16px 0 7px;font-size:14px;font-weight:750}
.admin-card label span{color:var(--muted);font-weight:400}
.admin-card input[type="text"],.admin-card input[type="email"],.admin-card input[type="password"],.admin-card select,.admin-card textarea{width:100%;border:1px solid #344750;border-radius:13px;background:#081113;color:var(--text);outline:0}
.admin-card input[type="text"],.admin-card input[type="email"],.admin-card input[type="password"],.admin-card select{min-height:48px;padding:0 14px}
.admin-card textarea{min-height:100px;padding:12px 14px;resize:vertical}
.admin-card input:focus,.admin-card select:focus,.admin-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(214,186,121,.13)}
.admin-card>.primary-button{width:100%;margin-top:20px;cursor:pointer}
.form-subsection{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(5,13,16,.45)}
.form-subsection>label{display:block;margin:12px 0 7px;font-size:14px;font-weight:750}
.admin-hint{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.admin-hint code{color:var(--accent-strong)}
.admin-warning{width:var(--content);margin:22px auto 0;color:var(--muted);font-size:13px}
.admin-warning code{color:var(--accent-strong)}
.warn-chip{display:inline-block;margin:8px 0 0;padding:7px 11px;border:1px solid rgba(255,180,168,.35);border-radius:999px;background:rgba(255,180,168,.07);color:var(--danger);font-size:12px;font-weight:700}
.account-row{padding:14px 0;border-top:1px solid var(--line)}
.account-name{display:grid;gap:2px;margin:0}
.account-name span{color:var(--muted);font-size:12px}

.chooser-shell{width:var(--content);margin:0 auto;padding:56px 0 80px}
.chooser-intro h1{margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(38px,6vw,68px);font-weight:300;line-height:1;letter-spacing:-.045em}
.chooser-intro>p{max-width:680px;margin:20px 0 0;color:var(--muted);font-size:17px}
.chooser-empty{margin-top:34px;display:grid;gap:6px;padding:34px;border:1px dashed rgba(80,100,110,.55);border-radius:var(--radius);text-align:center;color:var(--muted)}
.chooser-empty strong{color:var(--text);font-size:19px}
.project-list{display:grid;gap:16px;margin:34px 0 46px;padding:0;list-style:none}
.project-item{padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(20,33,40,.96),rgba(12,22,25,.94));transition:border-color .2s,transform .2s}
.project-item:hover{border-color:rgba(214,186,121,.5);transform:translateY(-2px)}
.project-open{display:grid;gap:4px;text-decoration:none}
.project-name{font-family:"Fraunces",Georgia,serif;font-size:30px;font-weight:300;letter-spacing:-.02em}
.project-slug{color:var(--accent-strong);font-size:12px}
.project-numbers{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.project-numbers div{display:flex;gap:8px;align-items:baseline;padding:7px 12px;border:1px solid var(--line);border-radius:999px}
.project-numbers dt{color:var(--muted);font-size:12px}
.project-numbers dd{margin:0;font-size:13px;font-weight:750}
.project-accounts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.account-chip{min-width:240px;border:1px solid var(--line);border-radius:12px;background:#0a1417;overflow:hidden}
.account-chip>summary{padding:9px 14px;color:var(--accent-strong);cursor:pointer;font-size:12px;font-weight:750}
.account-chip[open]>summary{border-bottom:1px solid var(--line)}

/* --- Datenschutz und Hinweisseiten ------------------------------- */
.consent-shell,.legal-shell{min-height:100vh;display:grid;place-items:start center;padding:40px 20px 80px}
.consent-card,.legal-card{width:min(760px,100%);padding:40px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(17,28,33,.96),rgba(9,18,19,.98));box-shadow:var(--shadow)}
.consent-card h1,.legal-card h1{margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(34px,6vw,54px);font-weight:300;line-height:1.02;letter-spacing:-.04em}
.consent-copy{margin:22px 0 26px;color:var(--muted);font-size:17px}
.consent-details{margin-bottom:26px;border:1px solid var(--line);border-radius:16px;background:rgba(5,13,15,.5);overflow:hidden}
.consent-details>summary{padding:15px 18px;color:var(--accent-strong);cursor:pointer;font-weight:750}
.consent-details[open]>summary{border-bottom:1px solid var(--line)}
.consent-form{display:grid;gap:4px}
.consent-form .primary-button{cursor:pointer}
.legal-text{padding:4px 18px 18px;color:#cfd7d9;font-size:15px;line-height:1.65}
.consent-details .legal-text{max-height:min(52vh,560px);overflow-y:auto}
.legal-card .legal-text{padding-inline:0}
.legal-text h3{margin:26px 0 8px;color:var(--text);font-size:17px}
.legal-text h3:first-of-type{margin-top:14px}
.legal-text p{margin:0 0 10px}
.legal-text ul{margin:0 0 10px;padding-left:20px}
.legal-text li{margin-bottom:6px}
.legal-version{margin:0 0 10px;color:var(--muted);font-size:12px}
.legal-mail{color:var(--accent-strong);word-break:break-all}
.legal-back{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.legal-back .primary-button{cursor:pointer}
.login-footer{display:flex;gap:20px;justify-content:center;margin-top:26px;color:var(--muted);font-size:13px}
.login-footer a{color:var(--muted)}
.login-footer a:hover{color:var(--text)}
.portal-footer nav{display:flex;gap:20px}

@media (max-width:900px){
  .header-project{display:none}
  .upload-item{grid-template-columns:auto minmax(0,1fr)}
  .upload-item-actions{grid-column:1/-1}
  .material-feedback{grid-column:1/-1}
}

@media (max-width:620px){
  .portal-header{padding:8px 12px}
  .switch-link{display:none}
  .feedback{font-size:14px}
  .consent-card,.legal-card{padding:26px 20px;border-radius:20px}
  .chooser-shell{padding-top:34px}
  .project-item{padding:18px}
  .project-name{font-size:25px}
  .admin-card{padding:20px}
  .account-chip{min-width:100%}
  .material-rating-scale{grid-template-columns:repeat(5,minmax(44px,1fr))}
  .material-feedback{padding:14px}
  .material-feedback-form .primary-button{width:100%}
  .material-rating-labels{font-size:9px}
}

@media (max-width:460px){
  .header-actions .account-label.is-team{display:none}
  .environment-switch{padding-inline:8px}
}

/* Direkter Sammeldownload in der Menueleiste (11.08.2026) */
.portal-nav .nav-download{margin-left:auto;border:1px solid rgba(240,209,138,.55);background:linear-gradient(180deg,rgba(214,186,121,.18),rgba(214,186,121,.07));color:var(--text)}
.portal-nav .nav-download:hover,.portal-nav .nav-download:focus-visible{border-color:var(--accent-strong);background:rgba(214,186,121,.24);color:var(--text)}
.portal-nav .nav-download .nav-count{background:rgba(8,17,19,.55);color:var(--accent-strong);font-weight:700}

@media (max-width:1080px){
  .portal-nav .nav-download{margin-left:8px}
}

/* Rueckmeldung als Einblendung unten (11.08.2026)
   Vorher stand sie ganz oben auf der Seite und war nach dem Sprung in den
   bearbeiteten Abschnitt nicht mehr zu sehen. */
.feedback{position:fixed;z-index:60;left:50%;bottom:26px;width:auto;max-width:min(560px,calc(100vw - 32px));margin:0;translate:-50% 0;padding:15px 20px;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.45);backdrop-filter:blur(14px);animation:feedback-auf .28s ease-out both}
.feedback.is-success{border-color:rgba(136,202,173,.6);background:rgba(17,38,34,.96)}
.feedback.is-error{border-color:rgba(255,180,168,.5);background:rgba(42,22,20,.96)}
.feedback.is-weg{opacity:0;translate:-50% 12px;transition:opacity .4s,translate .4s}

@keyframes feedback-auf{from{opacity:0;translate:-50% 14px}to{opacity:1;translate:-50% 0}}

@media (max-width:620px){
  .feedback{bottom:14px;padding:13px 16px}
}

@media (prefers-reduced-motion:reduce){
  .feedback{animation:none}
}

/* Nachrichten klar zuordenbar (13.08.2026)
   Empfangene Nachrichten stehen links, eigene rechts. Der Inhalt innerhalb
   jeder Blase bleibt fuer ruhiges Lesen konsequent linksbuendig. */
.message-bubble{display:flex;align-items:flex-start;gap:12px;width:min(86%,700px);padding:14px 16px}
.message-body{min-width:0;flex:1}
.message-avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;font-size:12px;font-weight:750;letter-spacing:.02em}
.message-bubble header{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-bottom:6px}
.message-bubble header strong{font-size:14px}
.message-bubble header time{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}
.message-side{padding:2px 8px;border-radius:999px;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}

/* Fremde Nachricht: links, kuehles Blau */
.message-bubble.is-other{align-self:flex-start;border-color:#2c414c;border-radius:6px 18px 18px 18px;background:linear-gradient(145deg,#16242c,#111d23)}
.message-bubble.is-other .message-avatar{border:1px solid #3a5260;background:#1d2f38;color:#bcd2dd}
.message-bubble.is-other .message-side{background:rgba(150,190,210,.14);color:#bcd2dd}

/* Eigene Nachricht: Blase rechts, Inhalt linksbuendig, weiterhin Gold */
.message-bubble.is-own{align-self:flex-end;border-color:rgba(214,186,121,.5);border-radius:18px 6px 18px 18px;background:linear-gradient(145deg,rgba(214,186,121,.17),rgba(30,34,30,.97));flex-direction:row}
.message-bubble.is-own .message-avatar{border:1px solid rgba(240,209,138,.6);background:rgba(214,186,121,.2);color:var(--accent-strong)}
.message-bubble.is-own .message-side{background:rgba(214,186,121,.2);color:var(--accent-strong)}
.message-bubble.is-own header{flex-direction:row}
.message-bubble.is-own header time{margin-left:auto;margin-right:0}
.message-bubble.is-own p{text-align:left}

.sender-hint{margin:0 0 4px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(5,13,15,.5);color:var(--muted);font-size:12px}
.sender-hint strong{color:var(--accent-strong)}

@media (max-width:620px){
  .message-bubble{width:96%;gap:10px;padding:12px 13px}
  .message-avatar{width:30px;height:30px;font-size:11px}
  .message-bubble header time{width:100%;margin:0;text-align:inherit}
}

/* ================================================================
   Handy-Feinschliff (11.08.2026)
   Eigene Seite ist nicht noetig – das Layout klappt sauber um.
   Wichtig ist nur, dass nichts Wichtiges in einer Scrollleiste
   verschwindet und alles mit dem Daumen bedienbar bleibt.
   ================================================================ */

@media (max-width:760px){
  /* Sammeldownload aus der scrollbaren Menueleiste holen und als eigene,
     immer sichtbare Zeile darunter zeigen. */
  /* Umbruch nur, wenn das Menue offen ist – siehe .is-offen weiter unten. */
  .portal-nav a{min-height:44px;padding:0 13px}
  .portal-footer{gap:14px}
  .portal-footer nav{gap:24px}
  .portal-footer a{display:inline-flex;min-height:44px;align-items:center}
  .portal-nav .nav-download{order:99;width:100%;margin:8px 0 0;justify-content:center;min-height:46px;font-size:13px}
  .portal-nav .nav-download .nav-count{background:rgba(8,17,19,.5)}

  /* Kopfzeile kompakter, mehr Platz fuer den Inhalt. */
  .portal-header{top:6px;margin-top:6px;padding:8px 10px}
  .portal-header-main{min-height:44px;gap:8px}
  .logout-link{min-height:40px;padding:0 12px;font-size:12px}
  .account-label{min-height:30px;font-size:11px}

  /* Weniger Luft, damit man weniger scrollen muss. */
  .project-hero{padding:58px 0 44px;gap:26px}
  .content-section{padding:48px 0;scroll-margin-top:130px}
  .section-heading{margin-bottom:24px}
  .download-note{margin-block:24px 56px}

  /* Alles, was man antippt, mindestens 46 px hoch. */
  .primary-button,.download-button,.ghost-button,.filter-button,
  .small-download,.archive-button,.icon-button{min-height:46px}
  .manage-box>summary,.manage-inline>summary,.upload-manage summary,
  .question-form-box>summary,.type-help>summary,.account-chip>summary,
  .consent-details>summary{min-height:46px;display:flex;align-items:center}

  /* Bilder und Videos in einer Spalte, groesser antippbar. */
  .gallery-grid{grid-template-columns:1fr;gap:14px}
  .gallery-card-copy{flex-wrap:wrap;gap:10px}
  .gallery-card-copy>div{flex:1 1 100%}
  .small-download{width:100%;justify-content:center}

  /* Formulare: Eingaben nie unter 16 px, sonst zoomt iOS beim Antippen. */
  input,select,textarea{font-size:16px}

  /* Dateiliste: Vorschau und Text nebeneinander, Aktionen darunter. */
  .upload-thumb,.upload-badge{width:58px;height:58px}

  /* Verwaltung und Projektauswahl einspaltig. */
  .admin-grid{grid-template-columns:1fr}
  .project-numbers{gap:6px}
  .project-numbers div{padding:6px 10px}

  /* Nachrichten: mehr Platz fuer den Text. */
  .conversation-thread{padding:12px}
  .message-bubble{width:100%}
  .message-bubble.is-own p{text-align:left}

  /* Grossansicht: Schliessen und Blaettern gut erreichbar. */
  .lightbox-close{width:44px;height:44px;font-size:26px}
}

@media (max-width:400px){
  .portal-header .brand span{display:none}
  .hero-copy h1{font-size:clamp(38px,12vw,52px)}
  .section-heading h2,.download-note h2{font-size:clamp(34px,11vw,46px)}
  .filter-button{font-size:13px;padding:0 13px}
}

/* Auf Geraeten ohne Maus keine Hover-Effekte, die haengen bleiben. */
@media (hover:none){
  .project-item:hover{transform:none}
  .primary-button:hover,.download-button:hover{transform:none}
}

/* ================================================================
   Ausklappbares Menü auf dem Handy (11.08.2026)
   Die offene Leiste nahm den halben Bildschirm ein. Jetzt wie auf der
   Hauptseite: ein Knopf, der das Menü bei Bedarf aufklappt.
   ================================================================ */

.nav-toggle{display:none}
.nav-nur-handy{display:none}

@media (max-width:760px){
  .nav-toggle{
    display:grid;place-content:center;gap:4px;
    width:44px;height:44px;flex:none;
    border:1px solid var(--line);border-radius:14px;
    background:rgba(255,255,255,.03);cursor:pointer;
  }
  .nav-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform .22s,opacity .18s}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  /* Menü standardmäßig zu – die Kopfzeile bleibt eine schmale Leiste. */
  .portal-nav{display:none}
  .portal-nav.is-offen{display:flex;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100vh - 130px);overflow-y:auto}
  .portal-nav.is-offen a{justify-content:space-between;width:100%;padding:0 14px;border-radius:12px}
  .portal-nav.is-offen .nav-download{order:99;margin-top:10px;justify-content:center}
  .nav-nur-handy{display:inline-flex}

  /* Abmelden und Projektwechsel wandern ins Menü. */
  .logout-link,.switch-link{display:none}
  .account-label{max-width:none}
  .header-actions{gap:10px}
}

/* ================================================================
   Menueleiste und Fragen-Zustaende (11.08.2026, nachmittags)
   ================================================================ */

/* Abmelden/Projektwechsel standen trotz .nav-nur-handy{display:none} auch am
   Rechner in der zweiten Reihe: `.portal-nav a` ist spezifischer und hat
   gewonnen. Deshalb hier mit derselben Verschachtelung dagegenhalten. */
.portal-nav .nav-nur-handy{display:none}
@media (max-width:760px){
  .portal-nav .nav-nur-handy{display:inline-flex}
}
/* "Alles herunterladen" ist immer der letzte Punkt, ganz rechts. */
.portal-nav .nav-download{order:90;margin-left:auto}
.portal-nav .nav-nur-handy{order:95}

/* Smart-Home hat viele Bereiche: am Rechner die Kopfzeile fast über die
   gesamte Fensterbreite nutzen, damit kein horizontaler Menü-Scroll nötig ist. */
@media (min-width:1081px){
  .portal-header{width:max-content;min-width:min(var(--content),calc(100% - 24px));max-width:calc(100% - 24px)}
  .portal-nav{overflow-x:visible}
}

/* Der Projektname war zu klein zum Lesen. */
.header-project{color:var(--text);font-size:17px;font-weight:750;letter-spacing:.01em}
@media (max-width:1080px){
  .header-project{font-size:15px}
}

/* --- Fragen: offen / beantwortet / geschlossen ------------------- */
.question-card.is-beantwortet{border-color:rgba(226,232,235,.26)}
.question-card.is-geschlossen{border-color:rgba(136,202,173,.32);background:linear-gradient(145deg,rgba(24,43,40,.82),rgba(10,21,21,.96))}
.question-status.is-offen{border-color:rgba(214,186,121,.38);background:rgba(214,186,121,.09);color:var(--accent-strong)}
.question-status.is-beantwortet{border-color:rgba(226,232,235,.4);background:rgba(226,232,235,.12);color:#e6ecef}
.question-status.is-geschlossen{border-color:rgba(136,202,173,.4);background:rgba(136,202,173,.1);color:#c9f0db}
.question-asker{flex:1;min-width:0;overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.question-owner-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.question-owner-actions .inline-form{padding:0}
.question-hint{margin:14px 0 0;color:var(--muted);font-size:13px}
.questions-section .filter-bar{margin-top:26px}
.filter-button .nav-count{margin-left:7px}
.question-card[hidden]{display:none}

/* Bearbeiten-Aufklapper steht neben dem Loeschen-Knopf, nicht darueber. */
.question-team-actions{align-items:flex-start}
.question-team-actions .question-form-box{flex:1 1 260px;min-width:0;margin:0}

/* Vier kurze Zustands-Knoepfe passen aufs Handy, wenn sie umbrechen duerfen.
   Eine Scrollleiste wie bei den Raumfiltern waere hier nur Zierrat. */
@media (max-width:760px){
  .questions-section .filter-bar{flex-wrap:wrap;overflow-x:visible;padding-bottom:0}
}

/* ================================================================
   Wer spricht: Kundenseite blau, LM golden (11.08.2026)
   Gleiche Zuordnung wie bei den Nachrichten - man soll auf einen Blick
   sehen, von welcher Seite eine Frage oder Antwort kommt.
   ================================================================ */
.question-card{border-left:3px solid transparent}
.question-card.von-team{border-left-color:rgba(214,186,121,.55)}
.question-card.von-customer{border-left-color:rgba(122,176,232,.7);background:linear-gradient(145deg,rgba(16,31,42,.98),rgba(9,18,24,.96))}
.question-card.von-customer .question-asker{color:#a9cdf0}
.question-card.von-team .question-asker{color:var(--accent-strong)}

.question-answer.von-team{border-left-color:rgba(214,186,121,.6)}
.question-answer.von-customer{border-left-color:rgba(122,176,232,.75);background:rgba(16,31,42,.6)}
.question-answer.von-customer cite{color:#a9cdf0}
.question-answer+.question-answer{margin-top:10px}
.question-answer.ist-rueckfrage{border-left-style:dashed}
.verlauf-marke{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}

.question-followup-box{margin-top:10px}
.question-followup-box>summary{color:var(--muted)}
.question-followup-box>summary:hover{color:var(--text)}

/* Absender als Chip mit Punkt - so sieht man die Seite auch dann, wenn der
   Zustand gerade eine aehnliche Farbe hat. */
.question-asker{display:inline-flex;flex:0 1 auto;align-items:center;gap:7px;min-height:26px;padding:0 11px;border:1px solid transparent;border-radius:999px;font-size:12px}
.question-asker::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}
.question-card.von-team .question-asker{border-color:rgba(214,186,121,.4);background:rgba(214,186,121,.1)}
.question-card.von-customer .question-asker{border-color:rgba(122,176,232,.5);background:rgba(122,176,232,.14)}
.question-card{border-left-width:4px}

/* ================================================================
   Grossansicht im Querformat (11.08.2026)
   Am Handy quer war das Bild winzig: `aspect-ratio:16/9` zusammen mit
   `max-height: 100vh - 240px` liess nur einen flachen Streifen uebrig, in den
   das Bild hineinpassen musste. Quer bekommt das Bild jetzt den ganzen
   Schirm, Titel und Download liegen als schmaler Balken darueber.
   ================================================================ */
@media (orientation:landscape) and (max-height:560px){
  .lightbox{padding:0}
  .lightbox-shell{width:100%;height:100%}
  .lightbox-image-wrap{flex:1;min-height:0;padding:0}
  .lightbox-image-wrap img{
    /* Beide Masse auf auto, nur die Grenzen setzen - dann verkleinert der
       Browser das Bild seitenrichtig, bis es passt. Die Grenze muss am
       Sichtfenster haengen: eine Prozentangabe loest im Grid-Feld eines
       flex:1-Elternteils nicht auf und wirkt deshalb gar nicht.
       dvh statt vh, damit die Adressleiste des Handys nichts abschneidet. */
    width:auto;height:auto;max-width:100%;
    max-height:100vh;max-height:100dvh;
    aspect-ratio:auto;object-fit:contain;
    border-radius:0;background:transparent;box-shadow:none;
  }
  .lightbox-copy{
    position:absolute;z-index:2;left:0;right:0;bottom:0;
    align-items:center;flex-direction:row;gap:12px;padding:10px 62px;
    background:linear-gradient(to top,rgba(2,6,7,.92),rgba(2,6,7,0));
  }
  .lightbox-copy h2{font-size:16px}
  .lightbox-copy p{margin-top:2px;font-size:11px}
  .lightbox-copy .download-button{width:auto;min-width:0;min-height:38px;padding:0 15px;font-size:13px;white-space:nowrap}
  .lightbox-close{right:8px;top:8px;width:40px;height:40px;font-size:22px}
  .lightbox-nav{width:40px;height:58px;font-size:28px;background:rgba(5,10,12,.55)}
  .lightbox-prev{left:6px}
  .lightbox-next{right:6px}
}

/* ================================================================
   Bildschirmlayout, Zoom und echtes Vollbild (12.08.2026)
   Das CSS-Layout funktioniert auch auf iPhone/iPad ohne Fullscreen-API.
   Wenn der Browser echtes Vollbild kann, geht nur die Viewer-Shell hinein.
   Damit bleibt das modale Dialogfenster nicht hinter der Seite liegen.
   ================================================================ */
.lightbox-full,.lightbox-zoom{
  position:absolute;z-index:2;right:56px;top:0;
  width:48px;height:48px;
  border:1px solid rgba(255,255,255,.2);border-radius:50%;
  background:rgba(5,10,12,.85);color:var(--text);
  cursor:pointer;font-size:21px;line-height:1;
}
.lightbox-zoom{right:112px;font-size:28px}
.lightbox-full:hover,.lightbox-full:focus-visible,
.lightbox-zoom:hover,.lightbox-zoom:focus-visible{border-color:var(--accent);background:rgba(5,10,12,.95)}

.ist-vollbild .lightbox{padding:0;background:#000;backdrop-filter:none}
.ist-vollbild .lightbox .lightbox-shell,
.lightbox-shell:fullscreen{width:100%;height:100%;background:#000}
.ist-vollbild .lightbox .lightbox-image-wrap{flex:1;min-height:0;padding:0}
.ist-vollbild .lightbox .lightbox-image-wrap img{
  width:auto;height:auto;max-width:100vw;
  max-height:100vh;max-height:100dvh;
  aspect-ratio:auto;object-fit:contain;
  border-radius:0;background:transparent;box-shadow:none;
}
.ist-vollbild .lightbox .lightbox-image-wrap.is-zoomed img{width:100%;max-width:none;max-height:none}
/* Nur noch der Download-Knopf - Titel und Dateiangaben verdecken sonst das Bild. */
.ist-vollbild .lightbox .lightbox-copy{
  position:absolute;z-index:2;left:0;right:0;bottom:0;
  align-items:center;justify-content:flex-end;flex-direction:row;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:none;
}
.ist-vollbild .lightbox .lightbox-copy>div{display:none}
.ist-vollbild .lightbox .lightbox-copy .download-button{width:auto;min-width:0;min-height:42px;padding:0 18px;white-space:nowrap}
.ist-vollbild .lightbox .lightbox-close{right:10px;top:10px}
.ist-vollbild .lightbox .lightbox-full{right:66px;top:10px}
.ist-vollbild .lightbox .lightbox-zoom{right:122px;top:10px}
.ist-vollbild .lightbox .lightbox-prev{left:10px}
.ist-vollbild .lightbox .lightbox-next{right:10px}

@media (orientation:landscape) and (max-height:560px){
  .lightbox-full{right:56px;top:8px;width:40px;height:40px;font-size:18px}
  .lightbox-zoom{right:104px;top:8px;width:40px;height:40px;font-size:24px}
  .ist-vollbild .lightbox .lightbox-full{right:56px;top:8px}
  .ist-vollbild .lightbox .lightbox-zoom{right:104px;top:8px}
}
@media (max-width:620px){
  .lightbox-full{right:60px;width:44px;height:44px;font-size:19px}
  .lightbox-zoom{right:112px;width:44px;height:44px;font-size:26px}
  .ist-vollbild .lightbox .lightbox-close{right:8px;top:8px}
  .ist-vollbild .lightbox .lightbox-full{right:60px;top:8px}
  .ist-vollbild .lightbox .lightbox-zoom{right:112px;top:8px}
}

@media (max-width:900px){
  .lighting-lab-intro{grid-template-columns:1fr;gap:18px}
  .lighting-stage-grid{grid-template-columns:1fr}
  .lighting-stage-media{border-right:0;border-bottom:1px solid #2b3c44}
  .lighting-stage-media img{min-height:0}
  .lighting-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:620px){
  .lighting-lab{margin-inline:0;padding:16px;border-radius:22px}
  .lighting-lab-intro h3{font-size:38px}
  .lighting-toolbar{margin-right:-16px;padding-right:16px}
  .lighting-stage-grid{border-radius:17px}
  .lighting-stage-copy{padding:20px 16px}
  .lighting-stage-number{font-size:38px}
  .lighting-rating-scale{grid-template-columns:repeat(5,minmax(40px,1fr));gap:6px}
  .lighting-rating-scale span{min-height:42px}
  .lighting-overview-head{align-items:start;flex-direction:column;gap:3px}
  .lighting-overview-grid{display:flex;margin-right:-16px;padding:0 16px 6px 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
  .lighting-overview-card{width:190px;flex:none;scroll-snap-align:start}
  .lightbox-lighting-bar{left:8px;right:160px;top:52px}.lightbox-lighting-bar>span{display:none}
  .lightbox-lighting-feedback{right:8px;bottom:62px;width:calc(100% - 16px);max-height:42vh;padding:7px;border-radius:15px}
  .lightbox-lighting-feedback .lighting-feedback-card{padding:12px}
}
@media (orientation:landscape) and (max-height:560px){
  .lightbox-lighting-bar{left:54px;right:154px;top:8px}
  .lightbox-lighting-feedback{right:54px;bottom:8px;width:360px;max-height:150px}
  .lightbox-lighting-feedback .lighting-feedback-head{margin-bottom:6px}
}
/* Bauer: geschuetzter Website-Entwurf */
.bauer-website-preview{margin:0 auto 32px;max-width:1180px;padding:32px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;background:linear-gradient(135deg,rgba(212,175,122,.14),rgba(77,212,192,.06));border:1px solid rgba(212,175,122,.28);border-radius:24px}.bauer-website-preview h2{max-width:760px;margin:6px 0 12px}.bauer-website-preview p{max-width:780px}.bauer-website-preview .primary-button{white-space:nowrap}@media(max-width:760px){.bauer-website-preview{grid-template-columns:1fr;padding:24px}.bauer-website-preview .primary-button{width:100%}}

/* Neue Kundendokumente: bewusst am Dateiende, damit Kartenregeln dies nicht überschreiben. */
.document-card.document-card-new{border-color:#d6ba79;box-shadow:0 0 0 2px rgba(214,186,121,.22),0 24px 64px rgba(0,0,0,.38)}
.document-card-meta{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.document-new-chip{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid #f1d18a;border-radius:999px;background:#f1d18a;color:#162027;font-size:10px;font-weight:850;line-height:1;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.28)}
@media(max-width:480px){.document-card-meta{gap:6px}.document-new-chip{padding:4px 8px}.portal-document-card .document-type{font-size:10px}}

/* Eindeutige, nicht ausblendbare Kennzeichnung der isolierten Testumgebung. */
.portal-staging-banner{position:relative;z-index:1000;display:flex;min-height:42px;align-items:center;justify-content:center;gap:14px;padding:8px 16px;background:#9f1d20;color:#fff;font:700 13px/1.25 "Inter Tight","Segoe UI",sans-serif;letter-spacing:.01em;text-align:center;box-shadow:0 6px 24px rgba(0,0,0,.28)}
.portal-staging-banner strong{letter-spacing:.14em}.portal-staging-banner span{font-weight:500;opacity:.9}.portal-staging-banner a{min-height:44px;display:inline-flex;align-items:center;color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.portal-staging-banner{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;padding:9px 12px}.portal-staging-banner strong,.portal-staging-banner span{grid-column:1/-1}.portal-staging-banner a{justify-content:center}}

/* -------------------------------------------------- Anfrage-Mail (Bauer Website)
   Zeigt dem Kunden, wie eine Formular-Anfrage bei ihm im Postfach ankommt. */
.request-mail-section .section-heading p{max-width:820px}
.request-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;margin:26px 0 30px;padding:0;list-style:none;counter-reset:none}
.request-flow li{position:relative;padding:20px 20px 18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.request-flow li span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:12px;border-radius:999px;background:rgba(214,186,121,.16);color:var(--accent-strong);font-size:.9rem;font-weight:800}
.request-flow li > strong{display:block;margin-bottom:6px;font-size:1.02rem}
.request-flow li p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.6}
.mail-frame-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}
.mail-frame-bar{display:flex;align-items:center;gap:10px;padding:13px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(212,175,122,.16),rgba(77,212,192,.05));color:var(--accent-strong);font-size:.79rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.mail-frame-dot{width:9px;height:9px;border-radius:999px;background:var(--accent)}
.mail-frame-head{display:grid;gap:9px;margin:0;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--panel-light)}
.mail-frame-head div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:baseline}
.mail-frame-head dt{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mail-frame-head dd{margin:0;font-size:.95rem;word-break:break-word}
.mail-frame{display:block;width:100%;height:1090px;border:0;background:#e8e4e1;overflow:hidden}
@media(max-width:620px){.mail-frame{height:1540px}}
.request-mail-note{margin-top:26px;padding:24px;border:1px solid rgba(212,175,122,.28);border-radius:18px;background:linear-gradient(135deg,rgba(212,175,122,.12),rgba(77,212,192,.05))}
.request-mail-note p{margin:0 0 12px;max-width:900px;line-height:1.7}
.request-mail-note p:last-child{margin-bottom:0}
.request-mail-status{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.93rem}
.request-mail-status span{color:var(--accent);line-height:1.7}
@media(max-width:760px){
  .mail-mock-head div{grid-template-columns:1fr;gap:2px}
  .mail-mock-fields div{grid-template-columns:1fr;gap:3px}
  .request-mail-note{padding:20px}
}
