/* Einheitliche Form-, Farb- und Layoutwerte für sämtliche Bildschirmseiten. */
[hidden]{display:none!important}
h1,h2,h3,.cover-names,.footer>span{overflow-wrap:anywhere}
body{font-size:calc(15px * var(--font-scale,1))}
h1{font-size:clamp(calc(32px * var(--heading-scale,1)),3.3vw,calc(46px * var(--heading-scale,1)))}
h2{font-size:calc(28px * var(--heading-scale,1))}
.sidebar{background:var(--sidebar-background);color:var(--sidebar-text);overflow-y:auto}
.sidebar .brand,.sidebar .brand small,.sidebar nav a,.sidebar nav a span,.sidebar-caption,.sidebar-bottom small{color:var(--sidebar-text)}
.sidebar nav a.active{background:var(--primary-soft);color:var(--primary)}
.sidebar nav a:hover{background:var(--surface-alt)}
.topbar,.guest-header{background:var(--header-background);color:var(--header-text)}
.guest-brand,.guest-header .link-button{color:var(--header-text)}
.guest-brand{display:flex;align-items:center;gap:14px;min-width:0;overflow-wrap:anywhere}
.brand{align-items:center;overflow-wrap:anywhere}.brand>span:last-child{min-width:0}
.brand-logo,.guest-logo{display:block;max-width:100%;max-height:var(--logo-height);width:auto;height:var(--logo-height);object-fit:contain}
.brand-logo{max-width:74px;flex-shrink:0}.guest-logo{max-width:170px}
.card,.stat-card,.login-layout,.template-card,.info-card,.schedule-card{border-radius:var(--card-radius)}
.card{padding:calc(28px * var(--density));box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 2%,transparent)}
.button{border-radius:var(--button-radius);color:var(--on-primary)}
.button.secondary,.button.quiet{color:var(--primary)}
.button.secondary{background:var(--surface-alt)}
.button.danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}
.guest-menu a.active{color:var(--on-primary)}
.room-tabs>a.active{color:var(--on-primary)}
.email-preview>.email-brand-logo{height:var(--logo-height);max-width:180px;width:auto;object-fit:contain;margin:25px auto 0}
.stack{gap:calc(20px * var(--density))}
td{padding-top:calc(17px * var(--density));padding-bottom:calc(17px * var(--density))}
.field>span{color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline-color:var(--focus-color)}
.context-nav{background:var(--surface-alt)}.context-nav a{color:var(--muted)}.context-nav a.active{background:var(--surface)}
.guest-main,.guest-menu{max-width:var(--guest-width)}.guest-header{max-width:calc(var(--guest-width) + 60px)}
.invitation-cover{min-height:var(--hero-height);border-radius:var(--hero-radius);background:var(--hero-background)}
.invitation-cover::before,.invitation-cover::after{display:var(--ornament-display);border-color:var(--accent)}
.invitation-cover:has(.hero-photo:not([hidden]))::before{display:block;background:var(--hero-overlay-color)}
.invitation-cover:has(.hero-photo:not([hidden]))::after{display:none}
.hero-photo{object-position:var(--hero-position)}
.cover-text{color:var(--ink)}.cover-text .eyebrow{color:var(--accent)}
.invitation-cover:has(.hero-photo:not([hidden])) .cover-text,.invitation-cover:has(.hero-photo:not([hidden])) .eyebrow{color:var(--hero-text)}
.cover-text h1{font-size:clamp(calc(40px * var(--heading-scale)),6vw,calc(68px * var(--heading-scale)))}
.login-art{background:var(--hero-background)}.login-art h1{color:var(--ink)}.login-art p{color:var(--muted)}
.alert.success,.badge.accepted{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}
.alert.warning,.badge.pending{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}
.alert.error,.badge.declined{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}
.badge.neutral{background:var(--surface-alt);color:var(--muted)}
.distribution-overfull{background:var(--danger-soft)!important;color:var(--danger)!important;border-color:var(--danger-border)!important}
.event-counts strong,.preview-number{color:var(--primary)}
.design-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:24px;align-items:start}
.design-controls{min-width:0}.design-controls h2{font-size:25px}
.design-preview-aside{position:sticky;top:24px;min-width:0}
.design-preview-panel{padding:20px;max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin}.design-preview-panel h2{font-size:21px}.design-preview-panel .section-heading{flex-wrap:wrap;gap:10px}
.design-note{margin:18px 0 0}.design-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.design-motif-keep{display:grid;gap:8px;margin:18px 0;font-size:12px}.design-motif-keep label{display:flex;align-items:center;gap:8px;min-height:44px;overflow-wrap:anywhere}
.design-motifs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.design-motif-card{min-width:0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.design-motif-card.chosen-logo,.design-motif-card.chosen-favicon{border-color:var(--primary)}.design-motif-card:focus-within{outline:2px solid var(--primary);outline-offset:2px}
.design-motif-art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:154px;padding:12px;background:#f7f5ef;border-radius:7px;margin-bottom:12px}
.design-motif-art>img{width:104px;height:104px;max-width:100%;object-fit:contain}
.design-motif-tab{display:flex;align-items:center;gap:5px;border:1px solid #dce1d8;border-radius:6px 6px 0 0;background:#fff;color:#25342a;padding:5px 8px;max-width:100%;font-size:9px}.design-motif-tab img{width:16px;height:16px;object-fit:contain;flex-shrink:0}
.design-motif-card>strong{display:block;font-size:13px;overflow-wrap:anywhere}.design-motif-card>p{font-size:11px;line-height:1.5;color:var(--muted);margin:6px 0 10px}
.design-motif-actions{display:flex;flex-wrap:wrap;gap:6px}.design-motif-actions label{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:6px 8px;font-size:11px;cursor:pointer;border:1px solid var(--border);border-radius:6px;flex:1}
.design-motif-actions label:has(input:checked){background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.design-motif-actions input{margin:0;accent-color:var(--primary)}
.design-browser-preview{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;padding:10px 10px 0;margin-top:16px}
.design-browser-tab{display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);border-radius:6px 6px 0 0;padding:10px;font-size:11px;min-width:0}.design-browser-tab img{width:16px;height:16px;object-fit:contain;flex-shrink:0}.design-browser-tab>span:nth-child(2){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.design-preset{text-align:left;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);min-width:0}
.design-preset:hover,.design-preset.selected{border-color:var(--primary);background:var(--primary-soft)}
.design-preset strong{display:block;font-size:13px}.design-preset small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:5px}
.preset-colors{display:flex;margin-bottom:12px;gap:5px}.preset-colors i{width:23px;height:23px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:50%}
.design-color-group{margin:24px 0 0}.design-color-group legend{font-size:13px;padding-bottom:12px;border-bottom:1px solid var(--border);width:100%}
.design-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.design-color label{display:block;font-size:11px;font-weight:600;margin-bottom:7px}.design-color-inputs{display:flex;gap:8px;align-items:center}
.design-color input[type=color]{width:42px;height:40px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;flex-shrink:0}
.design-color input[type=text]{min-width:0;width:100%;height:40px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);padding:8px;font:12px ui-monospace,monospace}
.design-color input:invalid{border-color:var(--danger)}
.design-checkbox{font-size:12px;display:flex;align-items:center;min-height:44px;padding-top:18px}.design-checkbox label{display:flex;align-items:flex-start;gap:4px;line-height:1.6}
.design-current-image{display:flex;align-items:center;gap:16px;font-size:12px;padding:14px;background:var(--surface-alt);border-radius:8px}
.design-current-image img{max-width:140px;max-height:80px;object-fit:contain}.design-current-image .favicon-current{width:40px;height:40px}
.design-preview-tabs{display:flex;gap:8px;margin:16px 0}.design-preview-tabs .button{min-height:36px;padding:8px 16px;font-size:11px}
.design-preview{border:1px solid var(--border);background:var(--paper);color:var(--ink);border-radius:8px;overflow:hidden;font-family:var(--font);font-size:calc(12px * var(--font-scale))}
.design-preview h2,.design-preview h3{font-family:var(--heading-font);font-weight:400;font-size:calc(22px * var(--heading-scale));line-height:1.3}
.design-preview p{font-size:calc(12px * var(--font-scale));line-height:1.6;margin-bottom:12px}.design-preview small{font-size:calc(10px * var(--font-scale))}
.preview-header{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 12px;background:var(--header-background);color:var(--header-text);font:calc(13px * var(--font-scale)) var(--heading-font)}
.preview-header img{height:var(--logo-height);max-width:75px;object-fit:contain}.preview-guest-content{width:calc(100% * var(--preview-content-scale,1));max-width:var(--guest-width);margin:0 auto;padding:12px}
.preview-cover{min-height:calc(var(--hero-height) * .55);margin-top:0}.preview-cover .cover-text{padding:30px 16px}.preview-cover h2{font-size:calc(34px * var(--heading-scale));margin-bottom:12px}.preview-cover .eyebrow{font-size:8px;line-height:1.7}
.preview-cover::before,.preview-cover::after{width:80px;height:180px;bottom:-70px}.preview-cover:has(.hero-photo:not([hidden]))::before{width:100%;height:100%;bottom:auto}
.preview-names{font-family:var(--heading-font);font-size:19px!important}.preview-card{padding:calc(18px * var(--density));margin:14px 0;border-radius:var(--card-radius);background:var(--surface)}
.preview-card h3{margin-bottom:10px}.preview-badges{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.preview-field{border:1px solid var(--border);background:var(--surface);padding:10px;color:var(--muted);border-radius:5px;margin-bottom:12px}
.design-preview .button{font-family:var(--font);font-size:calc(11px * var(--font-scale));min-height:36px;padding:10px 14px}.preview-footer{display:block;text-align:center;color:var(--muted);padding:8px 0;overflow-wrap:anywhere}
.preview-admin-shell{display:grid;grid-template-columns:105px minmax(0,1fr);min-height:380px}.preview-sidebar{background:var(--sidebar-background);color:var(--sidebar-text);padding:18px 10px;display:flex;flex-direction:column;gap:16px;border-right:1px solid var(--border);font-size:10px;overflow-wrap:anywhere}
.preview-sidebar strong{font-family:var(--heading-font);font-size:15px;line-height:1.3}.preview-sidebar small{font-size:8px}.preview-sidebar img{height:var(--logo-height);max-width:85px;object-fit:contain}
.preview-nav-active{color:var(--primary);background:var(--primary-soft);padding:8px 6px;border-radius:var(--button-radius)}.preview-admin-content{min-width:0}.preview-admin-inner{padding:20px 12px}.preview-admin-content .preview-header{font-size:9px;min-height:55px;text-align:center}
.preview-number{display:block;font:40px var(--heading-font);margin:6px 0}.design-preview .alert{padding:12px;font-size:10px}.preview-admin-content .button{font-size:10px;padding:10px}
.design-contrast{font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0}.design-contrast[data-warning=true]{color:var(--warning)}
.design-save{display:flex;flex-direction:column;gap:14px;align-items:center;padding-top:16px;border-top:1px solid var(--border)}.design-save .button{width:100%}.design-save .link-button{font-size:11px}
.design-mobile-save{display:none}.design-reset{font-size:13px;max-width:760px;margin-top:8px}.design-reset form{margin-top:20px}
@media(max-width:1100px){.design-grid{grid-template-columns:1fr}.design-preview-aside{position:static;order:-1}.design-preview-panel{max-width:520px;max-height:none;overflow:visible;margin:0 auto 24px}.design-mobile-save{display:flex;padding-bottom:28px}.design-controls .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.invitation-cover{min-height:clamp(260px,calc(var(--hero-height) * .75),420px)}.cover-text h1{font-size:calc(40px * var(--heading-scale))}.brand-logo{max-width:58px}.guest-logo{max-width:100px;max-height:60px}.card{padding:calc(22px * var(--density)) calc(18px * var(--density))}.design-preview-panel{padding:16px}.design-presets,.design-colors{gap:12px}.design-controls .form-grid{grid-template-columns:1fr}.design-color label{font-size:10px;min-height:32px}.design-color input[type=text]{font-size:11px}.design-color-inputs{gap:5px}.design-color input[type=color]{width:34px}.design-current-image{flex-wrap:wrap}.design-preview .preview-card{padding:calc(16px * var(--density))}.preview-cover{min-height:calc(var(--hero-height) * .55)}.design-reset{padding:20px 18px}.design-checkbox{padding-top:0}}
