/**
 * terminsuche – Terminsuche (Stylesheet der Joomla-Komponente com_terminsuche).
 *
 * @copyright  (C) 2026 FreiLine GmbH
 * @license    GNU General Public License Version 2 or later; see LICENSE.txt
 *
 * BACKWARD COMPATIBILITY: Unveraendert aus der bisherigen Einzeldatei uebernommen;
 * nur die Schriftpfade zeigen neu auf media/com_terminsuche/fonts.
 */
/* ===== DESIGN.md: Fonts (self-hosted, Fallbacks ohne Inter/Roboto/system-ui) ===== */

/* INTEGRATION (terminsuche + Umfragen): App liegt im Ordner /t/, sichtbar unter /neuer-termin und /?p=… → absolute Pfade. */

@font-face{font-family:'Bricolage Grotesque';src:url('../fonts/bricolage-800.woff2?v=2.48.1') format('woff2');font-weight:800;font-display:swap}

@font-face{font-family:'Atkinson Hyperlegible';src:url('../fonts/atkinson-400.woff2?v=2.48.1') format('woff2');font-weight:400;font-display:swap}

@font-face{font-family:'Atkinson Hyperlegible';src:url('../fonts/atkinson-700.woff2?v=2.48.1') format('woff2');font-weight:700;font-display:swap}

@font-face{font-family:'IBM Plex Mono';src:url('../fonts/plexmono-400.woff2?v=2.48.1') format('woff2');font-weight:400;font-display:swap}

:root{

  --ink:#1A3A2A; --ink-soft:#3D5C4C; --accent:#E8A13D; --paper:#F7F5F0;

  --line:#D9D4C8; --yes:#2E7D52; --maybe:#C98A1B; --no:#B0AA9C;

  --disp:'Atkinson Hyperlegible','Gill Sans',Seravek,Verdana,sans-serif;

  --body:'Atkinson Hyperlegible','Gill Sans',Seravek,Verdana,sans-serif;

  --mono:'IBM Plex Mono','Courier New',monospace;

  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s6:48px;--s8:64px;--s12:96px;

}

*{box-sizing:border-box;margin:0}

body{background:var(--paper);color:var(--ink);font:400 1rem/1.58 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal}

.wrap{max-width:880px;margin:0 auto;padding:var(--s3)}

header{display:flex;justify-content:space-between;align-items:center;padding:var(--s3) 0}

.logo{font:700 1.25rem var(--disp);text-decoration:none;color:var(--ink)}

.logo em{color:var(--accent);font-style:normal}

h1{font:700 clamp(2.2rem,7vw,4.5rem)/1.05 var(--disp);letter-spacing:-.02em}

h2{font:700 clamp(1.65rem,4vw,3rem)/1.12 var(--disp);letter-spacing:-.025em;margin-bottom:var(--s3)}

.thin{font-weight:400}

.lede{font-size:1.125rem;color:var(--ink-soft);max-width:34em;margin:var(--s3) 0 var(--s4)}

.hero{padding:var(--s8) 0 var(--s6);text-align:left}

/* Buttons & Felder */

.btn{display:inline-block;font:700 1rem var(--body);border:2px solid var(--ink);background:var(--ink);

  color:var(--paper);padding:12px 24px;border-radius:6px;cursor:pointer;text-decoration:none;

  transition:transform .18s ease-out,background .18s ease-out;touch-action:manipulation}

.btn:active{transform:scale(.97)}

.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--ink)}

.btn-ghost{background:transparent;color:var(--ink)}

.btn-sm{padding:8px 16px;font-size:.875rem}

.field{margin-bottom:var(--s3)}

.field label{display:block;font-weight:700;font-size:.875rem;margin-bottom:var(--s1)}

.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--line);

  border-radius:6px;background:#fff;font:400 1rem var(--body);color:var(--ink)}

.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}

.hint{font-size:.8rem;color:var(--ink-soft);margin-top:4px}.char-counter{font-size:.78rem;color:var(--ink-soft);text-align:right;margin-top:5px}.char-counter.is-near{font-weight:700;color:var(--maybe)}.poll-expiry-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:var(--s2) 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.82rem;text-align:center}.poll-expiry-note .shield{font-size:.95rem;line-height:1}

/* Termin-Chips */

.date-row{display:flex;gap:var(--s1);flex-wrap:wrap;align-items:center;margin-bottom:var(--s1)}

.date-row input{flex:1;min-width:130px}

.date-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);

  border-radius:6px;padding:8px 12px;font:400 .875rem var(--mono)}

