/* Gemeinsame Designfarben; Kontraste und Schrift werden serverseitig aufgelöst. */
html{background:var(--bg);color:var(--ink)}body{background:var(--bg);color:var(--ink)}
.brand-logo{display:block;max-width:150px;max-height:54px;object-fit:contain}.brand small{white-space:normal}.topbar,.workspace-header{background:var(--bg)}
.nav>a,.metric-card>span,.selection-bar small,.calendar-event small,.member-terms legend{color:var(--muted)}
button,.button,.tabs a.active,.calendar-today>time,.person-card-arrow,.favorite.chosen{color:var(--on-accent);border-radius:var(--radius)}
button:hover,.button:hover{background:var(--accent);color:var(--on-accent);filter:brightness(1.06)}
.secondary,.secondary:hover{background:var(--panel);border-color:var(--line);color:var(--ink)}.secondary:hover{filter:brightness(.98)}
.nav-logout,.nav-logout:hover{background:none;color:var(--muted)}
.card,.person-card,.shoot-card,.comparison-photo,.member-option,.avatar-editor-photo,.file-drop,.photo-card,.design-option{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
input:not([type=checkbox]):not([type=color]):not([type=radio]),select,textarea{background:var(--bg);color:var(--ink);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted)}input:disabled{background:var(--panel);color:var(--muted)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.card a:not(.button):hover{color:var(--ink)}
.shoot-art,.person-card-image{background:var(--secondary-accent)}.shoot-card:nth-child(3n+2) .shoot-art,.person-card:nth-child(3n+2) .person-card-image{background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.shoot-card:nth-child(3n) .shoot-art,.person-card:nth-child(3n) .person-card-image{background:color-mix(in srgb,var(--secondary-accent) 60%,var(--surface))}
.avatar,.avatar-editor-main,.person-card-body .rate-chip{background:var(--panel);color:var(--ink);border-color:var(--line)}.person-monogram{color:var(--ink)}
.photo-image,.avatar-editor-photo,code,.hero-art,.pay-fields,.member-terms,.signature,.download-bar,.calendar-outside,.calendar-event,.viewer-help,kbd{background:var(--panel);color:var(--ink)}
.favorite{background:var(--panel);color:var(--ink)}.favorite:hover{background:var(--accent);color:var(--on-accent)}
.selection-bar,.compare-tray,.gallery-downloads,.task-check:hover{background:var(--surface);color:var(--ink);border-color:var(--line)}.photo-viewer,.photo-comparison,.viewer-header,.viewer-footer,.comparison-photo{background:var(--surface);color:var(--ink);border-color:var(--line)}
/* Der dunkle Bildhintergrund bleibt neutral, damit Foto-Farben nicht verfälscht werden. */
.viewer-image-stage,.comparison-image,.comparison-image:hover,.photo-stage{background:#080a0d}.viewer-image-state{color:#d0d6de}.viewer-arrow{background:#111922bb;color:#fff}.viewer-arrow:hover{background:#222e39;color:#fff}
.notice,.accent,.gallery-message,.dialog-message{background:var(--panel);color:var(--ink);border-color:var(--line)}
[data-scheme=light]{--danger-bg:#fae9e9;--danger-ink:#922d37;--success-bg:#e5f3e7;--success-ink:#235a31;--warning-bg:#f6edce;--warning-ink:#725513}
[data-scheme=dark]{--danger-bg:#352327;--danger-ink:#ffb9b9;--success-bg:#20372b;--success-ink:#b6e8c4;--warning-bg:#382e20;--warning-ink:#efdda3}
.danger,.danger:hover,.error,.gallery-message.is-error,.dialog-message.is-error,.response-no,.gallery-delete-toolbar{background:var(--danger-bg);color:var(--danger-ink);border-color:color-mix(in srgb,var(--danger-ink) 45%,var(--surface))}.photo-delete-check,.storage-transfer [data-transfer-error]{color:var(--danger-ink)}
.success,.response-yes{background:var(--success-bg);color:var(--success-ink);border-color:color-mix(in srgb,var(--success-ink) 45%,var(--surface))}.response-badge:not(.response-yes):not(.response-no),.metric-urgent{background:var(--warning-bg);color:var(--warning-ink)}.metric-urgent strong{color:var(--warning-ink)}
.badge{background:var(--panel);color:var(--ink);border-color:var(--line)}.shoot-art .badge,.photo-tag,.person-type{background:#101319db;color:#fff;border-color:#ffffff33}
[data-scheme=light] .rating-star.is-filled{color:var(--ink)}.rating-star,.rating-reset{background:transparent;color:var(--muted)}.rating-star:hover,.rating-reset:hover{color:var(--ink);background:var(--panel)}
/* Vier eigenständige Aufbauten. */
[data-theme=galerie] .container{max-width:1640px;padding-top:48px}[data-theme=galerie] h1{font-size:clamp(2.3rem,4vw,4.2rem);letter-spacing:-.05em}[data-theme=galerie] .card,[data-theme=galerie] .shoot-card,[data-theme=galerie] .person-card{box-shadow:0 8px 30px #18304a08}[data-theme=galerie] .topbar{max-width:1640px;padding-block:28px}[data-theme=galerie] .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}[data-theme=galerie] .photo-card{padding:8px}[data-theme=galerie] .shoot-grid{gap:30px}[data-theme=galerie] .shoot-art{height:260px}
[data-theme=editorial] .container{max-width:1320px}[data-theme=editorial] h1{font-size:clamp(2.5rem,5vw,5.2rem);text-transform:uppercase;letter-spacing:-.055em;font-weight:700}[data-theme=editorial] .page-heading{border-bottom:2px solid var(--ink);padding-bottom:28px}[data-theme=editorial] .topbar{max-width:1320px;border-bottom:2px solid var(--ink)}[data-theme=editorial] .shoot-grid{grid-template-columns:1fr;gap:26px}[data-theme=editorial] .shoot-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}[data-theme=editorial] .shoot-art{height:100%;min-height:245px}[data-theme=editorial] .shoot-card-body{padding:32px}[data-theme=editorial] .card{border-top:3px solid var(--accent)}[data-theme=editorial] .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}[data-theme=editorial] .eyebrow{letter-spacing:.22em}[data-theme=editorial] .badge{border-radius:0}
@media(min-width:1051px){[data-theme=studio] body:not(.is-guest) .topbar{position:fixed;inset:0 auto 0 0;width:250px;max-width:none;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:30px 22px;border-right:1px solid var(--line);border-bottom:0;z-index:40;overflow-y:auto}[data-theme=studio] body:not(.is-guest) .brand{white-space:normal;align-items:flex-start}[data-theme=studio] body:not(.is-guest) .brand-logo{max-width:76px;max-height:50px}[data-theme=studio] body:not(.is-guest) .nav{flex-direction:column;align-items:stretch;gap:14px;margin-top:28px}[data-theme=studio] .nav>a{white-space:normal}[data-theme=studio] body:not(.is-guest) .nav-profile{margin-left:0;margin-top:20px}[data-theme=studio] body:not(.is-guest) .nav>a.active:after{top:0;bottom:0;left:-12px;right:auto;width:3px;height:auto}[data-theme=studio] body:not(.is-guest) .container{margin-left:250px;max-width:none;padding:32px;min-height:calc(100vh - 80px)}[data-theme=studio] body:not(.is-guest) .site-footer{margin-left:250px;padding-inline:32px}}
[data-theme=studio] h1{font-size:clamp(2rem,3.4vw,3.6rem);letter-spacing:-.045em}[data-theme=studio] .card{padding:21px}[data-theme=studio] .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}[data-theme=studio] .shoot-art{height:175px}[data-theme=studio] .shoot-grid,[data-theme=studio] .people-grid{gap:16px}[data-theme=studio] .page-heading{margin-bottom:24px}[data-theme=studio] .workspace-title h1{font-size:2.2rem}
/* Auswahlkarten und Vorschau */
.design-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.design-option{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid var(--line);text-decoration:none;color:var(--ink);cursor:pointer;position:relative;min-width:0}.design-option .muted{line-height:1.5}.design-option>input{position:absolute;top:22px;right:22px;z-index:1;width:20px;height:20px}.design-option.is-current,.design-option:has(input:checked){outline:2px solid var(--accent);outline-offset:2px}.design-option:hover{color:var(--ink);border-color:var(--ink)}
.mini-layout{display:block;position:relative;height:140px;border-radius:5px;background:var(--mini-bg);padding:14px;overflow:hidden;color:var(--mini-ink)}.mini-nav{display:block;height:7px;width:58%;background:var(--mini-ink);opacity:.45}.mini-title{display:block;height:16px;width:66%;margin:14px 0 10px;background:var(--mini-ink)}.mini-photos{display:flex;gap:5px;height:42px}.mini-photos i{display:block;flex:1;background:var(--mini-secondary)}.mini-photos i:nth-child(2){background:var(--mini-accent)}.mini-photos i:nth-child(3){background:var(--mini-surface);border:1px solid var(--mini-ink)}.mini-button{display:block;width:32%;height:8px;margin-top:10px;background:var(--mini-accent)}.mini-layout--galerie{padding:18px}.mini-layout--galerie .mini-title{height:11px;width:48%;margin-top:16px}.mini-layout--galerie .mini-photos{height:38px;gap:9px}.mini-layout--galerie .mini-photos i{border-radius:4px}.mini-layout--editorial .mini-nav{width:100%;height:2px}.mini-layout--editorial .mini-title{width:85%;height:22px}.mini-layout--editorial .mini-photos i:last-child{display:none}.mini-layout--studio{padding-left:50px}.mini-layout--studio .mini-nav{position:absolute;left:0;top:0;bottom:0;height:100%;width:34px;background:var(--mini-surface);opacity:1;border-right:1px solid var(--mini-ink)}.mini-layout--studio .mini-title{height:10px}
.design-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.design-editor>aside{position:sticky;top:20px;min-width:0}.design-color-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.design-color-fields input[type=color]{width:100%;height:46px;padding:4px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.font-specimens p{border-bottom:1px solid var(--line);padding:10px 0;display:flex;flex-direction:column;gap:5px}.font-specimens strong{font-size:.8rem}.font-specimens span{font-size:1.2rem}.design-preview{background:var(--preview-bg);color:var(--preview-text);border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:450px}.preview-nav{display:flex;align-items:center;gap:10px;padding:20px;border-bottom:1px solid currentColor;font-size:.8rem}.preview-nav>span:last-child{margin-left:auto;font-size:.42rem;letter-spacing:.12em;max-width:90px}.preview-logo{display:flex;align-items:center;color:var(--preview-accent);font-size:1.6rem}.preview-logo img{max-width:85px;max-height:36px;object-fit:contain}.preview-content{padding:32px}.preview-eyebrow{font-size:.5rem;letter-spacing:.13em}.preview-content h2{font-family:inherit;font-size:3rem;line-height:1.02;letter-spacing:-.07em;margin:14px 0}.preview-content p{font-size:.8rem;line-height:1.6}.preview-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.preview-images>span{height:110px;padding:12px;background:var(--preview-secondary);color:#17232e;display:flex;align-items:flex-end;font-size:.7rem;border-radius:4px}.preview-images>span:nth-child(2){background:var(--preview-accent);color:var(--preview-on-accent,#111)}.preview-images>span:nth-child(3){background:var(--preview-surface);color:var(--preview-text);border:1px solid currentColor}.preview-action{display:inline-block;background:var(--preview-accent);color:var(--preview-on-accent,#111);padding:11px 17px;font-size:.72rem;border-radius:4px}.design-preview[data-variant=editorial]{border-radius:0}.design-preview[data-variant=editorial] h2{text-transform:uppercase;font-size:2.65rem;font-weight:700;letter-spacing:-.05em}.design-preview[data-variant=editorial] .preview-images{grid-template-columns:2fr 1fr}.design-preview[data-variant=editorial] .preview-images>span:last-child{display:none}.design-preview[data-variant=studio]{display:grid;grid-template-columns:95px minmax(0,1fr)}.design-preview[data-variant=studio] .preview-nav{flex-direction:column;align-items:flex-start;justify-content:flex-start;border-bottom:0;border-right:1px solid currentColor;padding:16px 10px}.design-preview[data-variant=studio] .preview-nav>span:last-child{margin:12px 0 0}.design-preview[data-variant=studio] .preview-content{padding:24px 18px}.design-preview[data-variant=studio] h2{font-size:2.25rem}.design-preview[data-variant=studio] .preview-images{gap:6px}.design-preview[data-variant=galerie] .preview-content{padding:38px}.design-preview[data-variant=galerie] .preview-images>span{border-radius:10px}
@media(max-width:1250px){.design-options{grid-template-columns:repeat(2,minmax(0,1fr))}.design-editor{grid-template-columns:1fr}.design-editor>aside{position:static}.design-preview{max-width:700px}[data-theme=galerie] .photo-grid,[data-theme=studio] .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){[data-theme=studio] .topbar{flex-wrap:wrap}[data-theme=studio] .nav-toggle{display:inline-flex}[data-theme=studio] .nav{display:none;width:100%;flex-direction:column;align-items:stretch}[data-theme=studio] .nav.open{display:flex}[data-theme=studio] .container{margin-left:auto;padding:28px 22px}}
@media(max-width:700px){[data-theme] .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}[data-theme=editorial] .shoot-card{display:block}[data-theme=editorial] .shoot-art{min-height:0;height:220px}[data-theme=galerie] .container{padding:26px 18px}[data-theme=editorial] .container{padding:26px 18px}.preview-content{padding:23px}.preview-content h2{font-size:2.5rem}.design-preview[data-variant=studio]{grid-template-columns:70px minmax(0,1fr)}.design-preview[data-variant=studio] .preview-content{padding:20px 12px}.design-preview[data-variant=studio] h2{font-size:1.9rem}.preview-images>span{height:90px}.design-preview[data-variant=galerie] .preview-content{padding:26px}}
@media(max-width:420px){.design-options{grid-template-columns:1fr}.mini-layout{height:155px}.design-color-fields{grid-template-columns:1fr 1fr}[data-theme] .photo-grid{grid-template-columns:1fr}.preview-nav{padding:16px}.preview-nav>span:last-child{display:none}}
@media print{html,body{background:#fff!important;color:#111!important}.card,.person-card,.shoot-card{background:#fff!important;color:#111!important;box-shadow:none!important}[data-theme=studio] body .topbar{position:static!important;width:auto!important}[data-theme=studio] body .container,[data-theme=studio] body .site-footer{margin-left:0!important}}
.design-option input[type=radio][name=theme_variant]{width:20px;height:20px;padding:0;margin:0;background:transparent;border:0;border-radius:50%;appearance:auto;position:absolute;top:22px;right:22px}
.brand>span{min-width:0;overflow-wrap:anywhere}