.date-chip button{border:0;background:none;color:var(--no);cursor:pointer;font-size:1rem;padding:0 2px}
.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.type-choice{position:relative}.type-choice input{position:absolute;opacity:0;pointer-events:none}.type-choice label{display:block;height:100%;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.type-choice label strong{display:block;font-size:1rem}.type-choice label span{display:block;color:var(--ink-soft);font-size:.84rem;margin-top:3px}.type-choice input:checked+label{border-color:var(--accent);outline:3px solid rgba(111,92,255,.15);background:#F4F2FF}.option-row{display:flex;gap:8px}.option-row input{flex:1}.option-row .btn{width:auto;white-space:nowrap}.poll-type-note{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:5px 10px;border-radius:999px;background:#F4F2FF;color:var(--accent);font-size:.8rem;font-weight:700}.admin-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) minmax(140px,.7fr) auto;gap:10px;width:100%;align-items:end;padding:16px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:18px}.admin-tools .field{margin:0}.admin-tools .btn{white-space:nowrap}.filter-summary{width:100%;font-size:.84rem;color:var(--ink-soft);margin-top:2px}.decision-option{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.decision-option input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:0 0 auto}.decision-option label{cursor:pointer}.decision-option strong{display:block}.decision-option span{display:block;color:var(--ink-soft);font-size:.84rem;margin-top:3px}
.answer-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.answer-mode-grid .type-choice label{border-radius:12px;padding:12px}
.response-input{width:100%;min-width:120px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:400 .95rem var(--body)}
.response-input:focus{outline:3px solid rgba(111,92,255,.18);border-color:var(--accent)}
.response-cell{min-width:170px}
.response-empty{color:var(--no)}
.option-chip-config{display:inline-flex;align-items:center;gap:8px}
.option-chip-config label{display:inline-flex;align-items:center;gap:5px;font:700 .76rem var(--body);color:var(--ink-soft);cursor:pointer;margin:0}
.option-chip-config input{width:16px;height:16px;min-height:0;accent-color:var(--accent)}

/* Abstimm-Matrix */

.matrix-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.result-matrix{border-collapse:collapse;width:100%;background:#fff;border:1px solid var(--line);

  box-shadow:4px 4px 0 var(--ink)} /* der EINE erlaubte Schatten */

.result-matrix th,.result-matrix td{border:1px solid var(--line);padding:10px 12px;text-align:center;min-width:88px}

.result-matrix th:first-child,.result-matrix td:first-child{text-align:left;position:sticky;left:0;background:#fff;min-width:110px}

.result-matrix thead th{font:700 .8rem var(--mono);background:var(--paper)}
.admin-actions{display:flex;gap:6px;justify-content:center;white-space:nowrap}.admin-row-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 9px;font:700 .76rem var(--body);cursor:pointer}.admin-row-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-row-btn.danger:hover{border-color:#c43d4f;color:#c43d4f}.edit-input,.edit-select{width:100%;min-width:92px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.edit-actions{display:flex;gap:6px;justify-content:center}

.best{background:#FBEAD0!important;outline:2px solid var(--accent);outline-offset:-2px}

.vote-cell{position:relative;width:48px;height:48px;border:2px solid #C7C1EE;border-radius:14px;background:linear-gradient(180deg,#fff,#F7F5FF);

  cursor:pointer;font-size:1.1rem;box-shadow:inset 0 0 0 3px rgba(111,92,255,.05),0 5px 14px rgba(45,35,95,.08);

  transition:transform .18s ease-out,border-color .18s ease,box-shadow .18s ease,background .18s ease;touch-action:manipulation}

.vote-cell::after{content:"";position:absolute;inset:7px;border:1px dashed rgba(111,92,255,.34);border-radius:8px;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.vote-cell:hover{transform:translateY(-2px) scale(1.05);border-color:var(--accent);box-shadow:0 10px 22px rgba(69,54,155,.18)}
.vote-cell:hover::after{transform:scale(.88);opacity:.45}
.vote-cell:focus-visible{outline:3px solid rgba(111,92,255,.28);outline-offset:3px;border-color:var(--accent)}
.vote-cell:active{transform:scale(.95)}
.vote-cell[data-v]:not([data-v=""])::after{opacity:0}
.vote-name-input{width:100%;min-width:130px;padding:10px 12px;border:2px solid #C7C1EE;border-radius:12px;background:#fff;color:var(--ink);font:700 .95rem var(--body);box-shadow:0 5px 14px rgba(45,35,95,.06)}
.vote-name-input:focus{outline:3px solid rgba(111,92,255,.18);border-color:var(--accent)}
.inline-vote-hint{display:block;margin-top:5px;color:var(--ink-soft);font-size:.7rem;font-weight:400}
.date-input-combo{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center}
.date-input-combo>input[type="text"]{min-width:0}
.date-picker-trigger{position:relative;width:48px;height:48px}
.date-picker-btn{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--accent);cursor:pointer;font-size:1.25rem;box-shadow:0 5px 14px rgba(45,35,95,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;pointer-events:none}
.date-picker-trigger:hover .date-picker-btn{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 20px rgba(69,54,155,.14)}
.date-picker-trigger:focus-within .date-picker-btn{outline:3px solid rgba(111,92,255,.22);outline-offset:2px;border-color:var(--accent)}
.native-date-proxy{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;z-index:2}
.native-date-proxy::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}

.time-input-combo{position:relative;display:grid;grid-template-columns:minmax(0,7.5rem) 48px;gap:8px;align-items:center;width:max-content;max-width:100%}
.time-display-input{width:7.5rem;min-width:0;max-width:100%;padding-right:10px;cursor:pointer;background:#fff}
.time-picker-btn{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--accent);box-shadow:0 5px 14px rgba(45,35,95,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;pointer-events:none}
.time-picker-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.time-input-combo:hover .time-picker-btn{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 20px rgba(69,54,155,.14)}
.time-input-combo:focus-within .time-picker-btn{outline:3px solid rgba(111,92,255,.22);outline-offset:2px;border-color:var(--accent)}
.native-time-proxy{position:absolute;right:0;top:0;width:48px;height:48px;opacity:0;cursor:pointer;border:0;padding:0;z-index:3}
.native-time-proxy::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}
.date-row>.date-input-combo{flex:1 1 230px;min-width:0}
.date-row>.time-input-combo{flex:0 1 auto}
.entry-grid>*{min-width:0}
.field,.option-row,.date-row,.entry-grid{max-width:100%}
.field input,.field textarea,.field select,.option-row input,.date-row input{min-width:0;max-width:100%}
@media(max-width:600px){
  .date-row{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .date-row>.date-input-combo,.date-row>.time-input-combo,.date-row>.btn{width:100%;max-width:100%}
  .time-input-combo{grid-template-columns:minmax(0,1fr) 48px}
  .time-display-input{width:100%}
  .entry-grid{grid-template-columns:minmax(0,1fr)!important}
  .entry-grid .date-input-combo,.entry-grid .time-input-combo{width:100%;max-width:100%}
  .option-row{grid-template-columns:minmax(0,1fr);width:100%}
}

.vote-cell[data-v="1"]{background:var(--yes);border-color:var(--yes);color:#fff}

.vote-cell[data-v="2"]{background:var(--maybe);border-color:var(--maybe);color:#fff}

.vote-cell[data-v="0"]{background:#EFEDE6;color:var(--no)}

.tally{font:700 .9rem var(--mono)}

/* Diverses */

.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:var(--s4);margin:var(--s4) 0}

.linkbox{font:400 .8rem var(--mono);word-break:break-all;background:var(--paper);border:1px dashed var(--line);

  padding:var(--s2);border-radius:6px;margin:var(--s1) 0 var(--s2)}

.lang-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:6px;overflow:hidden}

.lang-switch button{border:0;background:#fff;padding:6px 12px;font:700 .8rem var(--body);cursor:pointer;color:var(--ink-soft)}

.lang-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s3);margin:var(--s4) 0}

.steps div{border-left:3px solid var(--accent);padding-left:var(--s2)}

.steps b{font:800 1.1rem var(--disp);display:block}

.toast{position:fixed;left:50%;bottom:var(--s3);transform:translateX(-50%) translateY(12px);opacity:0;

  background:var(--ink);color:var(--paper);padding:10px 20px;border-radius:6px;font-size:.9rem;

  pointer-events:none;transition:transform .25s ease-out,opacity .25s ease-out;z-index:9}

.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.reveal{opacity:0;transform:translateY(12px);transition:transform .25s ease-out,opacity .25s ease-out}

.reveal.in{opacity:1;transform:none}

.badge{display:inline-block;font:400 .75rem var(--mono);border:1px solid var(--line);border-radius:99px;padding:4px 12px;color:var(--ink-soft)}

footer{padding:var(--s6) 0;color:var(--ink-soft);font-size:.8rem}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:600px){

  .wrap{padding:var(--s2)}

  .btn{width:100%;text-align:center}

  .hero{padding:var(--s4) 0}

  .panel{padding:var(--s3)}

  .result-matrix th,.result-matrix td{padding:8px 6px;min-width:72px}

}

[hidden]{display:none!important}

/* Modern, playful, mobile-first polish */
:root{--ink:#172033;--ink-soft:#596179;--accent:#6F5CFF;--accent-2:#FF7A59;--accent-3:#25C2A0;--paper:#F6F5FF;--line:#DCD9F4;--yes:#1F9D76;--maybe:#E9A23B;--no:#9BA3B5}
body{min-height:100vh;background:linear-gradient(180deg,#fbfaff 0%,var(--paper) 52%,#f2efff 100%);overflow-x:hidden}
#particleCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.72}
.wrap{max-width:1040px;padding-inline:clamp(16px,4vw,36px)}
header{position:sticky;top:0;z-index:8;padding:16px 0;background:rgba(246,245,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.logo{font-size:1.4rem;letter-spacing:-.04em}.logo em{color:var(--accent)}
.hero{position:relative;padding:clamp(48px,9vw,96px) 0 54px;max-width:820px}
h1{max-width:12ch;text-wrap:balance}.lede{font-size:clamp(1.05rem,2vw,1.25rem)}
.badge{background:#fff;border-color:rgba(111,92,255,.28);color:var(--accent);box-shadow:0 8px 30px rgba(40,31,94,.08);margin-bottom:18px}
.btn{min-height:48px;border-radius:15px;border-width:0;box-shadow:0 10px 22px rgba(23,32,51,.13);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(23,32,51,.17)}.btn:focus-visible{outline:3px solid rgba(111,92,255,.32);outline-offset:3px}
.btn-accent{background:linear-gradient(135deg,var(--accent),#8E7CFF);color:#fff}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.panel{border:1px solid rgba(111,92,255,.16);border-radius:24px;box-shadow:0 18px 55px rgba(45,35,95,.10);padding:clamp(20px,5vw,38px)}
.field input,.field textarea,.field select{min-height:48px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.92)}
.field textarea{min-height:96px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(111,92,255,.18);border-color:var(--accent)}
.steps{grid-template-columns:repeat(3,1fr)}.steps div{background:rgba(255,255,255,.72);border:1px solid rgba(111,92,255,.14);border-left:0;border-radius:20px;padding:20px;box-shadow:0 12px 30px rgba(45,35,95,.07)}
.steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--accent);color:#fff;margin-bottom:10px}
.date-chip{border-radius:999px;border-color:rgba(111,92,255,.2);box-shadow:0 5px 14px rgba(45,35,95,.06)}
.matrix-scroll{margin-top:24px;border-radius:20px;padding:0 0 8px}.result-matrix{border-radius:20px;overflow:hidden;border-collapse:separate;border-spacing:0;box-shadow:0 18px 45px rgba(45,35,95,.12)}
.result-matrix th,.result-matrix td{border-width:0 1px 1px 0}.result-matrix th:first-child,.result-matrix td:first-child{z-index:2}.best{background:#EEEAFE!important;outline-color:var(--accent)}
.vote-cell{width:48px;height:48px;border-radius:14px}.linkbox{border-radius:14px;background:#F4F2FF;border-color:#BFB7FF}.toast{border-radius:999px;box-shadow:0 14px 35px rgba(23,32,51,.24)}
@media(max-width:720px){.steps{grid-template-columns:1fr}.date-row{display:grid;grid-template-columns:1fr 1fr}.date-row .btn{grid-column:1/-1}.panel{margin-block:22px}.result-matrix th,.result-matrix td{min-width:76px}.result-matrix th:first-child,.result-matrix td:first-child{min-width:96px}.lang-switch button{min-width:44px;min-height:40px}}
@media(max-width:760px){.admin-tools{grid-template-columns:1fr 1fr}.admin-tools .btn{width:100%}}@media(max-width:540px){.type-switch{grid-template-columns:1fr}.option-row{display:grid}.option-row .btn{width:100%}.admin-tools{grid-template-columns:1fr}}
@media(max-width:420px){h1{font-size:clamp(2.45rem,13vw,3.45rem)}.hero{padding-top:40px}.date-row{grid-template-columns:1fr}.date-row .btn{grid-column:auto}.btn{width:100%}.panel{padding:18px;border-radius:20px}.wrap{padding-inline:14px}}


.features{margin:clamp(38px,7vw,72px) 0 24px}
.features-head{max-width:720px;margin:0 auto 24px;text-align:center}
.features-head h2{margin-bottom:8px}
.features-head p{color:var(--ink-soft);margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-card{position:relative;overflow:hidden;min-height:230px;padding:24px;border:1px solid rgba(111,92,255,.15);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(245,242,255,.78));box-shadow:0 16px 42px rgba(45,35,95,.08)}
.feature-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-42px;bottom:-48px;background:radial-gradient(circle,rgba(111,92,255,.24),rgba(111,92,255,0) 70%)}
.feature-icon{display:grid;place-items:center;width:62px;height:62px;margin-bottom:18px;border-radius:20px;background:linear-gradient(135deg,var(--accent),#9a88ff);color:#fff;box-shadow:0 12px 26px rgba(111,92,255,.24)}
.feature-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feature-card:nth-child(2) .feature-icon{background:linear-gradient(135deg,#ff7b72,#ffb36b)}
.feature-card:nth-child(3) .feature-icon{background:linear-gradient(135deg,#0ca678,#52d6b0)}
.feature-card h3{font:800 1.15rem var(--disp);margin:0 0 9px}
.feature-card p{position:relative;z-index:1;color:var(--ink-soft);margin:0;line-height:1.55}
.server-note{display:flex;align-items:center;justify-content:center;gap:9px;margin:20px auto 0;padding:11px 15px;width:max-content;max-width:100%;border:1px solid rgba(12,166,120,.2);border-radius:999px;background:rgba(232,250,244,.82);color:#087f5b;font-size:.84rem;font-weight:750;text-align:center}
.server-note svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:820px){.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0}.features-head{text-align:left}}


/* Refined editorial cards: less generic, more tactile and professional */
.steps{gap:14px;counter-reset:step}
.steps div{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:154px;padding:24px 22px 22px;
  border:1px solid rgba(65,55,122,.15);border-radius:18px;
  background:rgba(255,255,255,.78);box-shadow:none;
  transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .25s ease,background-color .25s ease;
  outline:none;cursor:default
}
.steps div::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(145deg,rgba(111,92,255,.08),transparent 54%);
  opacity:0;transition:opacity .28s ease
}
.steps div::after{
  content:"";position:absolute;left:22px;right:22px;bottom:16px;height:1px;
  background:linear-gradient(90deg,rgba(111,92,255,.42),transparent);
  transform:scaleX(.28);transform-origin:left;
  transition:transform .34s cubic-bezier(.2,.75,.25,1)
}
.steps b{
  display:block;width:auto;height:auto;padding:0;margin:0 0 10px;
  border:0;background:none;color:var(--accent);
  font:700 clamp(2.7rem,6vw,4.4rem)/.9 var(--disp);letter-spacing:-.07em
}
.steps span{display:block;max-width:23ch;font-weight:700;line-height:1.42}

.feature-grid{gap:14px;align-items:stretch}
.feature-card{
  --card-tone:var(--accent);position:relative;isolation:isolate;overflow:hidden;
  min-height:250px;padding:28px 26px 25px;
  border:1px solid rgba(65,55,122,.16);border-radius:12px 30px 12px 12px;
  background:rgba(255,255,255,.86);box-shadow:none;outline:none;
  transition:transform .34s cubic-bezier(.2,.75,.25,1),border-color .25s ease,background-color .25s ease;
  cursor:default
}
.feature-card:nth-child(2){--card-tone:var(--accent-2);transform:translateY(16px)}
.feature-card:nth-child(3){--card-tone:var(--accent-3)}
.feature-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--card-tone);
  transform:scaleX(.22);transform-origin:left;transition:transform .38s cubic-bezier(.2,.75,.25,1)
}
.feature-card::after{
  content:"";position:absolute;right:-34px;bottom:-44px;width:118px;height:118px;
  border:1px solid color-mix(in srgb,var(--card-tone) 24%,transparent);border-radius:50%;
  background:none;z-index:-1;transition:transform .48s cubic-bezier(.2,.75,.25,1),opacity .25s ease
}
.feature-icon{
  display:grid;place-items:center;width:52px;height:52px;margin-bottom:34px;
  border:1px solid color-mix(in srgb,var(--card-tone) 32%,transparent);border-radius:14px 14px 14px 4px;
  background:color-mix(in srgb,var(--card-tone) 10%,white);color:var(--card-tone);box-shadow:none;
  transition:transform .34s cubic-bezier(.2,.75,.25,1),background-color .25s ease,color .25s ease
}
.feature-card:nth-child(2) .feature-icon,.feature-card:nth-child(3) .feature-icon{background:color-mix(in srgb,var(--card-tone) 10%,white)}
.feature-icon svg{width:27px;height:27px;stroke-width:1.65}
.feature-card h3{font-size:1.22rem;letter-spacing:-.015em;margin-bottom:11px}
.feature-card p{max-width:29ch}

@media(hover:hover) and (pointer:fine){
  .steps div:hover,.steps div:focus-visible{
    transform:translateY(-6px);border-color:rgba(111,92,255,.34);background:#fff
  }
  .steps div:hover::before,.steps div:focus-visible::before{opacity:1}
  .steps div:hover::after,.steps div:focus-visible::after{transform:scaleX(1)}
  .feature-card:hover,.feature-card:focus-visible{
    transform:translateY(-8px);border-color:color-mix(in srgb,var(--card-tone) 42%,transparent);background:#fff
  }
  .feature-card:nth-child(2):hover,.feature-card:nth-child(2):focus-visible{transform:translateY(8px)}
  .feature-card:hover::before,.feature-card:focus-visible::before{transform:scaleX(1)}
  .feature-card:hover::after,.feature-card:focus-visible::after{transform:translate(-14px,-10px) scale(1.12)}
  .feature-card:hover .feature-icon,.feature-card:focus-visible .feature-icon{
    transform:translateY(-3px) rotate(-3deg);background:var(--card-tone);color:#fff
  }
}
.steps div:active,.feature-card:active{transform:translateY(-1px) scale(.985);transition-duration:.1s}
.steps div:focus-visible,.feature-card:focus-visible{outline:3px solid rgba(111,92,255,.2);outline-offset:4px}

@media(max-width:820px){
  .feature-grid{gap:12px}.feature-card,.feature-card:nth-child(2){min-height:0;transform:none}
  .feature-card p{max-width:none}.feature-icon{margin-bottom:22px}
}
@media(max-width:720px){
  .steps div{min-height:0;border-radius:10px 20px 10px 10px}
}
@media(prefers-reduced-motion:reduce){
  .steps div,.steps div::before,.steps div::after,.feature-card,.feature-card::before,.feature-card::after,.feature-icon{transition:none!important;transform:none!important}
}

/* Eintragungslisten */
.type-switch{grid-template-columns:repeat(3,1fr)}
.list-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.list-format-grid label{display:block;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-weight:700}
.list-format-grid input{position:absolute;opacity:0;pointer-events:none}
.list-format-grid input:checked+label{border-color:var(--accent);outline:3px solid rgba(111,92,255,.15);background:#F4F2FF}
.list-builder{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(246,245,255,.62)}
.list-builder .field{margin-bottom:0}.list-builder .full{grid-column:1/-1}
.entry-fields{display:grid;gap:12px;margin:0 0 20px}.entry-group{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.entry-group legend{padding:0 6px;font-weight:700}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.entry-field label{font-size:.78rem;margin-bottom:4px}.entry-field input,.entry-field select,.entry-field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:400 1rem var(--body)}
.list-table th,.list-table td{text-align:left;min-width:145px}.list-table th:first-child,.list-table td:first-child{min-width:120px}.list-event-heading{margin:12px 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);font-weight:700}
@media(max-width:820px){
  .feature-card{
    --mobile-progress:0;
    transform:translateY(calc(-7px * var(--mobile-progress)));
    border-color:color-mix(in srgb,var(--card-tone) calc(16% + 26% * var(--mobile-progress)),transparent);
    background:color-mix(in srgb,#fff calc(86% + 14% * var(--mobile-progress)),transparent);
    transition:none;will-change:transform
  }
  .feature-card::before{transform:scaleX(calc(.22 + .78 * var(--mobile-progress)));transition:none}
  .feature-card::after{
    transform:translate(calc(-14px * var(--mobile-progress)),calc(-10px * var(--mobile-progress))) scale(calc(1 + .12 * var(--mobile-progress)));
    transition:none
  }
  .feature-card .feature-icon{
    transform:translateY(calc(-3px * var(--mobile-progress))) rotate(calc(-3deg * var(--mobile-progress)));
    transition:none
  }
  .feature-card.mobile-icon-active .feature-icon{background:var(--card-tone);color:#fff}
}
@media(max-width:720px){.type-switch,.list-format-grid,.list-builder,.entry-grid{grid-template-columns:1fr}.list-builder .full{grid-column:auto}}

.beta-notice{
  display:flex;align-items:flex-start;gap:12px;margin:8px 0 22px;padding:13px 16px;
  border:1px solid rgba(245,158,11,.28);border-radius:16px;background:rgba(255,251,235,.78);
  color:#6b5a28;font-size:.94rem;line-height:1.5;box-shadow:0 8px 24px rgba(86,67,20,.05)
}
.beta-notice .beta-icon{font-size:1.15rem;line-height:1.35;flex:0 0 auto}
.beta-notice a{color:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.beta-notice a:hover,.beta-notice a:focus-visible{color:#8a5b00}
@media(max-width:620px){.beta-notice{margin-top:4px;padding:12px 14px;font-size:.9rem}}


/* INTEGRATION – TOUCH TARGETS: Tippflächen mind. 44×44 px und mind. 8 px Abstand (Handy/Tablet).
   Reine Grössen-/Abstandsregeln, Aussehen und Funktion bleiben gleich. */
.logo{display:inline-flex;align-items:center;min-height:44px}
.lang-switch button{min-width:44px;min-height:44px}
.date-chip{padding-block:2px}
.date-chip button{min-width:44px;min-height:44px;margin:-4px -10px -4px -6px;border-radius:999px}
.admin-actions,.edit-actions{gap:8px}
.admin-row-btn{min-height:44px;padding:10px 12px}
.vote-name-input,.edit-input,.edit-select,.response-input,.entry-field input,.entry-field select,.entry-field textarea{min-height:44px}
.option-chip-config label{min-height:44px;padding:0 4px}
footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.date-chip button{margin-right:-6px}
#dateList,#optionList,.chip-list{gap:10px!important;margin-top:12px!important}
.option-chip-config button{margin-left:4px}
/* Versteckte Radio-Knöpfe der Listenformate im eigenen Feld halten (verhinderte seitliches Scrollen auf Tablets) */
.list-format-grid>div{position:relative}

/* ===== Seit 2.3.0: Eintragung zuoberst + gemeinsamer Rahmen für mehrere Uhrzeiten am selben Tag ===== */
.result-matrix .vote-entry-row td{background:#FAF9FF}
.entry-submit{display:block;width:100%;margin-top:8px}
.result-matrix th.day-head{background:#EEEAFE;color:var(--accent);border-top:2px solid #BFB7FF}
.result-matrix th.time-head{background:#F6F4FF}
.result-matrix .grp-s{border-left:2px solid #BFB7FF}
.result-matrix .grp-e{border-right:2px solid #BFB7FF}
.result-matrix tbody tr:last-child .grp{border-bottom:2px solid #BFB7FF}
/* Zweite Kopfzeile (Uhrzeiten): nicht wie die Namensspalte behandeln */
.result-matrix tr.time-row th:first-child{position:static;left:auto;text-align:center;min-width:var(--opt-w,0px);background:#F6F4FF;z-index:auto}
/* Gleich breite, schmale Optionsspalten; Tabelle nur so breit wie nötig */
.result-matrix:not(.list-table){width:auto}
.result-matrix:not(.list-table) th:not(:first-child),.result-matrix:not(.list-table) td:not(:first-child),.result-matrix:not(.list-table) tr.time-row th{min-width:var(--opt-w,0px)}
.result-matrix:not(.list-table) thead th{white-space:normal}
/* Kompakter Datumskopf */
.result-matrix th.date-head span{display:block;line-height:1.25}
.result-matrix th.date-head .hd-yr{font-weight:400;color:var(--ink-soft);font-size:.72rem}
.result-matrix th.date-head .hd-tm{margin-top:3px;color:var(--accent)}
.result-matrix th.day-head,.result-matrix th.time-head{white-space:nowrap}

/* ===== Responsive-Audit 27.09.2026 (2.4.0): Smartphone-Optimierung ===== */
/* overflow:clip statt hidden: runde Ecken bleiben, die Namensspalte bleibt beim seitlichen
   Scrollen stehen (overflow:hidden machte die Tabelle selbst zum Scroll-Container). Ältere
   Browser ohne «clip» behalten das bisherige Verhalten. */
.result-matrix{overflow:clip}
/* ≥ 16 px: iOS zoomt beim Antippen nicht mehr in das Namensfeld */
.vote-name-input,.response-input,.edit-input,.edit-select{font-size:16px}
#betaMail{display:inline-block;padding:6px 0}
.hdr-right{display:flex;gap:8px;align-items:center}
.acc-btn{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border-radius:12px;font-size:.85rem;width:auto}
@media(max-width:720px){
  .result-matrix:not(.list-table) th:first-child,.result-matrix:not(.list-table) td:first-child{min-width:118px;width:118px}
  .result-matrix:not(.list-table) tr.time-row th:first-child{min-width:var(--opt-w,0px);width:auto}
  .result-matrix:not(.list-table) td:first-child{overflow-wrap:break-word}
  .vote-name-input{min-width:0;padding:10px}
  .answer-mode-grid{grid-template-columns:1fr}
  .acc-btn{padding:6px 10px}
}

/* ===== Einheitliche Hinweisboxen (seit 2.5.0) =====
   Gleicher Aufbau für alle Hinweise in Terminsuche, Umfragen und Konto – wie der Beta-Hinweis:
   Symbol links, Text daneben, Schaltflächen rechtsbündig bzw. darunter auf dem Handy.
   Farben nach Bedeutung: Beta (gelb) · Info/Datenschutz (grün) · Wichtig/vertraulich (orange) · Angebot (violett). */
.beta-notice,.note,.warn,.offer{
  display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:flex-start;gap:10px 12px;
  margin:14px 0;padding:13px 16px;border:1px solid;border-radius:16px;
  font-size:.94rem;font-weight:400;line-height:1.5;box-shadow:0 8px 24px rgba(45,35,95,.05)
}
.beta-notice{margin:8px 0 22px;border-color:rgba(245,158,11,.28);background:rgba(255,251,235,.78);color:#6b5a28}
.note{border-color:rgba(12,166,120,.25);background:rgba(232,250,244,.82);color:#087f5b}
.warn{border-color:rgba(255,122,89,.35);background:#FFF4EF;color:#8a3a1f}
.offer{border-color:rgba(111,92,255,.25);background:#F4F2FF;color:var(--ink)}
.note>[aria-hidden],.warn>[aria-hidden],.offer>[aria-hidden],.beta-notice .beta-icon{font-size:1.15rem;line-height:1.35;flex:0 0 auto}
.note>span:not([aria-hidden]),.warn>span:not([aria-hidden]),.offer>span:not([aria-hidden]),.beta-notice>span:not(.beta-icon){flex:1 1 220px;min-width:0}
.note .btn,.warn .btn,.offer .btn{margin-left:auto;align-self:center}
@media(max-width:620px){
  .beta-notice,.note,.warn,.offer{padding:12px 14px;font-size:.9rem}
  .note .btn,.warn .btn,.offer .btn{margin-left:0;width:100%}
}

/* Seit 2.12.0: Der unsichtbare Uhr-Button (native Zeitauswahl) darf nur die 48-px-Schaltfläche abdecken. Die allgemeine Regel
   «.field input {width:100%}» machte ihn so breit wie das ganze Feld und blockierte die Tastatureingabe HH:MM. */
.time-input-combo .native-time-proxy{left:auto;right:0;top:0;width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;padding:0;margin:0;border:0;background:transparent}

/* ---------- Ansicht drehen (seit 2.17.0): Termine als Zeilen, Teilnehmende als Spalten – Design/Farben unverändert ---------- */
.matrix-tools{display:flex;justify-content:flex-end;margin:20px 0 -12px}
.matrix-tools .btn[aria-pressed="true"]{border-color:var(--accent);background:#F4F2FF;color:var(--accent)}
.result-matrix.t-matrix{--t-first:132px;--t-entry:164px;--t-sum:76px;--t-v:100px}
.result-matrix.t-matrix:not(.list-table){table-layout:fixed;width:calc(var(--t-first) + var(--t-has-entry,1) * var(--t-entry) + var(--t-sum-n,1) * var(--t-sum) + var(--t-n,0) * var(--t-v))}
.t-matrix col.t-c-first{width:var(--t-first)}.t-matrix col.t-c-entry{width:var(--t-entry)}.t-matrix col.t-c-sum{width:var(--t-sum)}.t-matrix col.t-c-v{width:var(--t-v)}
.result-matrix.t-matrix th,.result-matrix.t-matrix td{min-width:0!important;padding:8px 6px;overflow-wrap:anywhere}
.t-matrix thead th{vertical-align:bottom}
.t-matrix .t-name{display:block;font:600 .9rem var(--body);color:var(--ink);overflow-wrap:anywhere;hyphens:auto}
.t-matrix .t-entry,.t-matrix .t-entry-head{background:#FAF9FF}
.t-matrix .vote-name-input{min-width:0;padding:9px 8px}
.t-matrix .entry-submit{margin-top:8px}
.t-matrix .t-rowhead{text-align:left}
.t-matrix .rd-d{display:block;font-weight:700;line-height:1.3}
.t-matrix .rd-d b{color:var(--accent)}
.t-matrix .rd-t{display:inline-block;margin-top:3px;color:var(--accent);font:700 .8rem var(--mono)}
.t-matrix tr.tg-s>td{border-top:2px solid #BFB7FF}
.t-matrix tr.tg-e>td{border-bottom:2px solid #BFB7FF}
.t-matrix .t-stack{flex-direction:column;align-items:stretch}
.t-matrix .edit-select,.t-matrix .edit-input{width:100%;min-width:0}
@media(max-width:720px){.result-matrix.t-matrix{--t-first:118px;--t-entry:148px;--t-sum:68px;--t-v:88px}}
.t-matrix .t-sum-head{font-size:.68rem;letter-spacing:-.02em;padding-inline:3px;hyphens:manual;overflow-wrap:normal}
.t-matrix .admin-row-btn{padding:7px 3px;font-size:.72rem;white-space:nowrap}

/* Alle Umfragetypen (seit 2.18.0): breitere Spalten für Freitext-Antworten und Eintragslisten */
.result-matrix.t-matrix.t-wide{--t-first:150px;--t-entry:184px;--t-v:156px}
@media(max-width:720px){.result-matrix.t-matrix.t-wide{--t-first:122px;--t-entry:164px;--t-v:136px}}
.t-matrix .response-input{min-width:0;width:100%}
.t-matrix td.response-cell{text-align:left}
.t-matrix .t-rowhead .rd-d{font-weight:700}
/* Animation beim Drehen (Schalter + gestaffeltes Aufpoppen der Zellen) */
.matrix-tools .btn{position:relative;overflow:visible}
.matrix-tools .tr-ico{display:inline-block;font-size:1.1em;line-height:1}
.matrix-tools .btn.spin .tr-ico{animation:trSpin .75s cubic-bezier(.3,1.5,.5,1)}
.matrix-tools .btn.spin::after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:2px solid var(--accent);pointer-events:none;animation:trRing .75s ease-out forwards}
.t-matrix.t-pop td,.t-matrix.t-pop th{animation:tCell .55s cubic-bezier(.2,.9,.3,1.25) both;animation-delay:calc(var(--i,0) * 40ms + 140ms)}
@keyframes trSpin{0%{transform:rotate(0) scale(1)}45%{transform:rotate(200deg) scale(1.45)}100%{transform:rotate(360deg) scale(1)}}
@keyframes trRing{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.35,1.9);opacity:0}}
@keyframes tCell{0%{opacity:0;transform:scale(.55) rotate(-7deg)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.matrix-tools .btn.spin .tr-ico,.matrix-tools .btn.spin::after,.t-matrix.t-pop td,.t-matrix.t-pop th{animation:none!important}}

/* Während der Drehen-Animation darf die Seite nie seitlich überstehen */
html{overflow-x:clip}

/* ===== Breite Umfrageansicht (seit 2.19.0): nur so breit wie nötig, höchstens 90 % des Bildschirms, zentriert; Handy fast Vollbild ===== */
.wrap.poll-view{max-width:var(--pv-w,min(90vw,1040px));padding-inline:clamp(10px,2.2vw,40px)}
.poll-view #pollDesc,.poll-view .list-event-heading{max-width:75ch}
.poll-view .matrix-scroll{margin-top:20px;width:fit-content;max-width:100%;margin-inline:auto}
@media(min-width:721px){
  .poll-view .entry-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
  .poll-view #votePanel{padding:clamp(20px,2vw,32px)}
  .poll-view .result-matrix th,.poll-view .result-matrix td{padding-block:11px}
}
@media(max-width:720px){
  .wrap.poll-view{max-width:100%;padding-inline:8px}
  .poll-view .matrix-scroll{width:auto;margin-inline:-2px}
  .poll-view .panel{padding:14px;border-radius:18px;margin-block:16px}
}

/* Pro: Logo und Farbe (seit 2.25.0) */
.pro-box summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.pro-row{margin-top:12px}.pro-row>label{display:block;font-weight:700;margin-bottom:6px}
.pro-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pro-inline input[type=color]{width:56px;height:44px;padding:2px;border:1px solid var(--line);border-radius:10px;background:#fff}
.pro-inline input:not([type=color]){flex:1 1 220px;min-height:44px}
.pro-inline .btn{width:auto;min-height:44px}
.pro-prev{max-height:64px;max-width:240px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:4px}
.poll-logo{display:block;max-height:64px;max-width:min(240px,100%);width:auto;height:auto;margin:0 0 12px;object-fit:contain}
#viewPoll.branded .btn-accent{color:var(--on-accent,#1A1A1A)}
#viewPoll.branded .poll-type-note{color:var(--accent)}

/* Premium-Branding: Live-Vorschau, Hinweise (seit 2.27.0) */
.pro-badge{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:99px;background:#FFF3D6;border:1px solid #E8B94A;color:#6B4A00;font-size:.75rem;font-weight:700;vertical-align:middle}
.pro-note{margin:10px 0;padding:10px 14px;border-radius:12px;font-size:.92rem;line-height:1.45}
.pro-note.warn{background:#FFF6E0;border:1px solid #F0C36A;color:#4A3500}
.pro-note.ok{background:#E8F7EC;border:1px solid #7CC38F;color:#13501F}
.pro-blocked{margin:12px 0;padding:12px 14px;border-radius:12px;background:#FFECEC;border:2px solid #D14B4B;color:#7A1111;font-weight:700}
.pro-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:8px}
.pro-discard{width:auto;min-height:44px;margin-top:6px}
.pro-preview{min-width:0}
.pro-prev-label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.pro-prev-page{--accent:#6F5CFF;--accent-2:#8E7CFF;--on-accent:#fff;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(45,35,95,.08);min-height:200px}
.pro-prev-page .poll-logo{margin:0 0 10px}
.pro-prev-title{font-weight:800;font-size:1.25rem;line-height:1.2;overflow-wrap:anywhere;margin-bottom:8px}
.pro-prev-pill{display:inline-block;padding:3px 10px;border-radius:99px;background:#F4F2FF;color:var(--accent);font-size:.78rem;font-weight:700}
.pro-prev-cells{display:flex;gap:8px;margin:14px 0}
.pro-prev-cells .c{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#FAFAFF;color:var(--ink-soft);font-weight:700}
.pro-prev-cells .c.on{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px;background:#fff;color:var(--accent)}
.pro-prev-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:700}
@media (min-width:900px){
  .pro-grid{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:start}
  .pro-preview{position:sticky;top:16px}
}

/* Premium-Lizenz (seit 2.28.0) */
.pro-lic{padding:14px;border:1px solid #E8B94A;border-radius:14px;background:#FFFBF0}
#proRetNote{margin-top:8px}

/* PDF / Drucken: nur die Auswertungstabelle drucken */
#printSheet{display:none}
@media print{
  body.print-sheet>*:not(#printSheet){display:none!important}
  body.print-sheet #printSheet{display:block;color:#000;background:#fff;font:11pt/1.35 system-ui,sans-serif}
  #printSheet h1{font-size:16pt;margin:0 0 4pt}
  #printSheet .ps-sub{margin:0 0 10pt;color:#444;font-size:9pt}
  #printSheet table{border-collapse:collapse;width:100%}
  #printSheet th,#printSheet td{border:1px solid #999;padding:3pt 5pt;text-align:left;vertical-align:top;font-size:9pt}
  #printSheet th{background:#ede9ff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printSheet tr{break-inside:avoid}
  #printSheet .ps-foot{margin-top:8pt;font-size:8pt;color:#666}
  @page{margin:12mm}
}

/* Seit 2.30.0: Termin festlegen / Kalenderdatei */
.final-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:12px 16px;border-radius:14px;background:#E8F7EC;border:1px solid #7CC38F;color:#13501F}
.final-box{width:100%;margin:12px 0;padding:12px 14px;border-radius:14px;border:1px solid var(--line,#ddd);background:rgba(127,127,127,.06)}
.final-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.final-row select{min-width:200px;max-width:100%}

/* Seit 2.32.0: Zusatzfragen */
.ext-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.ext-row>input[type=text]{flex:1 1 220px}
.ext-req{display:flex;align-items:center;gap:6px;font-size:.9rem;white-space:nowrap}
.extra-fill{margin:12px 0}
.extra-admin{margin:16px 0}
.extra-admin h3{margin:0 0 8px;font-size:1rem}

.team-offer{background:rgba(111,92,255,.08);border-color:rgba(111,92,255,.35);color:inherit;margin:14px 0}

/* Seit 2.36.0: Vorlagen für Terminumfragen */
.tpl-panel{margin-bottom:var(--s3,16px)}
.tpl-panel>summary{cursor:pointer}
.tpl-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}

/* Seit 2.37.0: Dateianhang */
.att-view{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.att-view .att-name{overflow-wrap:anywhere}
#attFile{max-width:100%}

/* Seit 2.38.0: Premium-Hinweis auf der Startseite */
.home-prem{margin:clamp(28px,5vw,48px) 0 24px;padding:clamp(20px,4vw,32px);border:2px solid #E8B94A;border-radius:24px;background:linear-gradient(145deg,#FFFBF0,#fff)}
.home-prem h2{margin:10px 0 8px}
.home-prem p{color:var(--ink-soft);max-width:70ch}
.home-prem-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0}
.home-prem-list li{padding:6px 12px;border-radius:99px;background:#fff;border:1px solid #E8B94A;color:#4A3500;font-size:.92rem}
.home-prem-list li::before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.45em;vertical-align:-.12em;background:var(--accent,currentColor);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.8l-5.2 2.8 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.8l-5.2 2.8 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E") center/contain no-repeat}
.home-prem-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.home-prem-actions .btn{width:auto;flex:0 1 auto;text-decoration:none}
@media(max-width:600px){.home-prem-actions .btn{width:100%}}
.home-prem .pro-badge{margin-left:0}

/* Seit 2.42.2: Eigene Markenfarbe (Branding) – Buttons einfarbig, ohne Verlauf zur Standardfarbe */
#viewPoll.branded .btn-accent,.pro-prev-page[style*="--on-accent"] .btn-accent{background:var(--accent);background-image:none}

/* Seit 2.43.0: Anmeldefenster in der Terminsuche */
.acc-dlg{margin:auto;border:1px solid var(--line);border-radius:20px;padding:22px;max-width:min(92vw,420px);width:100%;box-shadow:0 24px 60px rgba(30,20,90,.28);color:var(--ink)}
.acc-dlg::backdrop{background:rgba(23,32,51,.45)}
.acc-dlg h2{margin:0 0 6px;font-size:1.25rem}
.acc-dlg .field{display:block;margin:12px 0}.acc-dlg .field span{display:block;font-weight:600;font-size:.88rem;margin-bottom:4px}
.acc-dlg input{width:100%}
.acc-err{color:var(--danger,#c43d4f);font-weight:600;margin:8px 0}
.acc-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
.acc-dlg a{color:var(--accent);font-weight:600}

/* Seit 2.44.0: Standard-Branding im Konto */
.pro-acc{margin-top:10px}.pro-check{display:flex;gap:8px;align-items:flex-start;font-weight:600;font-size:.9rem}.pro-check input{width:auto;margin-top:3px}
.pro-acc .btn{margin:8px 0 10px}

/* 2.45.0: Standort/Dauer, ungültige Eingaben markieren */
.loc-dur-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin-top:14px}
.loc-dur-grid .field{margin:0}
.loc-dur-grid select,.loc-dur-grid input{width:100%}
@media(max-width:600px){.loc-dur-grid{grid-template-columns:1fr}}
.poll-info{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;color:var(--ink-soft);font-size:.95rem}
.poll-info-item b{color:var(--ink)}
input[aria-invalid="true"]{border-color:#c0392b!important;box-shadow:0 0 0 3px rgba(192,57,43,.15)}

/* Seit 2.48.1: Handy-Feinschliff (Lesbarkeit und Tippflächen, reine Darstellung) */
body footer{font-size:.875rem;line-height:1.5}
body footer a{padding:0 8px;margin:2px 0;min-width:44px;justify-content:center}
body .hint{font-size:.875rem;line-height:1.45}
body .char-counter,body .badge,body .pro-badge,body .pro-prev-label,body .pro-prev-pill{font-size:.8125rem}
body .type-choice label span{font-size:.875rem}
body .tpl-panel>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px}
body header{gap:8px}
body .beta-notice a{display:inline-block;padding:6px 2px;margin:-6px 0}
@media(max-width:380px){body .acc-btn{padding:6px 8px;font-size:.8rem}body .logo{font-size:1.25rem}}
