/* ==========================================================================
   Fairsend Design-Fundament (Redesign Richtung A, Stand 2026-10-14)
   Quelle: Fairsend Redesign-System (Claude Design), Seiten "Fundament" und
   "Startseite, Richtung A": DM Sans, Radius 10 bis 24 px, weiche Schatten.
   Nur Tokens mit Praefix --fs-*; angewendet bisher nur auf der Startseite
   (.fsh-*). Die bestehenden Variablen (--teal, --navy, --radius ...) und
   alle Regeln weiter unten bleiben unveraendert.
   ========================================================================== */

/* IBM Plex Sans (Richtung B), derzeit von keiner Regel verwendet und daher nie geladen.
   Bleibt bis zum Aufraeumen stehen; DM Sans kommt aus assets/fonts/fonts.css. */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('../fonts/IBMPlexSans-Var-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('../fonts/IBMPlexSans-Var-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('../fonts/IBMPlexSans-Var-greek.woff2') format('woff2');
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}

:root{
  /* Teal (Primaer), 600 = Markenfarbe, 950 = Ink */
  --fs-teal-50:#EEF7F6;
  --fs-teal-100:#D5EDEB;
  --fs-teal-200:#A9DAD6;
  --fs-teal-300:#6FBFBA;
  --fs-teal-400:#3A9E9A;
  --fs-teal-500:#1A8484;
  --fs-teal-600:#0A6E6E;
  --fs-teal-700:#085A5A;
  --fs-teal-800:#074747;
  --fs-teal-900:#063535;
  --fs-teal-950:#0B2A2E;

  /* Koralle (einziger Akzent; 500 nur als Flaeche, nie unter weissem Text) */
  --fs-coral-300:#FFB399;
  --fs-coral-400:#FF8A5C;
  --fs-coral-500:#FF6B35;
  --fs-coral-600:#D9481F;
  --fs-coral-700:#B23812;

  /* Neutral (leicht teal-getoent) */
  --fs-neutral-50:#F6F8F8;
  --fs-neutral-100:#EDF1F1;
  --fs-neutral-200:#DCE3E3;
  --fs-neutral-300:#C2CCCC;
  --fs-neutral-400:#93A1A1;
  --fs-neutral-500:#647373;
  --fs-neutral-600:#4E5B5B;
  --fs-neutral-700:#394444;
  --fs-neutral-800:#242D2D;
  --fs-neutral-900:#141B1B;
  --fs-neutral-950:#0C1416;

  /* Status */
  --fs-success:#0F8A5F;
  --fs-warning:#9A6512;
  --fs-danger:#C0392B;

  /* Semantisch, Light */
  --fs-bg:#FFFFFF;
  --fs-surface:#F6F8F8;
  --fs-border:#DCE3E3;
  --fs-text:#141B1B;
  --fs-text-muted:#4E5B5B;
  --fs-primary:#0A6E6E;
  --fs-primary-hover:#085A5A;
  --fs-on-primary:#FFFFFF;
  --fs-accent:#D9481F;
  --fs-border-strong:#C2CCCC;   /* Rand von Eingabefeldern und Sekundaer-Buttons */
  --fs-text-soft:#394444;       /* Vertrauenszeile, Navigation */
  --fs-surface-soft:#F3F8F8;    /* Ende des Hero-Verlaufs */
  --fs-tint:#F8FCFC;            /* Ablageflaeche */

  /* Form (Richtung A: freundlich, rund) */
  --fs-radius-sm:10px;          /* Felder, kleine Buttons */
  --fs-radius:12px;             /* Buttons, Segmentgruppe */
  --fs-radius-md:16px;          /* Ablageflaeche */
  --fs-radius-card:20px;        /* Inhaltskarten */
  --fs-radius-lg:24px;          /* Upload-Karte im Hero */
  --fs-radius-pill:999px;
  --fs-shadow-xs:0 1px 2px rgba(0,0,0,.08);
  --fs-shadow-md:0 20px 56px rgba(10,110,110,.10);
  --fs-shadow-lg:0 24px 64px rgba(10,110,110,.12);

  /* Schrift */
  --fs-font:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fs-font-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;

  /* Gemeinsame Flaechen (seit E2, fuer fsu-*; die Seiten-Praefixe fsh/fsd/fsa/fsdb/fsi behalten ihre eigenen Werte) */
  --fs-card:var(--fs-bg);             /* Karte, Panel, Modal */
  --fs-field:var(--fs-bg);            /* Eingabefeld */
  --fs-row:var(--fs-surface);         /* Listenzeile, Kopf einer Tabelle */
  --fs-track:var(--fs-neutral-100);   /* Balken, Schalter aus */
  --fs-soft:var(--fs-teal-50);        /* Icon-Kreis, Hover, Zaehler */
  --fs-focus-ring:var(--fs-teal-200); /* Fokusring um Felder */
  --fs-seg-bg:var(--fs-neutral-100);  /* Segment-Umschalter: Grund */
  --fs-seg-on:var(--fs-bg);           /* Segment-Umschalter: aktiv */
  --fs-placeholder:var(--fs-neutral-500);
  --fs-overlay:rgba(11,42,46,.45);    /* Hintergrund hinter Modalen */

  /* Statusfarben fuer Hinweise und Badges: Text, Flaeche, Linie (WCAG AA >= 4,5:1 Text auf Flaeche).
     --fs-success/--fs-warning/--fs-danger bleiben unveraendert, sie faerben bestehende A-Seiten. */
  --fs-ok-text:#0B7350;   --fs-ok-bg:#E9F6F0;   --fs-ok-line:#A9DCC3;
  --fs-warn-text:#8A5A0F; --fs-warn-bg:#FBF3E4; --fs-warn-line:#E8CD98;
  --fs-err-text:#B3321F;  --fs-err-bg:#FCEDEA;  --fs-err-line:#F0B8AE;
  --fs-info-text:var(--fs-teal-700); --fs-info-bg:var(--fs-teal-50); --fs-info-line:var(--fs-teal-200);
}

/* Semantisch, Dark (ergaenzt den bestehenden Dark-Block weiter unten, ersetzt ihn nicht) */
[data-theme="dark"]{
  --fs-bg:#0C1416;
  --fs-surface:#121C1E;
  --fs-border:#263538;
  --fs-text:#E6EEEE;
  --fs-text-muted:#9FB1B1;
  --fs-primary:#6FBFBA;
  --fs-primary-hover:#A9DAD6;
  --fs-on-primary:#0B2A2E;
  --fs-accent:#FF8A5C;
  --fs-border-strong:#3B4D50;
  --fs-text-soft:#C9D6D6;
  --fs-surface-soft:#121C1E;
  --fs-tint:#0F1A1C;
  --fs-shadow-xs:0 1px 2px rgba(0,0,0,.4);
  --fs-shadow-md:0 20px 56px rgba(0,0,0,.35);
  --fs-shadow-lg:0 24px 64px rgba(0,0,0,.45);
  --fs-card:var(--fs-surface);
  --fs-field:var(--fs-bg);
  --fs-row:var(--fs-bg);
  --fs-track:var(--fs-border);
  --fs-soft:var(--fs-teal-950);
  --fs-focus-ring:var(--fs-teal-800);
  --fs-seg-bg:var(--fs-bg);
  --fs-seg-on:var(--fs-border);
  --fs-placeholder:var(--fs-text-muted);
  --fs-overlay:rgba(0,0,0,.6);
  --fs-ok-text:#5DD39E;   --fs-ok-bg:#0F2A20;   --fs-ok-line:#1F5A40;
  --fs-warn-text:#E0B45C; --fs-warn-bg:#2A2213; --fs-warn-line:#5C4718;
  --fs-err-text:#FFB399;  --fs-err-bg:#2E1A15;  --fs-err-line:#6B2F24;
  --fs-info-text:var(--fs-teal-200); --fs-info-bg:var(--fs-teal-950); --fs-info-line:var(--fs-teal-800);
}
/* ========================= Ende Design-Fundament ========================= */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{height:100%;-webkit-font-smoothing:antialiased}body{font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif;color:#0d1b2a;min-height:100%;overflow-x:hidden}:root{--teal:#0a6e6e;--teal-dark:#054e4e;--teal-soft:rgba(10,110,110,0.07);--coral:#ff6b35;--coral-soft:rgba(255,107,53,0.08);--mint:#00d4aa;--mint-soft:rgba(0,212,170,0.08);--navy:#0d1b2a;--slate:#3a4f5f;--muted:#667583;--bg:#f4f8f8;--card:#fff;--border:#dde6e8;--border-l:#eef3f3;--red:#e63946;--green:#2ecc71;--radius:16px}#loader{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f4f8f8;transition:opacity .5s,visibility .5s}#loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-logo{opacity:0;transform:scale(0.7);animation:loaderLogo .8s ease .2s forwards}.loader-logo img{height:52px}@keyframes loaderLogo{0%{opacity:0;transform:scale(0.7) translateY(10px)}60%{opacity:1;transform:scale(1.05) translateY(0)}100%{opacity:1;transform:scale(1) translateY(0)}}.loader-bar-wrap{width:160px;height:3px;border-radius:2px;background:var(--border);margin-top:24px;overflow:hidden;opacity:0;animation:fadeIn .3s ease .6s forwards}.loader-bar{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--teal),var(--mint));width:0;transition:width .4s ease}@keyframes loaderFill{to{width:100%}}.loader-text{font-family:'Outfit',sans-serif;font-size:12px;color:var(--muted);margin-top:14px;opacity:0;animation:fadeIn .3s ease .8s forwards;letter-spacing:.3px}@keyframes fadeIn{to{opacity:1}}.bg-canvas{position:fixed;inset:0;z-index:0;overflow:hidden;background:linear-gradient(160deg,#f4f8f8 0,#edf5f4 30%,#f0f3f8 60%,#f8f4f0 100%)}.bg-canvas::before,.bg-canvas::after{content:'';position:absolute;border-radius:50%;opacity:.4;will-change:transform}.bg-canvas::before{width:500px;height:500px;top:-10%;right:-5%;background:radial-gradient(circle,rgba(10,110,110,0.08) 0,transparent 70%);animation:bgFloat1 25s ease-in-out infinite}.bg-canvas::after{width:400px;height:400px;bottom:-5%;left:-5%;background:radial-gradient(circle,rgba(0,212,170,0.06) 0,transparent 70%);animation:bgFloat2 30s ease-in-out infinite}@keyframes bgFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,30px)}}@keyframes bgFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-25px)}}.bg-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(10,110,110,0.04) 1px,transparent 1px);background-size:32px 32px}.app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}.app.visible{opacity:1;transform:none}.nav{height:62px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.97);border-bottom:1px solid rgba(221,230,232,0.6);flex-shrink:0;z-index:20;overflow:visible}.nav-logo{text-decoration:none}.nav-logo img{height:34px;cursor:pointer;transition:transform .2s}.nav-logo img:hover{transform:scale(1.03)}.nav-right{display:flex;align-items:center;gap:4px;overflow:visible}.nav-link{background:0;border:0;color:var(--muted);font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif;font-size:13px;font-weight:500;padding:7px 14px;border-radius:8px;cursor:pointer;transition:color .15s,background .15s;text-decoration:none}.nav-link:hover{color:var(--teal);background:var(--teal-soft)}.nav-sep{width:1px;height:20px;background:var(--border);margin:0 6px}.nav-cta{background:var(--teal);color:white;border:0;font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;padding:8px 18px;border-radius:9px;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;text-decoration:none;text-decoration:none}.nav-cta:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(10,110,110,0.2)}.nav-logout{opacity:.5;padding:6px 8px}.nav-logout:hover{opacity:1}.nav-logout svg{display:block}.nav-lang{position:relative}.nav-lang-btn{background:0;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}.nav-lang-btn:hover{border-color:var(--teal);color:var(--teal)}.nav-lang-drop{position:absolute;top:calc(100% + 6px);right:0;background:var(--card,#fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(13,27,42,0.1);padding:4px;min-width:120px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:100}.nav-lang.open .nav-lang-drop{opacity:1;visibility:visible;transform:translateY(0)}.nav-lang-drop a{display:block;padding:7px 12px;font-size:12px;color:var(--slate);text-decoration:none;border-radius:7px;transition:background .1s}.nav-lang-drop a:hover{background:var(--teal-soft)}.nav-lang-drop a.active{color:var(--teal);font-weight:600}.main{flex:1;overflow-x:hidden}.main::-webkit-scrollbar{width:5px}.main::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.footer{padding:12px 28px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);background:rgba(255,255,255,0.5);border-top:1px solid rgba(221,230,232,0.4);flex-shrink:0}.footer a{color:var(--muted);text-decoration:none;margin-left:14px;transition:color .15s}.footer a:hover{color:var(--teal)}.send-page{display:flex;flex-direction:column;align-items:center;padding:32px 24px 60px;min-height:100%}.hero-area{text-align:center;margin-bottom:28px;max-width:520px;animation:fadeUp .5s ease}.hero-area h1{font-family:'Outfit',sans-serif;font-size:clamp(22px,3.5vw,27px);font-weight:800;color:var(--navy);line-height:1.18;letter-spacing:-.5px;margin-bottom:10px}.hero-area h1 em{font-style:normal;color:var(--teal)}.hero-area p{font-size:14px;color:var(--slate);line-height:1.65;max-width:420px;margin:0 auto}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.trust-row{display:flex;justify-content:center;gap:8px;margin-bottom:28px;flex-wrap:wrap;animation:fadeUp .5s ease .1s both;overflow:visible;position:relative;z-index:10}.trust-pill{display:flex;align-items:center;gap:5px;padding:5px 12px 5px 7px;border-radius:100px;background:rgba(255,255,255,0.9);border:1px solid var(--border-l);font-size:11px;font-weight:500;color:var(--slate)}.trust-pill .tp-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px}.send-card{max-width:560px;width:100%;background:rgba(255,255,255,0.97);border:1px solid rgba(221,230,232,0.7);border-radius:22px;box-shadow:0 2px 16px rgba(13,27,42,0.04);overflow:hidden;animation:fadeUp .5s ease .15s both}.card-top{height:3px;position:relative;background:var(--border-l);overflow:hidden;border-radius:22px 22px 0 0}.card-top::after{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:var(--teal);transition:width .3s}.card-top.uploading::after{width:var(--progress,0);background:linear-gradient(90deg,var(--teal),var(--mint),var(--coral),var(--teal));background-size:300% 100%;animation:barSlide 2s linear infinite}.card-top.done::after{width:100%;animation:none;background:var(--teal)}@keyframes barSlide{0%{background-position:100% 0}100%{background-position:-100% 0}}.card-body{padding:24px}.dropzone{border:2px dashed var(--border);border-radius:16px;padding:44px 20px;cursor:pointer;transition:background .3s,border-color .3s,color .3s,opacity .3s;text-align:center;background:rgba(244,248,248,0.5);position:relative}.dropzone:hover{border-color:var(--teal);background:rgba(10,110,110,0.02)}.dropzone.over{border-color:var(--teal);background:rgba(10,110,110,0.04);box-shadow:0 0 0 4px var(--teal-soft)}.dz-icon{color:var(--muted);margin-bottom:10px;opacity:.3;transition:background .3s,border-color .3s,color .3s,opacity .3s}.dropzone:hover .dz-icon{opacity:.5;transform:translateY(-4px);color:var(--teal)}.dz-title{font-family:'Outfit',sans-serif;font-size:17px;font-weight:700;color:var(--navy)}.dz-sub{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}.dz-sub b{color:var(--teal);font-weight:600;cursor:pointer}.dz-btn{padding:8px 18px;border-radius:10px;border:1px solid var(--border-l);background:var(--card,#fff);font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}.dz-btn:hover{background:var(--teal);color:white;border-color:var(--teal);transform:translateY(-1px)}.global-drop{position:fixed;inset:0;z-index:50;background:rgba(10,110,110,0.06);border:3px dashed var(--teal);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.global-drop.show{display:flex}.gd-inner{text-align:center;animation:fadeUp .2s ease}.gd-inner svg{color:var(--teal);margin-bottom:8px}.gd-title{font-family:'Outfit',sans-serif;font-size:20px;font-weight:700;color:var(--teal)}.agb-gate{animation:fadeUp .3s ease}.agb-box{background:linear-gradient(135deg,rgba(10,110,110,0.03),rgba(0,212,170,0.02));border:1px solid rgba(10,110,110,0.1);border-radius:14px;padding:20px;margin-bottom:16px}.agb-title{font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:8px}.agb-title svg{color:var(--teal)}.agb-checks{display:flex;flex-direction:column;gap:8px}.agb-check{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--slate);line-height:1.5;cursor:pointer}.agb-check input{margin-top:3px;accent-color:var(--teal);width:15px;height:15px;flex-shrink:0}.agb-check a{color:var(--teal);font-weight:600;text-decoration:underline}.agb-accept{width:100%;padding:12px;border-radius:12px;background:var(--teal);color:white;border:0;font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;margin-top:20px}.agb-accept:disabled{opacity:.35;cursor:not-allowed}.agb-accept:not(:disabled){opacity:1}.agb-accept:not(:disabled):hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(10,110,110,0.2)}.file-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.file-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(244,248,248,0.6);border:1px solid var(--border-l);animation:fadeUp .25s ease}.f-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--teal),var(--mint));display:flex;align-items:center;justify-content:center;flex-shrink:0}.f-info{flex:1;min-width:0;text-align:left}.f-name{font-size:13px;font-weight:600;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f-size{font-size:11px;color:var(--muted);margin-top:1px}.f-bar{width:100%;height:6px;border-radius:3px;background:var(--border-l);overflow:hidden;margin-top:6px}.f-fill{height:100%;border-radius:2px;transition:width .15s linear;position:relative;background:linear-gradient(90deg,var(--teal),var(--mint))}.f-fill.active{background-image:linear-gradient(90deg,var(--teal),var(--mint));background-size:200% 100%;animation:barShimmer 1.5s ease infinite}@keyframes barShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}.f-status{font-size:10px;font-weight:700;white-space:nowrap;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.3px}.f-status.enc{color:var(--teal);background:var(--teal-soft)}.f-status.up{color:var(--coral);background:var(--coral-soft)}.f-status.ok{color:var(--green);background:rgba(46,204,113,0.08)}.f-remove{background:0;border:0;color:var(--muted);cursor:pointer;font-size:16px;padding:4px;line-height:1;transition:color .15s}.f-remove:hover{color:var(--red)}.add-btn{background:0;border:1px dashed var(--border);border-radius:10px;padding:7px;color:var(--teal);font-size:12px;font-weight:600;cursor:pointer;width:100%;margin-bottom:14px;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif;transition:background .15s,border-color .15s,color .15s,opacity .15s}.add-btn:hover{border-color:var(--teal);background:rgba(10,110,110,0.02)}.why-carousel{margin:16px 0;padding:18px;border-radius:14px;background:linear-gradient(135deg,rgba(10,110,110,0.04),rgba(0,212,170,0.03));border:1px solid rgba(10,110,110,0.08);text-align:center;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .4s,border-color .4s,color .4s,opacity .4s}.why-icon{font-size:22px;margin-bottom:6px}.why-title{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--teal);margin-bottom:3px}.why-text{font-size:12px;color:var(--slate);line-height:1.5;max-width:380px}.why-dots{display:flex;gap:4px;justify-content:center;margin-top:10px}.why-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .3s,border-color .3s,color .3s,opacity .3s}.why-dot.active{background:var(--teal);width:18px;border-radius:3px}.form-area{border-top:1px solid var(--border-l);padding-top:16px;margin-top:4px;display:flex;flex-direction:column;gap:10px}.fld{display:flex;flex-direction:column;gap:3px}.fld-label{display:block;font-size:11px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.fld-label .req{color:var(--coral);margin-left:2px}.fld-input{padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif;color:var(--navy);outline:0;transition:background .2s,border-color .2s,color .2s,opacity .2s;background:var(--card,#fff)}.fld-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.fld-input::placeholder{color:#b8c8cc}.fld-input.err{border-color:var(--red);animation:shake .3s ease}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.fld-err{font-size:11px;color:var(--red);display:none}.fld-err.show{display:block}.ab-drop{display:none;position:absolute;top:100%;left:0;right:0;background:var(--card,#fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(13,27,42,0.1);z-index:50;max-height:200px;overflow-y:auto;margin-top:4px}.ab-head{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);padding:8px 12px 4px;font-weight:600}.ab-item{display:flex;align-items:center;padding:8px 12px;gap:8px;cursor:pointer;transition:background .1s}.ab-item:hover{background:var(--teal-soft)}.ab-email{flex:1;font-size:12px;color:var(--navy);overflow:hidden;text-overflow:ellipsis}.ab-del{font-size:16px;color:var(--muted);cursor:pointer;padding:0 4px;border-radius:4px;line-height:1;background:none;border:0;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;flex-shrink:0}.ab-del:hover{color:var(--red);background:rgba(230,57,70,0.08)}.rc-wrap{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:6px 10px;min-height:42px;background:var(--bg,#f8f9fa);border:1.5px solid var(--border-l,#e2e8f0);border-radius:10px;cursor:text;transition:border-color .15s}.rc-wrap:focus-within{border-color:var(--accent,#0a6e6e);box-shadow:0 0 0 3px rgba(10,110,110,0.08)}.rc-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 9px;background:var(--accent-soft,rgba(10,110,110,0.08));color:var(--accent,#0a6e6e);border-radius:6px;font-size:12px;font-weight:600;line-height:1.3;max-width:220px;animation:chipIn .15s ease}.rc-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-chip button{background:0;border:0;color:var(--accent,#0a6e6e);cursor:pointer;font-size:13px;padding:0 2px;opacity:.5;line-height:1;flex-shrink:0}.rc-chip button:hover{opacity:1;color:var(--red,#e63946)}.rc-chip.invalid{background:rgba(230,57,70,0.08);color:var(--red,#e63946)}.rc-chip.invalid button{color:var(--red,#e63946)}.rc-input{border:0;outline:0;background:transparent;font-size:13px;color:var(--navy);min-width:120px;flex:1;padding:3px 0;font-family:inherit}.rc-input::placeholder{color:var(--muted);font-weight:400}@keyframes chipIn{from{opacity:0;transform:scale(0.85)}to{opacity:1;transform:scale(1)}}.ab-save-overlay{position:fixed;inset:0;background:rgba(13,27,42,0.3);display:flex;align-items:center;justify-content:center;z-index:9999}.ab-save-modal{background:var(--card,#fff);border-radius:16px;padding:24px;max-width:360px;width:90%;box-shadow:0 12px 40px rgba(13,27,42,0.15)}.fld-textarea{resize:vertical;min-height:56px;max-height:100px}.paid-section{margin-top:10px}.paid-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.geo-pill{display:inline-flex;cursor:pointer;margin:0}.geo-pill input{display:none}.geo-pill-inner{display:inline-flex;align-items:center;gap:2px;font-size:10.5px;padding:3px 8px;border-radius:6px;border:1px solid var(--border-l);background:var(--bg);color:var(--navy);transition:all .15s;user-select:none}.geo-pill input:checked+.geo-pill-inner{background:var(--teal);color:#fff;border-color:var(--teal)}.geo-pill:hover .geo-pill-inner{border-color:var(--teal)}.opt-head:hover{background:var(--bg) !important}.opt-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0;cursor:pointer}.opt-toggle input{opacity:0;width:0;height:0}.opt-slider{position:absolute;inset:0;background:var(--border-l);border-radius:20px;transition:all .2s}.opt-slider::before{content:'';position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s}.opt-toggle input:checked+.opt-slider{background:var(--teal)}.opt-toggle input:checked+.opt-slider::before{transform:translateX(16px)}.paid-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.paid-opt{padding:9px 10px;border-radius:10px;border:1px solid var(--border-l);background:rgba(244,248,248,0.5);opacity:.45;cursor:not-allowed;position:relative}.paid-opt-name{font-size:11px;font-weight:600;color:var(--slate)}.paid-opt-desc{font-size:10px;color:var(--muted);margin-top:1px}.paid-tag{position:absolute;top:5px;right:6px;font-size:8px;font-weight:700;color:var(--coral);background:var(--coral-soft);padding:2px 6px;border-radius:4px;font-family:'Outfit',sans-serif;letter-spacing:.3px;text-transform:uppercase}.send-wrap{margin-top:16px}.send-btn{width:100%;padding:14px;border-radius:13px;background:var(--coral);color:white;border:0;font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:background .25s,transform .25s,box-shadow .25s}.send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px rgba(255,107,53,0.3)}.send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.send-hint{font-size:11px;color:var(--muted);text-align:center;margin-top:6px}.verify{text-align:center;animation:scaleIn .35s ease}.v-icon{width:60px;height:60px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;animation:pop .4s ease .15s both}@keyframes pop{from{transform:scale(0)}60%{transform:scale(1.12)}to{transform:scale(1)}}.v-icon.mail{background:var(--coral-soft)}.v-icon.ok{background:var(--mint-soft)}.v-title{font-family:'Outfit',sans-serif;font-size:20px;font-weight:800;color:var(--navy);margin-bottom:5px}.v-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:22px;max-width:350px;margin-left:auto;margin-right:auto}.v-sub b{color:var(--teal);font-weight:700}.code-row{display:flex;gap:7px;justify-content:center;margin-bottom:14px}.code-digit{width:42px;height:50px;border-radius:10px;border:2px solid var(--border);background:var(--card,#fff);text-align:center;font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--navy);outline:0;transition:border-color .2s}.code-digit:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.v-timer{font-size:12px;color:var(--muted);margin-bottom:18px}.v-timer span{color:var(--coral);font-weight:700;font-family:'JetBrains Mono',monospace}.v-confirm{padding:12px 32px;border-radius:11px;background:var(--teal);color:white;border:0;font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s,opacity .2s}.v-confirm:hover{background:var(--teal-dark)}.v-resend{background:0;border:0;color:var(--teal);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline;margin-top:12px;display:block}.v-note{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.5}.success{text-align:center;animation:scaleIn .35s ease}.s-title{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:var(--navy);margin-bottom:5px}.s-sub{font-size:13px;color:var(--muted);margin-bottom:22px;line-height:1.6}.s-sub b{color:var(--navy);font-weight:700}.link-row{display:flex;gap:8px;background:rgba(244,248,248,0.6);border:1px solid var(--border);border-radius:11px;padding:10px 12px;margin-bottom:14px;align-items:center}.link-url{flex:1;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.copy-btn{background:var(--teal);color:white;border:0;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:600;cursor:pointer;font-family:'Outfit',sans-serif;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,opacity .15s}.copy-btn:hover{background:var(--teal-dark)}.t-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:18px}.t-cell{background:rgba(244,248,248,0.5);border-radius:10px;padding:11px;text-align:left}.t-lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.t-val{font-size:13px;font-weight:600;color:var(--navy);margin-top:3px}.t-val.mono{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--teal)}.t-val.green{color:var(--green)}.new-btn{width:100%;padding:11px;border-radius:11px;background:0;border:1.5px solid var(--border);color:var(--slate);font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s}.new-btn:hover{border-color:var(--teal);color:var(--teal)}.cookie-toast{position:fixed;bottom:20px;left:20px;z-index:200;background:var(--card,#fff);border:1px solid var(--border);border-radius:14px;padding:16px 20px;max-width:360px;box-shadow:0 8px 32px rgba(13,27,42,0.08);animation:slideUp .4s ease;display:flex;flex-direction:column;gap:10px}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-text{font-size:12px;color:var(--slate);line-height:1.5}.cookie-text a{color:var(--teal);font-weight:600}.cookie-btns{display:flex;gap:8px}.cookie-ok{padding:7px 18px;border-radius:8px;background:var(--teal);color:white;border:0;font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif}.cookie-no{padding:7px 18px;border-radius:8px;background:0;border:1px solid var(--border);color:var(--muted);font-size:12px;cursor:pointer;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif}.dash-stat{background:var(--card,#fff);border-radius:14px;padding:16px;border:1px solid var(--border-l);box-shadow:0 1px 3px rgba(13,27,42,0.04);text-align:center}.dash-stat-val{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:var(--navy)}.dash-stat-lbl{font-size:11px;color:var(--muted);margin-top:2px}.badge{display:inline-block;font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.2px;font-family:'Outfit',sans-serif}.badge-teal{background:var(--teal-soft);color:var(--teal)}.badge-green{background:rgba(46,204,113,0.08);color:#1a9c52}.badge-red{background:rgba(230,57,70,0.08);color:var(--red)}.badge-default{background:rgba(138,155,165,0.08);color:var(--muted)}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:20px}.auth-card{background:var(--card,#fff);border-radius:18px;padding:36px;max-width:420px;width:100%;box-shadow:0 4px 16px rgba(13,27,42,0.06);border:1px solid var(--border-l)}.auth-logo{text-align:center;margin-bottom:20px}.auth-title{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:var(--navy);text-align:center}.auth-sub{font-size:13px;color:var(--muted);text-align:center;margin-bottom:20px}.auth-error{background:rgba(230,57,70,0.08);color:var(--red);padding:10px 14px;border-radius:8px;font-size:12px;margin-bottom:14px;border:1px solid rgba(230,57,70,0.15)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-field label{font-size:11px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.3px}.auth-field input{padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif;outline:0;transition:background .2s,border-color .2s,color .2s,opacity .2s;min-width:0;box-sizing:border-box;width:100%}.auth-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-btn{padding:12px;border-radius:10px;background:var(--teal);color:white;border:0;font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.auth-btn:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(10,110,110,0.2)}.auth-alt{text-align:center;font-size:12px;color:var(--muted);margin-top:16px}.auth-alt a{color:var(--teal);font-weight:600}[data-theme="dark"] .auth-card{background:var(--card);border-color:var(--border)}[data-theme="dark"] .auth-title{color:var(--navy)}[data-theme="dark"] .auth-sub{color:var(--muted)}[data-theme="dark"] .auth-field label{color:var(--slate)}[data-theme="dark"] .auth-field input{background:var(--bg);border-color:var(--border);color:var(--navy)}[data-theme="dark"] .auth-field input:focus{border-color:var(--teal);background:var(--card)}[data-theme="dark"] .auth-error{background:rgba(255,107,107,0.1);border-color:rgba(255,107,107,0.2)}[data-theme="dark"] .auth-alt{color:var(--muted)}.nav-burger{display:none;background:0;border:0;cursor:pointer;padding:6px;flex-direction:column;gap:5px;z-index:1001}.nav-burger span{display:block;width:22px;height:2px;background:var(--navy,#0d1b2a);border-radius:2px;transition:transform .3s,opacity .2s}.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(13,27,42,0.4);z-index:999;opacity:0;transition:opacity .3s}.mobile-overlay.open{display:block;opacity:1}.mobile-drawer{position:fixed;top:0;right:-300px;width:280px;max-width:80vw;height:100%;background:var(--card,#fff);z-index:1000;box-shadow:-4px 0 24px rgba(13,27,42,0.12);transition:right .3s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;overflow-y:auto}.mobile-drawer.open{right:0}.md-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-l,#eef3f3)}.md-close{background:0;border:0;cursor:pointer;padding:4px;color:var(--muted);border-radius:6px}.md-close:hover{background:var(--bg)}.md-links{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.md-link{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:500;color:var(--slate,#3a4f5f);text-decoration:none;border-radius:10px;transition:background .15s,color .15s}.md-link:hover,.md-link:active{background:var(--bg,#f4f8f8);color:var(--navy,#0d1b2a)}.md-link svg{flex-shrink:0;opacity:.6}.md-link.md-primary{background:var(--teal,#0a6e6e);color:#fff;font-weight:700}.md-link.md-primary svg{opacity:1;stroke:#fff}.md-link.md-primary:hover{background:#085858}.md-link.md-logout{color:var(--coral,#e63946)}.md-link.md-logout svg{stroke:var(--coral)}.md-sep{height:1px;background:var(--border-l,#eef3f3);margin:4px 14px}.md-footer{padding:12px 20px;border-top:1px solid var(--border-l,#eef3f3)}.md-footer-legal{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;margin-bottom:8px}.md-footer-legal a{font-size:11px;color:var(--muted);text-decoration:none}.md-footer-legal a:hover{color:var(--teal)}.md-lang-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;font-size:12px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--border-l);border-radius:6px;text-decoration:none;cursor:pointer;min-width:36px}.md-lang-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}.ft-supplement{display:flex;justify-content:center;align-items:center;gap:20px;padding:10px 28px;border-top:1px solid rgba(221,230,232,0.4);flex-wrap:wrap;flex-shrink:0}.ft-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px}.ft-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;color:var(--teal,#0a6e6e);white-space:nowrap}.ft-badge svg{opacity:.7;flex-shrink:0}.ft-pay-icons{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.ft-pay-icons svg{border-radius:3px;opacity:.75;transition:opacity .2s}.ft-pay-icons svg:hover{opacity:1}@media(max-width:768px){.nav{padding:0 16px}.nav-right .nav-sep{display:none}.nav-right .nav-link{font-size:12px;padding:6px 8px}.nav-lang-btn{font-size:10px;padding:3px 8px}}@media(max-width:640px){.nav{padding:0 14px;height:56px}.nav-burger{display:flex}.nav-right{display:none}.nav-logo img{height:28px}.send-page{padding:16px 10px 40px}.send-page .hero-area{padding:8px 0 12px}.send-page .hero-area h1{font-size:22px}.send-page .hero-area p{font-size:12px}.send-page .trust-row{gap:6px;flex-wrap:wrap;justify-content:center}.send-page .trust-pill{font-size:10px;padding:4px 8px}.send-page .send-card{margin:0 -2px;border-radius:14px}.card-body{padding:14px}.t-grid,.paid-grid,.auth-row{grid-template-columns:1fr}div[style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr 1fr !important}div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr !important}.dash-stat{padding:10px}.dash-grid{grid-template-columns:1fr 1fr !important}.fs-footer{flex-direction:column !important;gap:8px !important;text-align:center;padding:14px 16px !important}.fs-footer-links{justify-content:center !important;gap:8px 12px !important;font-size:10px}.ft-supplement{padding:8px 14px;gap:10px}.ft-trust{gap:3px 8px}.ft-badge{font-size:9px}.ft-badge svg{width:10px;height:10px}.ft-pay-icons svg{width:24px;height:15px}.pricing-card,.plan-card{min-width:0 !important;width:100% !important}div[style*="display:flex"][style*="gap:20px"]{flex-direction:column !important}div[style*="display:flex"][style*="gap:24px"]{flex-direction:column !important}.auth-card{margin:16px 10px;padding:24px 18px;border-radius:14px}div[style*="max-width:480px"]{max-width:100% !important;margin:0 8px !important}div[style*="padding:32px 16px"]{padding:16px 8px !important}div[style*="max-width:640px"]{max-width:100% !important;padding-left:10px !important;padding-right:10px !important}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:12px}th,td{padding:8px 10px !important;white-space:nowrap}div[style*="display:grid"][style*="200px"]{grid-template-columns:1fr 1fr !important}.legal-content,.subpage-section{padding:16px 14px !important}.limit-modal{width:96% !important;max-width:100% !important;border-radius:14px}.lm-header{padding:20px 16px 14px}div[style*="display:flex"][style*="justify-content:space-between"]{flex-wrap:wrap;gap:8px}.dl-card{margin:12px 8px !important}}@media(max-width:400px){.send-page .hero-area h1{font-size:18px}.dash-grid{grid-template-columns:1fr !important}.md-link{padding:10px 12px;font-size:13px}.ft-badge span{display:none}.ft-pay-icons svg{width:22px;height:14px}}[data-theme="dark"]{--teal:#1ba8a8;--teal-dark:#0a6e6e;--teal-soft:rgba(27,168,168,0.12);--coral:#ff8c5a;--coral-soft:rgba(255,140,90,0.12);--mint:#00e8bd;--mint-soft:rgba(0,232,189,0.1);--navy:#e8edf2;--slate:#b0bec5;--muted:#78909c;--bg:#0d1117;--card:#161b22;--border:#30363d;--border-l:#21262d;--red:#ff6b6b;--green:#4ade80;color-scheme:dark}[data-theme="dark"] body{color:var(--navy);background:var(--bg)}[data-theme="dark"] .bg-canvas{background:linear-gradient(160deg,#0d1117 0,#111820 30%,#0d1519 60%,#151010 100%)}[data-theme="dark"] .bg-canvas::before{background:radial-gradient(circle,rgba(0,212,170,0.06) 0,transparent 70%)}[data-theme="dark"] .bg-canvas::after{background:radial-gradient(circle,rgba(10,110,110,0.05) 0,transparent 70%)}[data-theme="dark"] .bg-dots{background-image:radial-gradient(circle,rgba(27,168,168,0.03) 1px,transparent 1px)}[data-theme="dark"] .nav{background:rgba(22,27,34,0.97);border-bottom-color:var(--border)}[data-theme="dark"] .send-card{background:var(--card);border:1px solid var(--border)}[data-theme="dark"] .send-card .card-body{background:transparent}[data-theme="dark"] .fld-input,[data-theme="dark"] .fld-select,[data-theme="dark"] select.fld-input{background:var(--bg);border-color:var(--border);color:var(--navy)}[data-theme="dark"] .fld-input:focus,[data-theme="dark"] .fld-select:focus{border-color:var(--teal);background:var(--card)}[data-theme="dark"] .fld-label{color:var(--slate)}[data-theme="dark"] .hero-title,[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3{color:var(--navy)}[data-theme="dark"] .dropzone{background:rgba(22,27,34,0.8);border-color:var(--border)}[data-theme="dark"] .dropzone.over,.dropzone:hover{background:var(--teal-soft);border-color:var(--teal)}[data-theme="dark"] .dz-title{color:var(--navy)}[data-theme="dark"] .dz-sub{color:var(--muted)}[data-theme="dark"] .dz-sub b{color:var(--teal)}[data-theme="dark"] .dz-btn{background:var(--card);border-color:var(--border);color:var(--navy)}[data-theme="dark"] .file-item{background:var(--bg);border-color:var(--border)}[data-theme="dark"] .trust-pill{background:var(--card);border-color:var(--border)}[data-theme="dark"] #loader{background:var(--bg)}[data-theme="dark"] .loader-text{color:var(--muted)}[data-theme="dark"] .loader-bar-wrap{background:var(--border)}[data-theme="dark"] a{color:var(--teal)}[data-theme="dark"] .nav-link{color:var(--muted)}[data-theme="dark"] .nav-link:hover{color:var(--teal);background:var(--teal-soft)}[data-theme="dark"] .nav-lang-btn{border-color:var(--border);color:var(--muted)}[data-theme="dark"] .nav-lang-drop{background:var(--card);border-color:var(--border)}[data-theme="dark"] .nav-lang-drop a{color:var(--muted)}[data-theme="dark"] .nav-lang-drop a:hover{background:var(--teal-soft)}[data-theme="dark"] .ab-drop{background:var(--card);border-color:var(--border)}[data-theme="dark"] .rc-wrap{background:var(--bg);border-color:var(--border)}[data-theme="dark"] .rc-chip{background:rgba(10,110,110,0.15)}[data-theme="dark"] .rc-input{color:var(--navy)}[data-theme="dark"] .ab-save-modal{background:var(--card)}[data-theme="dark"] .footer-link{color:var(--muted)}[data-theme="dark"] .footer-link:hover{color:var(--teal)}[data-theme="dark"] .send-btn{background:var(--teal)}[data-theme="dark"] .v-track-card,.v-code-card{background:var(--card);border-color:var(--border)}[data-theme="dark"] .v-icon{background:rgba(27,168,168,0.12)}[data-theme="dark"] .copy-btn{background:var(--teal)}[data-theme="dark"] .v-row .v-val{color:var(--navy)}[data-theme="dark"] .has-tip::after{background:var(--card);color:var(--navy);border:1px solid var(--border)}[data-theme="dark"] .nav-cta{color:#fff;background:#0b7a7a}[data-theme="dark"] .nav-cta:hover{color:#fff;background:#0a6464}[data-theme="dark"] .nav-burger span{background:var(--text,#e0e6e6)}[data-theme="dark"] .mobile-drawer{background:var(--card);box-shadow:-4px 0 24px rgba(0,0,0,0.4)}[data-theme="dark"] .md-header{border-color:var(--border)}[data-theme="dark"] .md-link{color:var(--slate)}[data-theme="dark"] .md-link:hover,[data-theme="dark"] .md-link:active{background:var(--bg);color:var(--text)}[data-theme="dark"] .md-sep{background:var(--border)}[data-theme="dark"] .md-footer{border-color:var(--border)}[data-theme="dark"] .ft-supplement{border-color:rgba(255,255,255,0.06)}[data-theme="dark"] .ft-pay-icons svg{opacity:.6}[data-theme="dark"] .ft-pay-icons svg:hover{opacity:.85}[data-theme="dark"] .a11y-toggle{border-color:var(--border);color:var(--muted)}[data-theme="dark"] .a11y-drop{background:var(--card);border-color:var(--border);box-shadow:0 8px 32px rgba(0,0,0,0.3)}[data-theme="dark"] .a11y-item{color:var(--slate)}[data-theme="dark"] .a11y-item:hover{background:var(--teal-soft)}[data-theme="dark"] .a11y-sz{border-color:var(--border);color:var(--muted)}[data-theme="dark"] .md-a11y-btn{border-color:var(--border);background:var(--bg);color:var(--muted)}[data-theme="dark"] .md-lang-btn{background:var(--bg);border-color:var(--border);color:var(--muted)}[data-theme="dark"] .md-lang-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}[data-theme="dark"] .mobile-overlay{background:rgba(0,0,0,0.5)}[data-theme="dark"] .auth-btn{color:#fff}[data-theme="dark"] .send-btn{color:#fff}.a11y-menu{position:relative}.a11y-toggle{background:0;border:1px solid var(--border);border-radius:8px;padding:5px 8px;cursor:pointer;display:flex;align-items:center;color:var(--muted);transition:border-color .15s,color .15s}.a11y-toggle:hover{border-color:var(--teal);color:var(--teal)}.a11y-drop{position:absolute;top:calc(100% + 8px);right:0;background:var(--card,#fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(13,27,42,0.12);padding:6px;min-width:240px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:200}.a11y-menu.open .a11y-drop{opacity:1;visibility:visible;transform:translateY(0)}.a11y-title{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:6px 10px 4px}.a11y-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:12.5px;font-weight:500;color:var(--slate);background:0;border:0;border-radius:8px;cursor:pointer;transition:background .1s;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto','Outfit',sans-serif;text-align:left}.a11y-item:hover{background:var(--teal-soft)}.a11y-item svg{flex-shrink:0;opacity:.6}.a11y-item.active{color:var(--teal)}.a11y-item.active svg{opacity:1}.a11y-fontsize{cursor:default}.a11y-fontsize:hover{background:0}.a11y-size-btns{display:flex;gap:3px;margin-left:auto}.a11y-sz{padding:3px 7px;font-size:11px;font-weight:700;border:1px solid var(--border-l);border-radius:5px;background:0;color:var(--muted);cursor:pointer;font-family:'DM Sans','DM Sans Fallback','DM Sans Fallback Roboto',sans-serif;transition:all .1s}.a11y-sz:hover{border-color:var(--teal);color:var(--teal)}.a11y-sz.active{background:var(--teal);color:#fff;border-color:var(--teal)}.a11y-sep{height:1px;background:var(--border-l);margin:4px 8px}.a11y-reset{color:var(--muted);font-size:11.5px}.md-a11y-row{display:flex;gap:6px;justify-content:center;margin:6px 0}.md-a11y-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-l);background:var(--bg);color:var(--muted);cursor:pointer;transition:all .15s}.md-a11y-btn:hover,.md-a11y-btn:active{border-color:var(--teal);color:var(--teal)}html.fs-font-large{zoom:1.125}html.fs-font-xl{zoom:1.25}html.fs-high-contrast{--navy:#000;--slate:#1a1a1a;--muted:#333;--border:#666;--border-l:#999;--bg:#fff;--card:#fff}html.fs-high-contrast [data-theme="dark"]{--navy:#fff;--slate:#e0e0e0;--muted:#ccc;--border:#888;--border-l:#666;--bg:#000;--card:#111}html.fs-no-animations *,html.fs-no-animations *::before,html.fs-no-animations *::after{animation-duration:.01ms !important;transition-duration:.01ms !important;animation-iteration-count:1 !important}html.fs-focus-visible *:focus{outline:3px solid var(--teal,#0a6e6e) !important;outline-offset:2px !important;box-shadow:0 0 0 4px rgba(10,110,110,0.2) !important}.skip-nav{position:absolute;top:-40px;left:0;background:var(--teal);color:#fff;padding:8px 16px;z-index:10000;font-size:14px;font-weight:600;transition:top .2s}.skip-nav:focus{top:0}[data-theme="dark"] .plan-card{background:var(--card);border-color:var(--border)}[data-theme="dark"] .plan-card.featured{border-color:var(--teal)}[data-theme="dark"] .plan-price{color:var(--navy)}[data-theme="dark"] .plan-feature{color:var(--slate)}[data-theme="dark"] .profile-card,[data-theme="dark"] .checkout-card{background:var(--card);border-color:var(--border)}[data-theme="dark"] .tab-btn{color:var(--muted);border-color:var(--border)}[data-theme="dark"] .tab-btn.active{color:var(--teal);border-color:var(--teal)}[data-theme="dark"] .stat-card{background:var(--card);border-color:var(--border)}[data-theme="dark"] .dash-table{background:var(--card);border-color:var(--border)}[data-theme="dark"] .dash-table th{background:var(--bg);color:var(--muted);border-color:var(--border)}[data-theme="dark"] .dash-table td{border-color:var(--border);color:var(--slate)}[data-theme="dark"] .footer{border-top-color:var(--border)}[data-theme="dark"] .team-card,[data-theme="dark"] .member-card{background:var(--card);border-color:var(--border)}html{transition:background .3s,color .3s}.send-card,.nav,.fld-input,.dropzone,.file-item,.trust-pill,.plan-card,.profile-card,.stat-card,.dash-table{transition:background .3s,border-color .3s,color .3s}[data-theme="dark"] .legal-content,[data-theme="dark"] .legal-card{background:var(--card);border-color:var(--border);color:var(--navy)}[data-theme="dark"] .legal-content h1,[data-theme="dark"] .legal-content h2,[data-theme="dark"] .legal-content h3{color:var(--navy)}[data-theme="dark"] .legal-content p,[data-theme="dark"] .legal-content li{color:var(--slate)}[data-theme="dark"] .request-card,[data-theme="dark"] .abuse-card{background:var(--card);border-color:var(--border)}[data-theme="dark"] .preview-modal{background:rgba(0,0,0,0.7)}[data-theme="dark"] .preview-content{background:var(--card);border-color:var(--border)}[data-theme="dark"] .modal-overlay{background:rgba(0,0,0,0.6)}[data-theme="dark"] option{background:var(--card);color:var(--navy)}[data-theme="dark"] select{background:var(--bg);color:var(--navy)}[data-theme="dark"] .success-card{background:var(--card);border-color:var(--border)}.limit-overlay{position:fixed;inset:0;background:rgba(13,27,42,0.6);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.limit-modal{background:var(--card,#fff);border-radius:18px;max-width:500px;width:92%;padding:0;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.2);animation:scaleIn .3s ease;overflow:hidden}.limit-close{position:absolute;top:14px;right:16px;background:0;border:0;font-size:18px;color:var(--muted);cursor:pointer;padding:4px;z-index:2}.limit-close:hover{color:var(--navy)}.lm-header{text-align:center;padding:28px 28px 20px}.lm-icon{font-size:32px;margin-bottom:6px}.lm-title{font-family:'Outfit',sans-serif;font-size:20px;font-weight:800;color:var(--navy);margin-bottom:6px}.lm-desc{font-size:13px;color:var(--slate);line-height:1.55}.lm-desc b{color:var(--navy);font-weight:600}.lm-option{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 16px 10px;padding:16px;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.lm-option:first-of-type{margin-top:0}.lm-opt-left{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.lm-opt-icon{font-size:20px;flex-shrink:0;margin-top:1px}.lm-opt-title{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--navy)}.lm-opt-sub{font-size:11.5px;color:var(--slate);line-height:1.4;margin-top:2px}.lm-opt-sub b{color:var(--teal);font-weight:700}.lm-opt-right{text-align:right;flex-shrink:0}.lm-opt-price{font-family:'Outfit',sans-serif;font-size:20px;font-weight:800;color:var(--navy);line-height:1}.lm-opt-per{font-size:10px;color:var(--muted);margin-top:2px}.lm-single{background:var(--bg);border:1px solid var(--border-l)}.lm-single:hover{border-color:var(--teal);background:rgba(10,110,110,0.03);box-shadow:0 2px 12px rgba(10,110,110,0.08)}.lm-opt-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.lm-opt-tags span{font-size:10px;color:var(--teal);background:rgba(10,110,110,0.06);padding:2px 7px;border-radius:4px;font-weight:500;white-space:nowrap}.lm-upgrade{background:linear-gradient(135deg,rgba(10,110,110,0.04),rgba(0,212,170,0.07));border:2px solid var(--teal);padding-top:26px}.lm-upgrade:hover{background:linear-gradient(135deg,rgba(10,110,110,0.07),rgba(0,212,170,0.1));box-shadow:0 4px 20px rgba(10,110,110,0.15)}.lm-pop-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--teal);color:white;font-size:10px;font-weight:700;padding:3px 12px;border-radius:0 0 8px 8px;letter-spacing:.3px;white-space:nowrap}.lm-opt-value{font-size:10.5px;color:var(--teal);font-weight:700;margin-top:4px}.lm-register{text-align:center;font-size:11.5px;color:var(--muted);padding:6px 28px 0;line-height:1.5}.lm-register a{color:var(--teal);font-weight:600;text-decoration:none}.lm-register a:hover{text-decoration:underline}.lm-register b{color:var(--navy);font-weight:600}.lm-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 28px 22px}.lm-allplans{font-size:12px;color:var(--teal);text-decoration:none;font-weight:600}.lm-allplans:hover{text-decoration:underline}.lm-ghost{background:0;border:0;color:var(--muted);font-size:11px;cursor:pointer;padding:4px}.lm-ghost:hover{color:var(--slate)}[data-theme="dark"] .limit-modal{background:var(--card);border:1px solid var(--border)}[data-theme="dark"] .lm-single{background:rgba(255,255,255,0.03);border-color:var(--border)}[data-theme="dark"] .lm-single:hover{background:rgba(10,110,110,0.06);border-color:var(--teal)}[data-theme="dark"] .lm-upgrade{background:rgba(10,110,110,0.08);border-color:var(--teal)}[data-theme="dark"] .lm-opt-tags span{background:rgba(10,110,110,0.12)}@media(max-width:480px){.limit-modal{width:96%;border-radius:14px}.lm-header{padding:24px 20px 16px}.lm-option{margin:0 12px 8px;padding:14px 12px;flex-wrap:wrap}.lm-opt-right{width:100%;text-align:left;display:flex;align-items:baseline;gap:6px;margin-top:6px;padding-left:32px}.lm-opt-price{font-size:16px}.lm-pop-badge{font-size:9px;padding:2px 10px}.lm-footer{padding:12px 20px 18px}}.premium-banner{background:linear-gradient(135deg,rgba(10,110,110,0.05),rgba(0,212,170,0.08));border:1px solid rgba(10,110,110,0.15);border-radius:12px;padding:14px 16px;margin:8px 0}.pb-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pb-badge{background:linear-gradient(135deg,var(--teal),#0a8a6e);color:white;font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px}.pb-title{font-size:13px;font-weight:600;color:var(--navy)}.pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:10px}.pb-item{font-size:11px;color:var(--slate);display:flex;align-items:center;gap:5px}.pb-item span{font-size:13px}.pb-cta{display:block;background:linear-gradient(135deg,var(--teal),#0a8a6e);color:white;text-align:center;padding:10px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s,opacity .2s}.pb-cta:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(10,110,110,0.25)}.premium-locked{position:relative;border:1px dashed rgba(10,110,110,0.3);border-radius:10px;padding:12px}.premium-locked .paid-label{color:var(--teal)}[data-theme="dark"] .premium-banner{background:rgba(10,110,110,0.08);border-color:rgba(10,110,110,0.2)}[data-theme="dark"] .premium-locked{border-color:rgba(10,110,110,0.4)}@media(max-width:480px){.pb-grid{grid-template-columns:1fr}}.premium-upsell{background:linear-gradient(135deg,rgba(10,110,110,0.04),rgba(0,212,170,0.06));border:1px solid rgba(10,110,110,0.15);border-radius:12px;overflow:hidden;margin:12px 0}.pu-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(10,110,110,0.06);border-bottom:1px solid rgba(10,110,110,0.1)}.pu-badge{font-size:12px;font-weight:700;color:var(--teal)}.pu-limit{font-size:11px;color:var(--coral);font-weight:600}.pu-body{padding:14px}.pu-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:10px}.pu-features{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.pu-feat{font-size:12px;color:var(--text);display:flex;align-items:center;gap:8px}.pu-check{color:var(--teal);font-weight:700;font-size:14px;flex-shrink:0}.pu-btn{display:block;text-align:center;background:linear-gradient(135deg,var(--teal),#0a8a6e);color:white;padding:10px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s,opacity .2s}.pu-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(10,110,110,0.3)}.paid-section.locked{position:relative;border:1px dashed rgba(10,110,110,0.3);border-radius:10px;padding:12px;margin:8px 0}.paid-lock-banner{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.paid-lock-banner span{font-size:13px;font-weight:700;color:var(--teal)}.paid-lock-link{font-size:12px;color:var(--teal);text-decoration:none;font-weight:600}.paid-lock-link:hover{text-decoration:underline}.free-tier-info{display:flex;align-items:flex-start;gap:8px;background:rgba(255,107,53,0.06);border:1px solid rgba(255,107,53,0.15);border-radius:8px;padding:10px 12px;margin:10px 0;font-size:12px;color:var(--navy)}.fti-icon{font-size:16px;flex-shrink:0;line-height:1}.fti-text{line-height:1.5}.free-dl-notice{background:rgba(255,107,53,0.06);border:1px solid rgba(255,107,53,0.15);border-radius:8px;padding:10px 14px;margin:10px 0;font-size:12px;color:var(--navy);text-align:center}.fs-feat-icon{color:var(--teal);font-weight:700;font-size:14px}[data-theme="dark"] .premium-upsell{background:rgba(10,110,110,0.08);border-color:rgba(10,110,110,0.2)}[data-theme="dark"] .free-tier-info{background:rgba(255,107,53,0.08);border-color:rgba(255,107,53,0.2)}.fs-slider{position:relative;overflow:hidden;border-radius:14px;margin:0 auto 20px;max-width:640px;box-shadow:0 2px 12px rgba(10,110,110,0.06);user-select:none}.fs-slider-track{display:flex;transition:transform .5s cubic-bezier(0.4,0,0.2,1),opacity .3s ease;will-change:transform}.fs-slide{min-width:100%;padding:20px 24px;display:flex;align-items:flex-start;gap:14px;box-sizing:border-box;min-height:100px}.fs-slide-icon{font-size:28px;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.7);border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,0.04)}.fs-slide-content{flex:1;min-width:0}.fs-slide-title{font-family:'Outfit',sans-serif;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:4px}.fs-slide-text{font-size:12.5px;color:var(--slate);line-height:1.55;margin-bottom:4px}.fs-slide-cta{display:inline-block;font-size:12px;font-weight:700;color:var(--teal);text-decoration:none;padding:4px 0;transition:padding-left .2s}.fs-slide-cta:hover{padding-left:4px}.fs-slider-dots{display:flex;justify-content:center;gap:6px;padding:0 0 12px;position:absolute;bottom:0;left:0;right:0}.fs-dot{width:7px;height:7px;border-radius:50%;background:rgba(10,110,110,0.2);cursor:pointer;transition:background .2s,border-color .2s,color .2s,opacity .2s}.fs-dot.active{background:var(--teal);transform:scale(1.3)}.fs-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.85);border:1px solid rgba(10,110,110,0.1);border-radius:50%;width:28px;height:28px;font-size:18px;color:var(--teal);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .15s,border-color .15s,color .15s,opacity .15s;line-height:1;padding:0}.fs-arrow:hover{background:var(--card,#fff);box-shadow:0 2px 8px rgba(0,0,0,0.1)}.fs-arrow-l{left:6px}.fs-arrow-r{right:6px}[data-theme="dark"] .fs-slide-icon{background:rgba(255,255,255,0.06)}[data-theme="dark"] .fs-arrow{background:rgba(30,40,60,0.85);border-color:rgba(255,255,255,0.1);color:var(--mint)}[data-theme="dark"] .fs-slider{box-shadow:0 2px 12px rgba(0,0,0,0.2)}.has-tip{cursor:help;position:relative}.has-tip::after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);background:var(--navy);color:#fff;padding:8px 11px;border-radius:8px;font-size:11.5px;line-height:1.5;max-width:220px;width:max-content;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s;z-index:9999;white-space:normal;text-align:left;font-weight:400;contain:layout style}.has-tip:hover::after{opacity:1;visibility:visible}[data-theme="dark"] .has-tip::after{background:#1a2a3e;border:1px solid rgba(255,255,255,0.08)}.fs-tip-popup{position:fixed;bottom:52px;z-index:9998;width:300px;background:var(--card,#fff);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,0.12);border:1px solid rgba(10,110,110,0.1);transform:translateY(120%);opacity:0;transition:transform .35s cubic-bezier(0.22,1,0.36,1),opacity .25s;pointer-events:none;overflow:hidden;will-change:transform,opacity;contain:layout style}.fs-tip-popup.right{right:20px}.fs-tip-popup.left{left:20px}.fs-tip-popup.show{transform:translateY(0);opacity:1;pointer-events:auto}.fs-tip-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid rgba(10,110,110,0.06)}.fs-tip-badge{font-size:13px;font-weight:700;color:var(--teal)}.fs-tip-close{background:0;border:0;font-size:16px;color:var(--muted);cursor:pointer;padding:2px 4px;line-height:1}.fs-tip-close:hover{color:var(--navy)}.fs-tip-body{padding:14px}.fs-tip-icon{font-size:24px;margin-bottom:6px}.fs-tip-title{font-family:'Outfit',sans-serif;font-size:14px;font-weight:800;color:var(--navy);margin-bottom:6px}.fs-tip-text{font-size:12.5px;color:var(--slate);line-height:1.55}.fs-tip-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px;border-top:1px solid rgba(10,110,110,0.06);background:rgba(10,110,110,0.02)}.fs-tip-cat{font-size:11px;color:var(--muted);text-transform:capitalize}.fs-tip-nav{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.fs-tip-nav button{background:0;border:1px solid rgba(10,110,110,0.15);border-radius:6px;width:24px;height:24px;font-size:16px;color:var(--teal);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,border-color .15s,color .15s,opacity .15s}.fs-tip-nav button:hover{background:var(--teal-soft);border-color:var(--teal)}[data-theme="dark"] .fs-tip-popup{background:var(--card);border-color:var(--border)}[data-theme="dark"] .fs-tip-close:hover{color:var(--text)}[data-theme="dark"] .fs-tip-footer{background:rgba(10,110,110,0.04)}.speed-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:6px;font-weight:600}.speed-badge.fast{background:rgba(0,212,170,0.08);color:var(--teal)}.speed-badge.medium{background:rgba(255,180,50,0.08);color:#b8860b}.speed-badge.slow{background:rgba(255,107,53,0.08);color:var(--coral)}.resume-indicator{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--teal);padding:3px 8px;border-radius:6px;background:rgba(10,110,110,0.06);font-weight:600}@media(max-width:600px){.fs-slide{padding:14px 16px;gap:10px;min-height:80px}.fs-slide-icon{width:36px;height:36px;font-size:22px}.fs-slide-title{font-size:14px}.fs-slide-text{font-size:11.5px}.fs-arrow{width:24px;height:24px;font-size:15px}.fs-tip-popup{width:calc(100vw - 24px);right:12px !important;left:12px !important;bottom:48px}}.fs-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;margin:24px auto 16px;max-width:640px;padding:0 8px}.fs-step{flex:1;text-align:center;padding:14px 10px;position:relative}.fs-step-num{position:absolute;top:8px;left:12px;font-size:10px;font-weight:800;color:var(--teal);opacity:.5}.fs-step-icon{font-size:28px;margin-bottom:6px}.fs-step-title{font-family:'Outfit',sans-serif;font-size:13px;font-weight:800;color:var(--navy);margin-bottom:4px}.fs-step-desc{font-size:11.5px;color:var(--slate);line-height:1.5}.fs-step-arrow{display:flex;align-items:center;color:var(--teal);font-size:20px;opacity:.4;padding-top:20px;flex-shrink:0}.fs-links-row{display:flex;justify-content:center;gap:12px;margin:28px auto 16px;flex-wrap:wrap;padding:0 16px}.fs-info-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--teal);text-decoration:none;padding:10px 20px;border-radius:10px;border:1px solid rgba(10,110,110,0.12);background:rgba(10,110,110,0.02);transition:background .15s,border-color .15s}.fs-info-link:hover{background:rgba(10,110,110,0.06);border-color:var(--teal)}[data-theme="dark"] .fs-step-title{color:var(--text)}[data-theme="dark"] .fs-step-desc{color:var(--muted)}[data-theme="dark"] .fs-info-link{border-color:rgba(0,212,170,0.15);background:rgba(0,212,170,0.04);color:var(--mint)}@media(max-width:500px){.fs-steps{flex-direction:column;gap:0;align-items:stretch}.fs-step{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 8px}.fs-step-num{position:static;font-size:10px}.fs-step-icon{font-size:24px;flex-shrink:0}.fs-step-arrow{display:none}.fs-step-title{font-size:13px;margin-bottom:1px}.fs-step-desc{font-size:11px}}.fs-slider-target{margin:20px 0}.subpage-section{max-width:720px;margin:0 auto;padding:20px}.subpage-hero{text-align:center;margin-bottom:28px}.subpage-hero h1{font-family:'Outfit',sans-serif;font-size:28px;font-weight:900;color:var(--navy);margin-bottom:8px}.subpage-hero p{font-size:14px;color:var(--slate);max-width:520px;margin:0 auto;line-height:1.6}.info-card{background:var(--card,#fff);border-radius:14px;border:1px solid var(--border-l);padding:20px 22px;margin-bottom:16px;transition:transform .15s,box-shadow .15s}.info-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.06)}.info-card-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.info-card-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.info-card-title{font-family:'Outfit',sans-serif;font-size:16px;font-weight:800;color:var(--navy)}.info-card-text{font-size:13px;color:var(--slate);line-height:1.65}[data-theme="dark"] .info-card{background:var(--card);border-color:var(--border)}[data-theme="dark"] .info-card-title{color:var(--text)}[data-theme="dark"] .subpage-hero h1{color:var(--text)}[data-theme="dark"] .agb-box{background:rgba(27,168,168,0.06);border-color:rgba(27,168,168,0.15)}[data-theme="dark"] .badge-green{background:rgba(74,222,128,0.1);color:#4ade80}[data-theme="dark"] .t-cell{background:var(--bg);color:var(--slate)}[data-theme="dark"] .why-carousel{background:rgba(27,168,168,0.06);border-color:rgba(27,168,168,0.12)}[data-theme="dark"] .speed-badge.medium{background:rgba(255,180,50,0.1);color:#ffcc40}[data-theme="dark"] .speed-badge.slow{background:rgba(255,107,107,0.1);color:#ff6b6b}[data-theme="dark"] .dash-stat{background:var(--card);border-color:var(--border)}[data-theme="dark"] .cookie-toast{background:var(--card);border-color:var(--border);box-shadow:0 8px 32px rgba(0,0,0,0.2)}[data-theme="dark"] .cookie-no{border-color:var(--border);color:var(--slate)}[data-theme="dark"] .code-digit{background:var(--bg);border-color:var(--border);color:var(--navy)}.lightweight .info-card:hover{transform:none !important;box-shadow:none !important}@media print{*{color:#000 !important;background:transparent !important;box-shadow:none !important;text-shadow:none !important}body{overflow:visible !important;height:auto !important;font-size:11pt;line-height:1.6}.nav,.footer,.bg-canvas,.bg-dots,.a11y-menu,.nav-cta,canvas,#loader,.particle-canvas{display:none !important}.app{opacity:1 !important;transform:none !important;height:auto !important;overflow:visible !important}.app>main,.app>div{overflow:visible !important}a{text-decoration:underline}a[href]::after{content:" (" attr(href) ")";font-size:9pt;color:#555 !important}a[href^="/"]:after{content:" (fairsend.de" attr(href) ")"}a[href^="#"]::after{content:""}h1,h2,h3{page-break-after:avoid;color:#000 !important}p,li{orphans:3;widows:3}h2{font-size:14pt;margin-top:18pt;border-bottom:1px solid #ccc;padding-bottom:4pt}div[style*="border-radius"]{border:none !important;padding:0 !important;margin:0 !important}@page{margin:2cm}}

/* ═══ Bell Dropdown ═══ */
.nav-bell{position:relative;display:inline-flex}
.nav-bell-btn{font-size:16px!important}
.bell-drop{display:none;position:absolute;top:calc(100% + 8px);right:-10px;width:340px;max-height:420px;background:var(--card,#fff);border:1px solid var(--border-l,#eef3f3);border-radius:14px;box-shadow:0 12px 40px rgba(13,27,42,0.15);z-index:9999;overflow:hidden;flex-direction:column}
.bell-drop.open{display:flex}
.bell-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-l,#eef3f3)}
.bell-header-title{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--navy,#0D1B2A)}
.bell-mark-all{background:none;border:none;font-size:11px;color:var(--teal,#0a6e6e);font-weight:600;cursor:pointer;padding:0}
.bell-mark-all:hover{text-decoration:underline}
.bell-list{overflow-y:auto;max-height:360px}
.bell-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border-l,#eef3f3);cursor:pointer;transition:background .15s}
.bell-item:hover{background:rgba(10,110,110,0.03)}
.bell-item.unread{background:rgba(10,110,110,0.04)}
.bell-item.unread:hover{background:rgba(10,110,110,0.07)}
.bell-item-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.bell-item-body{flex:1;min-width:0}
.bell-item-title{font-size:12px;font-weight:600;color:var(--navy,#0D1B2A);line-height:1.3}
.bell-item-text{font-size:11px;color:var(--muted,#667583);line-height:1.3;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bell-item-time{font-size:9px;color:var(--muted,#667583);margin-top:3px;opacity:.6}
.bell-dot{width:8px;height:8px;border-radius:50%;background:var(--teal,#0a6e6e);flex-shrink:0;margin-top:5px}
.bell-empty{text-align:center;padding:30px 16px;font-size:12px;color:var(--muted,#667583)}
[data-theme="dark"] .bell-drop{background:var(--card,#161b22);border-color:var(--border,#30363d)}
@media(max-width:640px){.bell-drop{right:-60px;width:calc(100vw - 24px);max-width:360px}}

/* Fix: placeholder hides when chips present */
.rc-wrap:has(.rc-chip) .rc-input::placeholder{color:transparent}
.rc-wrap:has(.rc-chip) .rc-input{min-width:80px}

/* ==========================================================================
   Startseite, Redesign Richtung A: heller Hero, alles mittig untereinander
   (Badge, H1, Lead, Upload-Karte, Vertrauenszeile). Werte aus dem Mockup
   "Startseite, Richtung A". Gilt nur unter .fsh-page (views/home/index.php,
   fairsend.js homeShellHTML). Steht am Dateiende, damit es die alten
   .send-card/.dropzone/.card-top-Regeln ueberstimmt; die Hook-Klassen selbst
   bleiben, nur ihr Aussehen aendert sich.
   ========================================================================== */
.send-page.fsh-page{padding:0;align-items:stretch;font-family:var(--fs-font)}
.fsh-page{
  --fsh-card-bg:var(--fs-bg); --fsh-drop-bg:var(--fs-tint); --fsh-drop-line:var(--fs-teal-200);
  --fsh-icon-bg:var(--fs-teal-100); --fsh-seg-bg:var(--fs-neutral-100); --fsh-seg-on:var(--fs-bg);
  --fsh-badge-line:var(--fs-teal-200); --fsh-badge-text:var(--fs-teal-700); --fsh-strong:var(--fs-primary-hover);
}
[data-theme="dark"] .fsh-page{
  --fsh-card-bg:var(--fs-surface); --fsh-drop-bg:var(--fs-bg); --fsh-drop-line:var(--fs-teal-800);
  --fsh-icon-bg:var(--fs-teal-900); --fsh-seg-bg:var(--fs-bg); --fsh-seg-on:var(--fs-border);
  --fsh-badge-line:var(--fs-teal-800); --fsh-badge-text:var(--fs-teal-200); --fsh-strong:var(--fs-teal-200);
}

/* Hero: heller Verlauf, zentriert */
.fsh-page .fsh-hero{background:linear-gradient(180deg,var(--fs-bg) 0%,var(--fs-surface-soft) 100%);color:var(--fs-text)}
.fsh-page .fsh-hero-inner{max-width:1200px;margin:0 auto;padding:72px 24px 56px;display:flex;flex-direction:column;
  align-items:center;gap:28px;text-align:center}
.fsh-page .fsh-badge{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 14px;border-radius:var(--fs-radius-pill);
  border:1px solid var(--fsh-badge-line);background:var(--fsh-card-bg);color:var(--fsh-badge-text);font-size:14px;font-weight:600;line-height:1.3}
.fsh-page .fsh-badge svg{flex-shrink:0;color:var(--fs-primary)}
.fsh-page .fsh-h1{margin:0;max-width:820px;font-family:var(--fs-font);font-size:clamp(36px,5vw,58px);line-height:1.08;font-weight:700;
  letter-spacing:-.025em;color:var(--fs-text);text-wrap:balance}
.fsh-page .fsh-h1 em{font-style:normal;color:var(--fs-primary)}
.fsh-page .fsh-lead{margin:0;max-width:640px;font-size:19px;line-height:1.5;color:var(--fs-text-muted);text-wrap:pretty}

/* Upload-Karte: weiss, feiner Rand, weicher Teal-Schatten, Radius 24 */
.fsh-page .send-card.fsh-card{position:relative;width:100%;max-width:760px;margin:8px 0 0;padding:12px;display:flex;flex-direction:column;gap:12px;
  background:var(--fsh-card-bg);color:var(--fs-text);border:1px solid var(--fs-border);border-radius:var(--fs-radius-lg);
  box-shadow:var(--fs-shadow-lg);font-family:var(--fs-font);text-align:left;overflow:hidden}
.fsh-page .fsh-card .card-top{position:absolute;left:0;right:0;top:0;height:4px;border-radius:0;background:transparent}
.fsh-page .fsh-card .card-top.uploading,.fsh-page .fsh-card .card-top.done{background:var(--fs-border)}
.fsh-page .fsh-card .card-top.uploading::after{background:var(--fs-primary);animation:none}
.fsh-page .fsh-card .card-top.done::after{background:var(--fs-success)}
.fsh-page .fsh-card .card-body{padding:0;background:transparent}
/* Dateiliste, AGB, Formular (alte Bausteine) brauchen innen etwas Luft; die Ablage im Leerlauf nicht */
.fsh-page .fsh-card:not(:has(.fsh-dz)) .card-body{padding:12px 12px 0}

/* Ablageflaeche (#dz, Klasse .over beim Ziehen) */
.fsh-page .fsh-card .dropzone{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:44px 24px;
  border:2px dashed var(--fsh-drop-line);border-radius:var(--fs-radius-md);background:var(--fsh-drop-bg);box-shadow:none}
.fsh-page .fsh-card .dropzone:hover{border-color:var(--fs-primary);background:var(--fsh-drop-bg)}
.fsh-page .fsh-card .dropzone.over{border-color:var(--fs-primary);border-style:solid;background:var(--fs-teal-50);box-shadow:0 0 0 4px var(--fs-teal-100)}
[data-theme="dark"] .fsh-page .fsh-card .dropzone.over{background:var(--fs-surface);box-shadow:0 0 0 4px var(--fs-teal-900)}
.fsh-page .fsh-dz-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--fs-radius-pill);
  background:var(--fsh-icon-bg);color:var(--fs-primary)}
.fsh-page .fsh-dz-title{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--fs-text)}
.fsh-page .fsh-dz-or{font-size:15px;color:var(--fs-text-muted)}
.fsh-page .fsh-dz-hint{font-size:13px;line-height:1.5;color:var(--fs-neutral-500)}
[data-theme="dark"] .fsh-page .fsh-dz-hint{color:var(--fs-text-muted)}
.fsh-page .fsh-dz-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

/* Buttons */
.fsh-page .fsh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--fs-radius);
  font:600 16px var(--fs-font);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.fsh-page .fsh-btn-primary{border:0;background:var(--fs-primary);color:var(--fs-on-primary)}
.fsh-page .fsh-btn-primary:hover{background:var(--fs-primary-hover)}
.fsh-page .fsh-btn-secondary{border:1px solid var(--fs-border);background:var(--fsh-card-bg);color:var(--fs-text)}
.fsh-page .fsh-btn-secondary:hover{background:var(--fs-surface);border-color:var(--fs-border-strong)}
.fsh-page .fsh-btn:focus-visible,.fsh-page .fsh-mode-btn:focus-visible,.fsh-page .fsh-login-hint a:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}

/* Unter der Ablage: Versandart links, Browser-Hinweis rechts (FS.setMode) */
.fsh-page .fsh-under{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 4px 4px;margin-top:12px}
.fsh-page .fsh-mode{display:inline-flex;gap:2px;padding:4px;border-radius:var(--fs-radius);background:var(--fsh-seg-bg)}
.fsh-page .fsh-mode-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 14px;border:0;
  border-radius:calc(var(--fs-radius) - 3px);background:transparent;color:var(--fs-text-muted);font:600 14px var(--fs-font);line-height:1.25;cursor:pointer}
.fsh-page .fsh-mode-btn svg{flex-shrink:0}
.fsh-page .fsh-mode-btn:hover{color:var(--fs-text)}
.fsh-page .fsh-mode-btn.is-on{background:var(--fsh-seg-on);color:var(--fs-text);box-shadow:var(--fs-shadow-xs)}
.fsh-page .fsh-under-note{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:1.4;color:var(--fsh-strong)}
.fsh-page .fsh-under-note svg{flex-shrink:0}
.fsh-page .fsh-plan{font-size:12px;line-height:1.5;color:var(--fs-text-muted);text-align:center;padding:2px 0 4px}

/* Fuss der Karte waehrend Upload/Formular; im Leerlauf steht der Hinweis rechts neben der Versandart */
.fsh-page .fsh-card-foot{display:flex;align-items:center;gap:8px;margin:0 12px 4px;padding-top:12px;border-top:1px solid var(--fs-border);
  font-size:13px;font-weight:500;line-height:1.4;color:var(--fsh-strong)}
.fsh-page .fsh-card-foot svg{flex-shrink:0}
.fsh-page .fsh-card:has(.fsh-under-note) > .fsh-card-foot{display:none}

/* Vertrauenszeile: eine zentrierte Zeile unter der Karte */
.fsh-page .fsh-trust{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 36px}
.fsh-page .fsh-trust li{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;line-height:1.35;color:var(--fs-text-soft)}
.fsh-page .fsh-trust li svg{flex-shrink:0;color:var(--fs-primary)}
.fsh-page .fsh-login-hint{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;margin-top:-8px;
  font-size:14px;line-height:1.45;color:var(--fs-text-muted)}
.fsh-page .fsh-login-hint b{color:var(--fs-text);font-weight:600}
.fsh-page .fsh-login-hint a{color:var(--fs-primary);font-weight:600;text-decoration:none;white-space:nowrap}
.fsh-page .fsh-login-hint a:hover{color:var(--fs-primary-hover);text-decoration:underline}

/* Schmal */
@media(max-width:640px){
  .fsh-page .fsh-hero-inner{padding:40px 16px 44px;gap:20px}
  .fsh-page .fsh-h1{font-size:clamp(30px,8.5vw,36px)}
  .fsh-page .fsh-lead{font-size:17px}
  .fsh-page .send-card.fsh-card{margin-top:4px;border-radius:var(--fs-radius-card)}
  .fsh-page .fsh-card .dropzone{padding:28px 16px;gap:12px}
  .fsh-page .fsh-dz-actions .fsh-btn{flex:1 1 100%}
  .fsh-page .fsh-under{flex-direction:column;align-items:stretch;padding:4px 0 0}
  .fsh-page .fsh-mode{display:grid;grid-template-columns:1fr 1fr}
  .fsh-page .fsh-mode-btn{gap:6px;padding:6px 8px;font-size:13px}
  .fsh-page .fsh-under-note{justify-content:center}
  .fsh-page .fsh-trust{flex-direction:column;align-items:flex-start;gap:10px;margin-top:8px;text-align:left}
  .fsh-page .fsh-login-hint{margin-top:0}
}
/* ======================= Ende Startseite (Richtung A) ====================== */

/* ==========================================================================
   /send, Redesign Richtung A (Seite 1): drei Zustaende Dateien waehlen,
   Upload + Optionen, Fertig. /send traegt .fsh-page und .fss-page
   (views/transfer/send.php, fairsend.js sendShellHTML) und erbt Karte, Ablage,
   Buttons und Versandart von der Startseite. Nur unter .fss-page: kompakter
   Kopf, Schrittanzeige, Touch-Hoehen unter der Karte. Die Upload-Schritte
   (Fortschritt, Dateiliste, AGB, Formular, Code, Fertig) stehen unter .fsh-page
   und gelten damit auf /send und auf der Startseite gleich (gleiche Spezifitaet
   und Reihenfolge wie vorher, /send unveraendert). Die alten Bausteine behalten
   ihre Hooks, nur ihr Aussehen aendert sich hier; !important nur gegen
   Inline-Stile dieser Bausteine.
   ========================================================================== */
.fsh-page{
  --fss-row:var(--fs-surface); --fss-track:var(--fs-neutral-100); --fss-ok-bg:var(--fs-teal-100); --fss-field:var(--fs-bg);
  --fss-wait:var(--fs-coral-700); --fss-wait-bg:var(--fs-coral-300);
}
[data-theme="dark"] .fsh-page{
  --fss-row:var(--fs-bg); --fss-track:var(--fs-border); --fss-ok-bg:var(--fs-teal-900); --fss-field:var(--fs-bg);
  --fss-wait:var(--fs-coral-300); --fss-wait-bg:var(--fs-coral-700);
}

/* Kopf kompakter als auf der Startseite */
.fss-page .fsh-hero-inner{padding:48px 24px 64px;gap:20px}
.fss-page .fss-h1{font-size:clamp(30px,4vw,44px)}
.fss-page .fss-lead{font-size:17px;max-width:600px}
.fss-page .send-card.fsh-card{max-width:680px;margin-top:4px}

/* Schrittanzeige */
.fss-page .fss-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px}
.fss-page .fss-steps li{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:1.3;color:var(--fs-text-muted)}
.fss-page .fss-steps li + li::before{content:"";width:28px;height:2px;border-radius:2px;background:var(--fs-border-strong)}
.fss-page .fss-step-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--fs-radius-pill);
  border:2px solid var(--fs-border-strong);background:var(--fsh-card-bg);color:var(--fs-text-muted);font-size:13px;font-weight:700}
.fss-page .fss-steps li.is-on{color:var(--fs-text)}
.fss-page .fss-steps li.is-on .fss-step-n{background:var(--fs-primary);border-color:var(--fs-primary);color:var(--fs-on-primary)}
.fss-page .fss-steps li.is-done .fss-step-n{background:var(--fss-ok-bg);border-color:var(--fss-ok-bg);color:var(--fs-primary)}

/* Zustand 2: Fortschritt */
.fsh-page .fss-prog{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 12px 8px;text-align:center}
.fsh-page .fss-ring{--p:0;flex-shrink:0;width:148px;height:148px;border-radius:var(--fs-radius-pill);display:flex;align-items:center;justify-content:center;
  background:conic-gradient(var(--fs-primary) calc(var(--p) * 1%),var(--fss-track) 0)}
.fsh-page .fss-prog.is-done .fss-ring{background:var(--fs-primary)}
.fsh-page .fss-ring-in{width:120px;height:120px;border-radius:var(--fs-radius-pill);background:var(--fsh-card-bg);display:flex;align-items:center;justify-content:center}
.fsh-page .fss-pct{font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--fs-text);font-variant-numeric:tabular-nums}
.fsh-page .fss-pct small{font-size:18px;font-weight:600;color:var(--fs-text-muted)}
.fsh-page .fss-ring-ok{display:inline-flex;color:var(--fs-primary)}
.fsh-page .fss-ring-ok svg{width:44px;height:44px}
.fsh-page .fss-prog-text{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.fsh-page .fss-prog-title{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--fs-text)}
.fsh-page .fss-prog-meta{font-size:14px;color:var(--fs-text-muted)}
.fsh-page .fss-status{min-height:20px;font-size:13px;line-height:1.45;color:var(--fs-text-muted);font-variant-numeric:tabular-nums}
.fsh-page .fss-speed:empty{display:none}
.fsh-page .speed-badge{font-size:12px;padding:4px 10px;border-radius:var(--fs-radius-pill)}
.fsh-page .fss-cancel{height:44px;padding:0 18px;font-size:15px}
/* kompakt ueber dem Formular */
.fsh-page .fss-prog.is-compact{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 6px 4px;text-align:left}
.fsh-page .fss-prog.is-compact .fss-ring{width:64px;height:64px}
.fsh-page .fss-prog.is-compact .fss-ring-in{width:52px;height:52px}
.fsh-page .fss-prog.is-compact .fss-pct{font-size:16px;letter-spacing:-.01em}
.fsh-page .fss-prog.is-compact .fss-pct small{font-size:11px}
.fsh-page .fss-prog.is-compact .fss-ring-ok svg{width:24px;height:24px}
.fsh-page .fss-prog.is-compact .fss-prog-text{flex:1 1 220px;align-items:flex-start}
.fsh-page .fss-prog.is-compact .fss-prog-title{font-size:16px}
.fsh-page .fss-prog.is-compact .fss-cancel{height:44px;padding:0 14px;font-size:14px}

/* Dateiliste (alte Hooks: .file-row, #bar{i}, #st{i}) */
.fsh-page #fileListArea{margin-top:8px}
.fsh-page .file-list{display:flex;flex-direction:column;gap:8px}
.fsh-page .file-row{gap:12px;padding:8px 6px 8px 12px;border-radius:14px;background:var(--fss-row);border:1px solid transparent;font-family:var(--fs-font)}
.fsh-page .f-icon{width:36px;height:36px;border-radius:10px;background:var(--fss-ok-bg)!important}
.fsh-page .f-icon svg{stroke:var(--fs-primary)}
.fsh-page .f-name{font-size:14px;font-weight:600;color:var(--fs-text)}
.fsh-page .f-size{font-size:12px;color:var(--fs-text-muted)}
.fsh-page .f-bar{height:6px;border-radius:var(--fs-radius-pill);background:var(--fss-track)}
.fsh-page .f-fill,.fsh-page .f-fill.active{border-radius:var(--fs-radius-pill);background:var(--fs-primary);animation:none}
.fsh-page .f-status{padding:4px 10px;border-radius:var(--fs-radius-pill);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.fsh-page .f-status.ok{color:var(--fs-primary);background:var(--fss-ok-bg)}
.fsh-page .f-status.up,.fsh-page .f-status.wait{color:var(--fs-text-soft);background:var(--fsh-card-bg)}
.fsh-page .file-row > button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px!important;
  color:var(--fs-text-muted)!important;font-size:22px!important;margin-left:0!important}
.fsh-page .file-row > button:hover{background:var(--fsh-card-bg)!important;color:var(--fs-danger)!important}
[data-theme="dark"] .fsh-page .file-row > button:hover{color:var(--fs-coral-300)!important}
.fsh-page .fss-add{width:100%;min-height:44px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;
  border:2px dashed var(--fsh-drop-line);border-radius:14px;background:var(--fsh-drop-bg);color:var(--fs-primary);font:600 14px var(--fs-font);cursor:pointer}
.fsh-page .fss-add:hover,.fsh-page .fss-add.over{border-color:var(--fs-primary)}
.fsh-page .fss-add.over{border-style:solid}
.fsh-page .fss-note{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;padding:12px 14px;border-radius:14px;background:var(--fss-row);
  font-size:13px;line-height:1.5;color:var(--fs-text-muted)}
.fsh-page .fss-note svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fsh-page .fss-note b{color:var(--fs-text);font-weight:600}
.fsh-page .fss-resume{padding:14px;border-radius:14px;background:var(--fss-row);text-align:center}
.fsh-page .fss-resume-t{font-size:15px;font-weight:600;color:var(--fs-primary)}
.fsh-page .fss-resume-m{margin-top:4px;font-size:13px;color:var(--fs-text-muted)}
.fsh-page .fss-mono{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace}

/* AGB waehrend des Uploads (Hooks #a1 #a2 #a3 #agbBtn) */
.fsh-page .agb-box{margin:14px 0 4px;padding:20px;border-radius:var(--fs-radius-md);border:1px solid var(--fsh-drop-line);background:var(--fsh-drop-bg)}
.fsh-page .agb-title{font-family:var(--fs-font);font-size:17px;font-weight:600;color:var(--fs-text)}
.fsh-page .agb-title svg{color:var(--fs-primary)}
.fsh-page .agb-box > div[style]{font-size:13px!important;color:var(--fs-text-muted)!important}
.fsh-page .agb-checks{gap:4px}
.fsh-page .agb-check{min-height:44px;align-items:center;gap:12px;padding:6px 0;font-size:14px;color:var(--fs-text-soft)}
.fsh-page .agb-check input{width:20px;height:20px;margin:0;accent-color:var(--fs-primary)}
.fsh-page .agb-check a{color:var(--fs-primary)}
.fsh-page .agb-accept{height:48px;margin-top:12px;border-radius:var(--fs-radius);background:var(--fs-primary);color:var(--fs-on-primary);font:600 16px var(--fs-font)}
.fsh-page .agb-accept:not(:disabled):hover{background:var(--fs-primary-hover);transform:none;box-shadow:none}
.fsh-page .agb-accept:disabled{opacity:1;background:var(--fs-surface);color:var(--fs-text-muted);border:1px solid var(--fs-border)}
[data-theme="dark"] .fsh-page .agb-accept:disabled{background:var(--fs-bg)}
.fsh-page .agb-box button[onclick*="_fsCancelUpload"]{min-height:44px;padding:4px 12px!important;font:500 14px var(--fs-font)!important;color:var(--fs-text-muted)!important}

/* Formular (Hooks #se #re #rcWrap .rc-chip #msgF #sendBtn, Optionen) */
.fsh-page .form-area{margin-top:16px;padding-top:20px;gap:16px;border-top:1px solid var(--fs-border);font-family:var(--fs-font)}
.fsh-page .fss-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.fss-page .fsh-mode-btn{min-height:44px}
.fsh-page .fss-mode .fsh-mode-btn{min-height:44px}
/* Touch-Ziele unter der Karte (Anmelde-Hinweis, Info-Links) */
.fss-page .fsh-login-hint a{min-height:44px;display:inline-flex;align-items:center}
.fss-page .fs-info-link{min-height:44px;display:inline-flex;align-items:center}
.fsh-page .fld{gap:6px}
.fsh-page .fld-label{margin:0;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--fs-text-soft)}
.fsh-page .fld-label .req{color:var(--fs-coral-700)}
[data-theme="dark"] .fsh-page .fld-label .req{color:var(--fs-coral-300)}
.fsh-page .fld-label button{min-height:44px;padding:0 12px!important;border-radius:var(--fs-radius-sm)!important;font:600 13px var(--fs-font)!important}
.fsh-page #pwEyeBtn{min-width:44px;min-height:44px;right:0!important;justify-content:center}
.fsh-page .opt-body .fld-input{width:100%}
.fsh-page .fld-input{min-height:44px;padding:10px 12px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius-sm);background:var(--fss-field);
  color:var(--fs-text);font:500 15px var(--fs-font)}
.fsh-page .fld-input:focus{border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsh-drop-line)}
.fsh-page .fld-input::placeholder,.fsh-page .rc-input::placeholder{color:var(--fs-neutral-500)}
[data-theme="dark"] .fsh-page .fld-input::placeholder,[data-theme="dark"] .fsh-page .rc-input::placeholder{color:var(--fs-text-muted)}
.fsh-page .fld-textarea{min-height:88px;max-height:200px}
.fsh-page .fld > div[style*="font-size:10px"]{font-size:12px!important;color:var(--fs-text-muted)!important}
.fsh-page .rc-wrap{min-height:44px;padding:5px 8px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius-sm);background:var(--fss-field)}
.fsh-page .rc-wrap:focus-within{border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsh-drop-line)}
.fsh-page .rc-input{min-height:32px;font-size:15px;color:var(--fs-text)}
.fsh-page .rc-chip{padding:4px 4px 4px 10px;border-radius:var(--fs-radius-pill);font-size:13px}
.fsh-page .rc-chip button{min-width:28px;min-height:28px;font-size:16px}
.fsh-page .opt-accordion{border-color:var(--fs-border)!important;border-radius:14px!important}
.fsh-page .opt-head{min-height:56px}
.fsh-page .opt-head > div > div:first-child{font-size:14px!important;color:var(--fs-text)!important}
.fsh-page .opt-head > div > div + div{font-size:12px!important;color:var(--fs-text-muted)!important}
.fsh-page .opt-toggle{width:44px;height:44px}
.fsh-page .opt-slider{inset:9px 0;background:var(--fs-border-strong)}
.fsh-page .opt-slider::before{width:22px;height:22px}
.fsh-page .opt-toggle input:checked + .opt-slider{background:var(--fs-primary)}
.fsh-page .opt-toggle input:checked + .opt-slider::before{transform:translateX(18px)}
.fsh-page .opt-toggle input:focus-visible + .opt-slider{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsh-page .premium-banner{margin:14px 0 0;padding:16px;border-radius:var(--fs-radius-md);border:1px solid var(--fsh-drop-line);background:var(--fsh-drop-bg)}
.fsh-page .pb-badge,.fsh-page .pb-cta{background:var(--fs-primary);color:var(--fs-on-primary)}
.fsh-page .pb-cta{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--fs-radius-sm)}
.fsh-page .pb-title{color:var(--fs-text)}
.fsh-page .pb-item{font-size:13px;color:var(--fs-text-soft)}
.fsh-page .send-wrap{margin-top:4px}
.fsh-page .send-btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;background:var(--fs-primary);
  color:var(--fs-on-primary);font:600 16px var(--fs-font);opacity:1!important}
.fsh-page .send-btn:hover:not(:disabled){background:var(--fs-primary-hover);transform:none;box-shadow:none}
.fsh-page .send-btn:disabled{background:var(--fs-surface);color:var(--fs-text-muted);border:1px solid var(--fs-border)}
[data-theme="dark"] .fsh-page .send-btn:disabled{background:var(--fs-bg)}
.fsh-page .send-hint{margin-top:8px;font-size:13px;color:var(--fs-text-muted)}
.fsh-page .fss-discard{text-align:center}
.fsh-page .fss-link-btn{min-height:44px;padding:4px 12px;border:0;background:none;color:var(--fs-text-muted);font:500 14px var(--fs-font);text-decoration:underline;cursor:pointer}
.fsh-page .fss-link-btn:hover{color:var(--fs-text)}

/* Bestaetigungscode (anonym per E-Mail) */
.fsh-page .card-body.verify{padding:24px 16px 16px;text-align:center;font-family:var(--fs-font)}
.fsh-page .verify .v-title{font-family:var(--fs-font);font-size:22px;font-weight:700;color:var(--fs-text)}
.fsh-page .verify .v-sub,.fsh-page .verify .v-note{font-size:14px;color:var(--fs-text-muted)}
.fsh-page .code-row{gap:8px}
.fsh-page .code-digit{width:48px;height:56px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fss-field);color:var(--fs-text);font:600 24px var(--fs-font)}
.fsh-page .code-digit:focus{border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsh-drop-line)}
.fsh-page .v-confirm{min-height:48px;padding:0 28px;border-radius:var(--fs-radius);background:var(--fs-primary);color:var(--fs-on-primary);font:600 16px var(--fs-font)}
.fsh-page .v-confirm:hover{background:var(--fs-primary-hover)}
.fsh-page .verify button[onclick*="resetAll"],.fsh-page #resendBtn{min-height:44px}

/* Zustand 3: fertig */
.fsh-page .fss-done{display:flex;flex-direction:column;gap:20px;padding:20px 12px 12px;font-family:var(--fs-font)}
.fsh-page .fss-done-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.fsh-page .fss-done-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--fs-radius-pill);background:var(--fss-ok-bg);color:var(--fs-primary)}
.fsh-page .fss-done.is-wait .fss-done-icon{background:var(--fsh-drop-bg);color:var(--fss-wait)}
.fsh-page .fss-done-title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.015em;color:var(--fs-text);text-wrap:balance}
.fsh-page .fss-done-sub{margin:0;max-width:520px;font-size:15px;line-height:1.5;color:var(--fs-text-muted);text-wrap:pretty}
.fsh-page .fss-done-sub b{color:var(--fs-text)}
.fsh-page .fss-field{display:flex;flex-direction:column;gap:6px}
.fsh-page .fss-label{font-size:13px;font-weight:600;color:var(--fs-text-soft)}
.fsh-page .fss-linkrow{display:flex;gap:8px}
.fsh-page .fss-input{flex:1;min-width:0;height:48px;padding:0 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fss-row);
  color:var(--fs-text);font:500 14px var(--fs-font);text-overflow:ellipsis}
.fsh-page .fss-input:focus{outline:2px solid var(--fs-teal-400);outline-offset:1px}
.fsh-page .fss-input.fss-mono{font-size:16px;font-weight:600;letter-spacing:.04em}
.fsh-page .fss-copy{flex-shrink:0;height:48px;padding:0 18px}
.fsh-page .fss-copy.is-copied{background:var(--fs-primary-hover)}
.fsh-page .fss-hint{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--fs-text-muted)}
.fsh-page .fss-code{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--fs-radius-md);border:1px solid var(--fsh-drop-line);background:var(--fsh-drop-bg)}
.fsh-page .fss-code-t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--fs-text)}
.fsh-page .fss-code-t svg{color:var(--fs-primary)}
.fsh-page .fss-callout{margin:0;padding:12px 14px;border-radius:14px;background:var(--fss-row);font-size:14px;line-height:1.5;color:var(--fs-text-soft)}
.fsh-page .fss-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.fsh-page .fss-meta > div{min-width:0;padding:10px 12px;border-radius:12px;background:var(--fss-row)}
.fsh-page .fss-meta dt{font-size:12px;color:var(--fs-text-muted)}
.fsh-page .fss-meta dd{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--fs-text);overflow-wrap:anywhere}
.fsh-page .fss-meta dd.fss-mono{font-size:12px;word-break:break-all}
.fsh-page .fss-meta dd.is-ok{color:var(--fs-primary)}
.fsh-page .fss-meta dd.is-wait{color:var(--fss-wait)}
.fsh-page .fss-new{width:100%}
.fsh-page #abSaveArea .new-btn{min-height:44px;border-radius:var(--fs-radius)!important;font:600 15px var(--fs-font)!important}
.fsh-page .fss-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Schmal */
@media(max-width:640px){
  .fss-page .fsh-hero-inner{padding:28px 16px 44px;gap:16px}
  .fss-page .fss-h1{font-size:clamp(28px,8vw,34px)}
  .fss-page .fss-lead{font-size:16px}
  .fss-page .fss-steps{gap:6px 8px}
  .fss-page .fss-steps li + li::before{width:16px}
  .fss-page .fss-steps li:not(.is-on) .fss-step-l{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .fsh-page .fss-ring{width:128px;height:128px}
  .fsh-page .fss-ring-in{width:104px;height:104px}
  .fsh-page .fss-pct{font-size:30px}
  .fsh-page .fss-prog.is-compact .fss-cancel{flex:1 1 100%}
  .fsh-page .agb-box{padding:16px}
  .fsh-page .fss-meta{grid-template-columns:1fr}
  .fsh-page .fss-done-title{font-size:21px}
}
@media(max-width:480px){
  .fsh-page .card-body.verify{padding:20px 0 12px}
  .fsh-page .opt-body{padding:0 12px 12px!important}
  .fsh-page .opt-body > div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  .fsh-page .fss-linkrow{flex-direction:column}
  .fsh-page .fss-input{flex:none;width:100%}
  .fsh-page .fss-copy{width:100%}
  .fsh-page .code-digit{width:44px;height:52px;font-size:22px}
  .fsh-page .code-row{gap:4px}
}
/* ========================= Ende /send (Richtung A) ========================= */

/* ==========================================================================
   Fusszeile, Redesign Richtung A (views/layouts/frontend.php): Hinweis
   "Warum Fairsend?" (nur abgemeldet), Fusszeile der Seite und Fusszeile im
   Menue (Burger). Eigene Klassen fsf-*, keine Inline-Stile; die alten Regeln
   fuer .fs-footer/.md-footer greifen damit nicht mehr. Alles bricht um, nichts
   ist breiter als der Bildschirm. Keine Zahlungssymbole (Entscheidung 2026-10-15).
   ========================================================================== */
/* Hinweis "Warum Fairsend?" und Nachrichten-Banner der Startseite: gleiche Breite wie die Upload-Karte (760 + Rand) */
.fsf-cta-wrap{width:100%;max-width:808px;margin:32px auto 40px;padding:0 24px;font-family:var(--fs-font)}
.fsf-cta{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);
  background:var(--fs-bg);color:var(--fs-text);text-decoration:none;box-shadow:var(--fs-shadow-xs);transition:border-color .15s,box-shadow .15s}
.fsf-cta:hover{border-color:var(--fs-teal-300);box-shadow:var(--fs-shadow-md)}
.fsf-cta:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsf-cta-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--fs-radius-pill);
  background:var(--fs-teal-100);color:var(--fs-primary)}
[data-theme="dark"] .fsf-cta-icon{background:var(--fs-teal-900)}
.fsf-cta-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fsf-cta-title{font-size:15px;font-weight:600;color:var(--fs-text)}
.fsf-cta-desc{font-size:14px;line-height:1.45;color:var(--fs-text-muted)}
.fsf-cta-link{flex-shrink:0;font-size:14px;font-weight:600;color:var(--fs-primary);white-space:nowrap}

/* Startseite unterhalb der Karte: ein Rhythmus von 40px (mobil 32px), Vertrauenszeile und Anmelde-Hinweis
   gehoeren zusammen (20px). Nur die Startseite (.fsh-page ohne .fss-page), /send bleibt unveraendert. */
.app:has(.fsh-page:not(.fss-page)){background:var(--fs-bg)}
.fsh-page:not(.fss-page) .fsh-hero-inner{padding-bottom:24px}
.fsh-page:not(.fss-page) .fsh-hero:last-child .fsh-hero-inner{padding-bottom:40px}
.fsh-page:not(.fss-page) .fsh-trust{margin-top:12px}
.fsh-page:not(.fss-page) .fs-links-row{margin:16px auto 40px;padding:0 24px;gap:12px}
.fsh-page:not(.fss-page) .fs-info-link{min-height:44px;padding:0 20px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-pill);
  background:var(--fs-bg);color:var(--fs-text-soft);font:600 14px var(--fs-font)}
.fsh-page:not(.fss-page) .fs-info-link:hover{border-color:var(--fs-primary);color:var(--fs-primary)}
.fsh-page:not(.fss-page) .fs-info-link:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.main:has(.fsh-page:not(.fss-page)) + .fsf-cta-wrap{margin-top:0}
.fsh-page .fsh-msg{width:100%;max-width:808px;margin:16px auto 40px;padding:0 24px}
.fsh-msg .fsf-cta-link{font-size:18px;line-height:1}

/* Fusszeile: Raster Marke | Produkt | Rechtliches, darunter die Meta-Zeile */
.fsf{flex-shrink:0;border-top:1px solid var(--fs-border);background:var(--fs-surface);color:var(--fs-text-muted);font-family:var(--fs-font)}
.fsf-inner{max-width:1200px;margin:0 auto;padding:32px 24px 16px}
.fsf-grid{display:grid;grid-template-columns:minmax(0,240px) auto auto auto;justify-content:start;gap:24px 56px}
/* Vektor-Logo wie in der Kopfzeile (fs-logo: app.js updateLogos schaltet hell/dunkel), etwas kleiner */
.fsf-brand img.fs-logo{display:block;width:auto!important;height:auto!important;max-height:28px!important}
.fsf-brand img.fs-logo[src$="logo-a-light.svg"],.fsf-brand img.fs-logo[src$="logo-a-dark.svg"]{width:118px!important;max-height:none!important}
.fsf-brand-tag{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--fs-text-muted)}
.fsf-h{margin:0 0 6px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.02em;color:var(--fs-text)}
/* Akkordeon-Button nur mobil (<= 640 px), ab 641 px unsichtbar und nicht fokussierbar */
.fsf-acc-btn{display:none}
.fsf-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.fsf-legal-lists{display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:0 48px}
.fsf-list a,.fsf-dlinks a{min-width:0;overflow-wrap:break-word;font-size:14px;font-weight:500;line-height:1.4;color:var(--fs-text-soft);text-decoration:none}
.fsf-list a{display:inline-flex;align-items:center;min-height:28px}
.fsf-list a:hover,.fsf-dlinks a:hover{color:var(--fs-primary);text-decoration:underline;text-underline-offset:3px}
.fsf a:focus-visible,.fsf-drawer a:focus-visible,.fsf-a11y-btn:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px;border-radius:6px}
.fsf-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-top:24px;padding-top:16px;
  border-top:1px solid var(--fs-border);font-size:13px;line-height:1.4}
.fsf-copy{white-space:nowrap}
/* DB-IP-Hinweis: Pflicht (CC BY 4.0), so blass wie fuer 11px noch lesbar (Kontrast >= 4.5:1) */
.fsf .fsf-dbip{font-size:11px;font-weight:400;color:var(--fs-neutral-500);text-decoration:none}
[data-theme="dark"] .fsf .fsf-dbip{color:#7E8C8C}
.fsf .fsf-dbip:hover{color:var(--fs-primary);text-decoration:underline}

/* Linien-Icons fs_ic() / FS_IC() (statt Emoji): einfarbig in Textfarbe, im Fliesstext auf der Grundlinie */
.fs-ic{display:inline-block;vertical-align:-.15em;flex-shrink:0}
.fs-ic-fill svg{fill:currentColor}
/* Menue-Icons (Burger und Mehr-Menue der Kopfzeile): einfarbig in Textfarbe, keine Emoji */
.md-links .md-link.md-logout{color:var(--slate,#3a4f5f)}
[data-theme="dark"] .md-links .md-link.md-logout{color:var(--slate)}
.md-links .md-link.md-logout svg{stroke:currentColor}
.nav-lang-drop a.nav-drop-ic{display:flex;align-items:center;gap:8px;white-space:nowrap}
.nav-lang-drop a.nav-drop-ic svg{flex-shrink:0;opacity:.7}
#navMsgLink svg{display:block}

/* Fusszeile im Menue */
.fsf-drawer{padding:12px 16px 16px;border-top:1px solid var(--fs-border);font-family:var(--fs-font)}
.fsf-dh{margin:8px 0 0;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--fs-text-muted)}
.fsf-dlinks{display:flex;flex-direction:column}
.fsf-dlinks a{min-height:44px;display:flex;align-items:center;font-size:13px}
.fsf-a11y{display:flex;justify-content:center;gap:8px;margin:12px 0}
.fsf-a11y-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--fs-border);
  border-radius:var(--fs-radius-sm);background:var(--fs-bg);color:var(--fs-text-muted);cursor:pointer;transition:border-color .15s,color .15s}
.fsf-a11y-btn:hover{border-color:var(--fs-primary);color:var(--fs-primary)}
.fsf-a11y-txt{font:700 13px var(--fs-font)}
.fsf-langs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fsf-drawer .fsf-lang{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;border:1px solid var(--fs-border);
  border-radius:var(--fs-radius-sm);background:var(--fs-bg);color:var(--fs-text-muted);font-size:11px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none}
.fsf-drawer .fsf-lang:hover{border-color:var(--fs-primary);color:var(--fs-text)}
.fsf-drawer .fsf-lang.active{background:var(--fs-primary);border-color:var(--fs-primary);color:var(--fs-on-primary)}
.fsf-flag{display:inline-block;min-width:22px;padding:1px 3px;border:1px solid currentColor;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.04em;line-height:1.3;text-align:center}

/* Tablet: Marke ueber volle Breite, darunter Produkt | Rechtliches; Touch-Ziele 44px */
@media(max-width:1024px){
  .fsf-grid{grid-template-columns:repeat(2,auto);gap:20px 64px}
  .fsf-brand{grid-column:1/-1}
}
/* Touch-Geraete: Links 44px hoch */
@media(pointer:coarse){.fsf-list a{min-height:44px}}
/* Mobil: linksbuendig; Produkt und Rechtliches als Akkordeon (Standard zu, nur mit JS: footer.fsf-acc),
   Links einspaltig und 44 px hoch. Marke und Meta-Zeile bleiben immer sichtbar. */
@media(max-width:640px){
  .fsf-cta-wrap{margin:24px auto 32px;padding:0 16px}
  .fsf-cta{flex-wrap:wrap;padding:14px 16px}
  .fsf-cta-text{flex-basis:calc(100% - 58px)}
  .fsf-cta-link{margin-left:58px}
  .fsh-msg .fsf-cta{flex-wrap:nowrap}
  .fsh-msg .fsf-cta-text{flex-basis:auto}
  .fsh-msg .fsf-cta-link{margin-left:0}
  .fsh-page:not(.fss-page) .fsh-hero-inner{padding-bottom:20px}
  .fsh-page:not(.fss-page) .fsh-hero:last-child .fsh-hero-inner{padding-bottom:32px}
  .fsh-page:not(.fss-page) .fs-links-row{margin:12px auto 32px;padding:0 16px;gap:8px}
  .fsh-page:not(.fss-page) .fs-info-link{padding:0 16px}
  .fsh-page .fsh-msg{margin:12px auto 32px;padding:0 16px}
  .fsf-inner{padding:24px 16px 16px}
  .fsf-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .fsf-brand{grid-column:auto;margin-bottom:20px}
  .fsf-legal-lists{grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:0}
  .fsf-list a{display:flex;min-height:44px}
  .fsf-meta{margin-top:16px;padding-top:12px}
  .fsf-acc .fsf-col{border-top:1px solid var(--fs-border)}
  .fsf-acc .fsf-col:last-child{border-bottom:1px solid var(--fs-border)}
  .fsf-acc .fsf-h{margin:0;font-size:inherit;letter-spacing:0}
  .fsf-acc .fsf-h-txt{display:none}
  /* Button 8 px ueber die Kante hinaus, damit der Fokusring Abstand zum Text hat; Text bleibt auf der 16-px-Kante */
  .fsf-acc .fsf-acc-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% + 16px);min-height:48px;margin:0 -8px;padding:0 8px;
    border:0;background:none;color:var(--fs-text);font:600 15px/1.4 var(--fs-font);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .fsf-acc .fsf-acc-btn svg{flex-shrink:0;color:var(--fs-text-muted);transition:transform .2s ease}
  .fsf-acc .fsf-acc-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
  .fsf-acc .fsf-acc-btn:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:-2px;border-radius:6px}
  .fsf-acc .fsf-col:not(.is-open) .fsf-list,.fsf-acc .fsf-col:not(.is-open) .fsf-legal-lists{display:none}
  .fsf-acc .fsf-col.is-open{padding-bottom:8px}
  .fsf-acc .fsf-meta{margin-top:0;border-top:0}
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.fsf-acc .fsf-acc-btn svg{transition:none}}
/* ======================= Ende Fusszeile (Richtung A) ======================= */

/* ==========================================================================
   Empfangsseite, Redesign Richtung A (Seite 2): views/transfer/download.php,
   expired.php, not-found.php, unavailable.php. Gilt nur unter .fsd-page.
   Nur Optik: alle IDs des Download-Skripts bleiben (dlBtn, dlConsent, dlPassword,
   dlProgress > dlStatus, bar-/fill-/st-{id}, podArea, ...). !important nur gegen
   Inline-Stile, die das Skript setzt.
   ========================================================================== */
.fsd-page{
  --fsd-card:var(--fs-bg); --fsd-row:var(--fs-surface); --fsd-track:var(--fs-neutral-100); --fsd-ok-bg:var(--fs-teal-100);
  --fsd-line:var(--fs-teal-200); --fsd-warn:var(--fs-coral-700); --fsd-warn-line:var(--fs-coral-300); --fsd-err:var(--fs-danger);
}
[data-theme="dark"] .fsd-page{
  --fsd-card:var(--fs-surface); --fsd-row:var(--fs-bg); --fsd-track:var(--fs-border); --fsd-ok-bg:var(--fs-teal-900);
  --fsd-line:var(--fs-teal-800); --fsd-warn:var(--fs-coral-300); --fsd-warn-line:var(--fs-coral-700); --fsd-err:var(--fs-coral-300);
}
.send-page.fsd-page{display:block;min-height:100%;padding:48px 24px 72px;font-family:var(--fs-font);color:var(--fs-text);
  background:linear-gradient(180deg,var(--fs-bg) 0%,var(--fs-surface-soft) 320px)}
.fsd-page .fsd-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}

/* Karte */
.fsd-page .fsd-card{min-width:0;display:flex;flex-direction:column;background:var(--fsd-card);border:1px solid var(--fs-border);border-radius:var(--fs-radius-lg);
  box-shadow:var(--fs-shadow-lg);overflow:hidden}
.fsd-page .fsd-brand{display:flex;align-items:center;gap:12px;padding:16px 28px;border-bottom:1px solid var(--fs-border);border-top:4px solid var(--fsd-brand)}
.fsd-page .fsd-brand img{max-height:36px;max-width:120px;object-fit:contain}
.fsd-page .fsd-brand-text{flex:1;min-width:0}
.fsd-page .fsd-brand-name{font-size:15px;font-weight:600;color:var(--fs-text)}
.fsd-page .fsd-brand-tag{font-size:13px;color:var(--fs-text-muted)}
.fsd-page .fsd-brand-via{font-size:12px;color:var(--fs-text-muted);white-space:nowrap}
/* Team-Header-Bild ueber dem Branding (Team-Sendung, Branding im Team-Tarif) */
.fsd-page .fsd-brand-header{height:120px;overflow:hidden;border-radius:var(--fs-radius-lg) var(--fs-radius-lg) 0 0}
.fsd-page .fsd-brand-header img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.fsd-page .fsd-head{display:flex;flex-direction:column;gap:14px;padding:28px 28px 20px;border-bottom:1px solid var(--fs-border)}
.fsd-page .fsd-sender{display:flex;align-items:center;gap:12px;min-width:0}
.fsd-page .fsd-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--fs-radius-pill);
  background:var(--fsd-ok-bg);color:var(--fs-primary);font-size:17px;font-weight:700}
.fsd-page .fsd-sender-text{min-width:0}
.fsd-page .fsd-sender-lbl{font-size:13px;color:var(--fs-text-muted)}
.fsd-page .fsd-sender-mail{font-size:16px;font-weight:600;color:var(--fs-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fsd-page .fsd-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--fs-text);text-wrap:balance}
.fsd-page .fsd-msg{margin:0;padding:12px 16px;border-left:3px solid var(--fsd-line);border-radius:0 12px 12px 0;background:var(--fsd-row);
  font-size:15px;line-height:1.55;color:var(--fs-text-soft);overflow-wrap:anywhere}
.fsd-page .fsd-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fsd-page .fsd-pills li{display:inline-flex;align-items:center;min-height:30px;padding:4px 12px;border-radius:var(--fs-radius-pill);background:var(--fsd-row);
  font-size:13px;font-weight:500;line-height:1.35;color:var(--fs-text-soft)}
.fsd-page .fsd-pills li.is-warn,.fsd-page .is-warn{color:var(--fsd-warn)}

/* Hinweise */
.fsd-page .fsd-note{margin:16px 28px 0;padding:12px 14px;border:1px solid var(--fsd-line);border-radius:12px;background:var(--fs-tint);
  font-size:14px;line-height:1.5;color:var(--fs-text-soft)}
.fsd-page .fsd-note.is-warn{border-color:var(--fsd-warn-line);color:var(--fsd-warn)}
.fsd-page .fsd-note b{color:inherit}

/* Dateiliste (Hooks .file-row, bar-/fill-/st-{id}) */
.fsd-page .dl-files{margin:16px 16px 0;border:0}
.fsd-page .dl-files > summary{list-style:none;cursor:pointer;min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  border-radius:12px;font-size:15px;font-weight:600;color:var(--fs-text)}
.fsd-page .dl-files > summary::-webkit-details-marker{display:none}
.fsd-page .dl-files > summary:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsd-page .dl-files > summary .cnt{font-weight:500;color:var(--fs-text-muted)}
.fsd-page .dl-files > summary .chev{color:var(--fs-text-muted);transition:transform .2s}
.fsd-page .dl-files[open] > summary .chev{transform:rotate(180deg)}
.fsd-page .dl-filescroll{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:4px 0 2px}
.fsd-page .file-row{margin:0;display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-radius:14px;background:var(--fsd-row);animation:none}
.fsd-page .f-icon{width:40px;height:40px;flex-shrink:0;border-radius:10px;background:var(--fsd-card);border:1px solid var(--fs-border);color:var(--fs-primary)}
.fsd-page .f-info{flex:1;min-width:0}
.fsd-page .f-name{font-size:15px;font-weight:600;color:var(--fs-text)}
.fsd-page .f-size{font-size:13px;color:var(--fs-text-muted)}
.fsd-page .f-bar{height:6px;margin-top:8px;border-radius:var(--fs-radius-pill);background:var(--fsd-track)}
.fsd-page .f-fill,.fsd-page .f-fill.active{border-radius:var(--fs-radius-pill);background:var(--fs-primary);animation:none}
.fsd-page .f-status{flex-shrink:0;padding:4px 10px;border-radius:var(--fs-radius-pill);background:var(--fsd-card);color:var(--fs-text-soft);
  font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.fsd-page .f-status.up{color:var(--fs-text-soft);background:var(--fsd-card)}
.fsd-page .f-status.ok{color:var(--fs-primary);background:var(--fsd-ok-bg)}

/* Aktion */
.fsd-page .dl-action{display:flex;flex-direction:column;gap:14px;margin:0;padding:20px 28px 24px;border:0;background:none}
.fsd-page .fld{display:flex;flex-direction:column;gap:6px;margin:0}
.fsd-page .fld-label{margin:0;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--fs-text-soft)}
.fsd-page .fld-input{min-height:48px;padding:10px 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fsd-card);
  color:var(--fs-text);font:500 16px var(--fs-font)}
.fsd-page .fld-input:focus{outline:0;border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsd-line)}
.fsd-page .fld-input::placeholder{color:var(--fs-neutral-500)}
[data-theme="dark"] .fsd-page .fld-input::placeholder{color:var(--fs-text-muted)}
.fsd-page .fsd-code{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}
.fsd-page .fsd-hint{font-size:13px;line-height:1.5;color:var(--fs-text-muted)}
.fsd-page .dl-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.fsd-page .dl-choice{position:relative;min-height:64px;padding:12px 14px;border:1px solid var(--fs-border-strong);border-radius:14px;background:var(--fsd-card);
  text-align:left;cursor:pointer;font-family:var(--fs-font);color:var(--fs-text)}
.fsd-page .dl-choice:hover{border-color:var(--fs-primary)}
.fsd-page .dl-choice:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsd-page .dl-choice.sel{border:2px solid var(--fs-primary);background:var(--fs-tint);padding:11px 13px}
.fsd-page .dl-choice .t{font-size:15px;font-weight:600;color:var(--fs-text)}
.fsd-page .dl-choice.sel .t{color:var(--fs-primary)}
.fsd-page .dl-choice .d{margin-top:2px;font-size:13px;color:var(--fs-text-muted)}
.fsd-page .dl-choice .chk{position:absolute;top:10px;right:12px;display:none;color:var(--fs-primary);font-weight:700}
.fsd-page .dl-choice.sel .chk{display:block}
.fsd-page .dl-consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:0;font-size:14px;line-height:1.5;color:var(--fs-text-soft);cursor:pointer}
.fsd-page .dl-consent input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--fs-primary)}
.fsd-page .fsd-btn{width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:0;border-radius:14px;
  background:var(--fs-primary);color:var(--fs-on-primary);font:600 17px var(--fs-font);cursor:pointer;opacity:1!important;box-shadow:none;transform:none}
.fsd-page .fsd-btn:hover:not(:disabled){background:var(--fs-primary-hover);transform:none;box-shadow:none}
.fsd-page .fsd-btn:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsd-page .fsd-btn:disabled{background:var(--fsd-row);color:var(--fs-text-muted);border:1px solid var(--fs-border);cursor:not-allowed!important}
.fsd-page .fsd-progress{padding:12px 14px;border-radius:12px;background:var(--fsd-row);text-align:center;font-size:14px;line-height:1.5;color:var(--fs-text-soft)}
.fsd-page #dlStatus[style*="--red"]{color:var(--fsd-err)!important;font-weight:600}
.fsd-page #dlSpeedBadge{margin-top:6px}
.fsd-page .speed-badge{font-size:12px;padding:4px 10px;border-radius:var(--fs-radius-pill)}
.fsd-page #fsdlNote[style*="--red"]{color:var(--fsd-err)!important}
/* Abbrechen-Knopf, den das Download-Skript waehrend des Streamings einfuegt (Inline-Stil) */
.fsd-page #fsdlCancel{min-height:44px;padding:0 18px!important;border:1px solid var(--fs-border-strong)!important;border-radius:var(--fs-radius)!important;
  background:var(--fsd-card)!important;color:var(--fs-text)!important;font:600 14px var(--fs-font)!important}
.fsd-page #fsdlCancel:hover{border-color:var(--fs-primary)!important}

/* Zustellnachweis */
.fsd-page .fsd-pod{margin:0 28px 20px;padding-top:18px;border-top:1px solid var(--fs-border)}
.fsd-page .fsd-pod-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.fsd-page .fsd-pod-title{font-size:15px;font-weight:600;color:var(--fs-text)}
.fsd-page .fsd-pod-box{padding:12px 14px;border:1px solid var(--fs-border);border-radius:12px;background:var(--fsd-row)}
.fsd-page .fsd-pod-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:6px;font-size:12px;color:var(--fs-text-muted)}
.fsd-page .fsd-pod-ok{font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-primary)}
.fsd-page .fsd-pod-hash{font-size:12px;line-height:1.6;color:var(--fs-text-soft);word-break:break-all}
.fsd-page .fsd-mono{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace}

/* Eckdaten */
.fsd-page .fsd-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0 28px 28px}
.fsd-page .fsd-meta > div{min-width:0;padding:10px 12px;border-radius:12px;background:var(--fsd-row)}
.fsd-page .fsd-meta dt{font-size:12px;color:var(--fs-text-muted)}
.fsd-page .fsd-meta dd{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--fs-text);overflow-wrap:anywhere}
.fsd-page .fsd-meta dd.fsd-mono{font-size:12px;word-break:break-all}
.fsd-page .fsd-sub{display:block;margin-top:2px;font-size:12px;font-weight:500;color:var(--fs-text-muted)}

/* Seitenspalte */
.fsd-page .fsd-aside{min-width:0;display:flex;flex-direction:column;gap:20px}
.fsd-page .fsd-info{padding:24px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);background:var(--fsd-card)}
.fsd-page .fsd-info h2{margin:0 0 14px;font-size:17px;font-weight:600;color:var(--fs-text)}
.fsd-page .fsd-info ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.fsd-page .fsd-info li{position:relative;padding-left:22px;font-size:14px;line-height:1.5;color:var(--fs-text-soft)}
.fsd-page .fsd-info li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:var(--fs-radius-pill);background:var(--fs-primary)}
.fsd-page .fsd-info li span[style]{color:var(--fs-primary)!important}
.fsd-page .fsd-promo{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--fs-radius-card);background:var(--fs-teal-950);border:1px solid var(--fs-teal-900)}
.fsd-page .fsd-promo-k{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-teal-300)}
.fsd-page .fsd-promo-t{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--fs-neutral-50)}
.fsd-page .fsd-promo p{margin:0;font-size:14px;line-height:1.5;color:var(--fs-neutral-200)}
.fsd-page .fsd-promo-btn{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:var(--fs-radius);
  background:var(--fs-teal-300);color:var(--fs-teal-950);font-size:15px;font-weight:600;text-decoration:none}
.fsd-page .fsd-promo-btn:hover{background:var(--fs-teal-200)}
.fsd-page .fsd-promo-btn:focus-visible{outline:2px solid var(--fs-teal-200);outline-offset:2px}
.fsd-page .fsd-abuse{text-align:center}
.fsd-page .fsd-abuse a{min-height:44px;display:inline-flex;align-items:center;padding:0 8px;font-size:13px;color:var(--fs-text-muted);text-decoration:underline}

/* Fehlerseiten */
.fsd-page .fsd-error{max-width:520px;margin:24px auto 0;padding:40px 28px 32px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;
  background:var(--fsd-card);border:1px solid var(--fs-border);border-radius:var(--fs-radius-lg);box-shadow:var(--fs-shadow-lg)}
.fsd-page .fsd-err-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--fs-radius-pill);background:var(--fsd-ok-bg);color:var(--fs-primary)}
.fsd-page .fsd-err-icon.is-warn{background:var(--fs-tint);color:var(--fsd-warn);border:1px solid var(--fsd-warn-line)}
.fsd-page .fsd-err-title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.015em;color:var(--fs-text);text-wrap:balance}
.fsd-page .fsd-err-text{margin:0;max-width:420px;font-size:15px;line-height:1.55;color:var(--fs-text-muted);text-wrap:pretty}
.fsd-page .fsd-err-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}
.fsd-page .fsd-err-btn,.fsd-page .fsd-err-link{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:var(--fs-radius);
  font-size:15px;font-weight:600;text-decoration:none}
.fsd-page .fsd-err-btn{background:var(--fs-primary);color:var(--fs-on-primary)}
.fsd-page .fsd-err-btn:hover{background:var(--fs-primary-hover)}
.fsd-page .fsd-err-link{border:1px solid var(--fs-border-strong);background:var(--fsd-card);color:var(--fs-text)}
.fsd-page .fsd-err-link:hover{border-color:var(--fs-primary)}

/* Schmal */
@media(max-width:900px){
  .fsd-page .fsd-grid{grid-template-columns:minmax(0,1fr);max-width:680px}
}
@media(max-width:640px){
  .send-page.fsd-page{padding:24px 16px 48px}
  .fsd-page .fsd-head{padding:22px 18px 18px}
  .fsd-page .fsd-brand{padding:14px 18px}
  .fsd-page .fsd-brand-header{height:84px}
  .fsd-page .fsd-title{font-size:24px}
  .fsd-page .fsd-note{margin:14px 18px 0}
  .fsd-page .dl-files{margin:14px 8px 0}
  .fsd-page .file-row{padding:10px 12px}
  .fsd-page .dl-action{padding:18px 18px 20px}
  .fsd-page .fsd-pod{margin:0 18px 18px}
  .fsd-page .fsd-meta{grid-template-columns:minmax(0,1fr);padding:0 18px 20px}
  .fsd-page .fsd-error{padding:32px 20px 24px}
  .fsd-page .fsd-err-actions{flex-direction:column;align-self:stretch}
}
@media(max-width:420px){
  .fsd-page .dl-choices{grid-template-columns:minmax(0,1fr)}
}
/* ====================== Ende Empfangsseite (Richtung A) ===================== */

/* ==========================================================================
   Anmeldung, Registrierung, 2FA, E-Mail-Bestaetigung, Passwort vergessen/neu:
   Redesign Richtung A (Seite 3). Gilt nur unter .fsa-page (views/auth/*).
   Nur Optik: Formulare, name-Attribute, CSRF/BotGuard-Felder und Skripte
   unveraendert. Die alten .auth-*-Klassen der Registrierung bleiben als Hooks.
   ========================================================================== */
.fsa-page{
  --fsa-card:var(--fs-bg); --fsa-field:var(--fs-bg); --fsa-row:var(--fs-surface); --fsa-ok-bg:var(--fs-teal-100); --fsa-line:var(--fs-teal-200);
  --fsa-err:var(--fs-danger); --fsa-err-line:var(--fs-coral-300);
}
[data-theme="dark"] .fsa-page{
  --fsa-card:var(--fs-surface); --fsa-field:var(--fs-bg); --fsa-row:var(--fs-bg); --fsa-ok-bg:var(--fs-teal-900); --fsa-line:var(--fs-teal-800);
  --fsa-err:var(--fs-coral-300); --fsa-err-line:var(--fs-coral-700);
}
.send-page.fsa-page,.auth-page.fsa-page{display:block;min-height:100%;padding:56px 24px 72px;font-family:var(--fs-font);color:var(--fs-text);
  background:linear-gradient(180deg,var(--fs-bg) 0%,var(--fs-surface-soft) 360px)}
.fsa-page .fsa-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:center}

/* Linke Spalte */
.fsa-page .fsa-intro{min-width:0;display:flex;flex-direction:column;gap:18px}
.fsa-page .fsa-badge{align-self:flex-start;display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:var(--fs-radius-pill);
  border:1px solid var(--fsa-line);background:var(--fsa-card);color:var(--fs-primary);font-size:13px;font-weight:600}
.fsa-page .fsa-h1{margin:0;font-size:clamp(30px,3.6vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.12;color:var(--fs-text);text-wrap:balance}
.fsa-page .fsa-lead{margin:0;max-width:520px;font-size:17px;line-height:1.5;color:var(--fs-text-muted)}
.fsa-page .fsa-benefits{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.fsa-page .fsa-benefits li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--fs-text-soft)}
.fsa-page .fsa-benefits b{color:var(--fs-text);font-weight:600}
.fsa-page .fsa-ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--fsa-ok-bg);color:var(--fs-primary)}
.fsa-page .fsa-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}
.fsa-page .fsa-trust li{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--fs-text-soft)}
.fsa-page .fsa-trust svg{color:var(--fs-primary);width:16px;height:16px}

/* Karte */
.fsa-page .fsa-card,.fsa-page .auth-card.fsa-card{min-width:0;max-width:none;width:auto;margin:0;display:flex;flex-direction:column;gap:20px;padding:28px;
  background:var(--fsa-card);border:1px solid var(--fs-border);border-radius:var(--fs-radius-lg);box-shadow:var(--fs-shadow-lg);color:var(--fs-text)}
.fsa-page .fsa-single{max-width:480px;margin:0 auto}
.fsa-page .fsa-logo{display:flex;justify-content:center;margin:0}
.fsa-page .fsa-logo img.fs-logo{display:block}
.fsa-page .fsa-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:4px;border-radius:var(--fs-radius);background:var(--fs-neutral-100)}
[data-theme="dark"] .fsa-page .fsa-switch{background:var(--fs-bg)}
.fsa-page .fsa-switch a{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:15px;font-weight:600;
  color:var(--fs-text-muted);text-decoration:none}
.fsa-page .fsa-switch a:hover{color:var(--fs-text)}
.fsa-page .fsa-switch a.is-on{background:var(--fsa-card);color:var(--fs-text);box-shadow:var(--fs-shadow-xs)}
[data-theme="dark"] .fsa-page .fsa-switch a.is-on{background:var(--fs-border)}
.fsa-page .fsa-switch a:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsa-page .fsa-head{display:flex;flex-direction:column;gap:4px}
.fsa-page .fsa-head.is-center{align-items:center;text-align:center;gap:10px}
.fsa-page .fsa-title,.fsa-page .auth-title.fsa-title{margin:0;font-family:var(--fs-font);font-size:24px;font-weight:700;letter-spacing:-.015em;color:var(--fs-text);text-align:left}
.fsa-page .fsa-sub,.fsa-page .auth-sub.fsa-sub{margin:0;font-size:15px;line-height:1.5;color:var(--fs-text-muted);text-align:left}
.fsa-page .fsa-head.is-center .fsa-title,.fsa-page .fsa-head.is-center .fsa-sub{text-align:center}
.fsa-page .fsa-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--fs-radius-pill);background:var(--fsa-ok-bg);color:var(--fs-primary)}

/* Hinweise */
.fsa-page .fsa-alert,.fsa-page .auth-error.fsa-alert{margin:0;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.5;text-align:left}
.fsa-page .fsa-alert.is-err{border:1px solid var(--fsa-err-line);background:var(--fs-tint);color:var(--fsa-err)}
.fsa-page .fsa-alert.is-ok{border:1px solid var(--fsa-line);background:var(--fs-tint);color:var(--fs-primary)}
.fsa-page .fsa-muted{color:var(--fs-text-muted)}

/* Formular */
.fsa-page .fsa-form,.fsa-page .auth-form.fsa-form{display:flex;flex-direction:column;gap:16px}
.fsa-page .fld,.fsa-page .auth-field{display:flex;flex-direction:column;gap:6px}
.fsa-page .fld-label,.fsa-page .auth-field label{margin:0;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--fs-text-soft)}
.fsa-page .fsa-labelrow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:20px}
.fsa-page .fld-input,.fsa-page .auth-field input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);
  background:var(--fsa-field);color:var(--fs-text);font:500 16px var(--fs-font);box-shadow:none}
.fsa-page .fld-input:focus,.fsa-page .auth-field input:focus{outline:0;border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsa-line)}
.fsa-page .fld-input::placeholder,.fsa-page .auth-field input::placeholder{color:var(--fs-neutral-500)}
[data-theme="dark"] .fsa-page .fld-input::placeholder,[data-theme="dark"] .fsa-page .auth-field input::placeholder{color:var(--fs-text-muted)}
.fsa-page .auth-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fsa-page .fsa-terms{display:flex;align-items:flex-start;gap:12px;min-height:44px}
.fsa-page .fsa-terms input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--fs-primary);cursor:pointer}
.fsa-page .fsa-terms label{font-size:14px;line-height:1.5;color:var(--fs-text-soft);cursor:pointer}
.fsa-page .fsa-terms a{color:var(--fs-primary);font-weight:600;text-decoration:underline}
.fsa-page .fsa-btn,.fsa-page .auth-btn.fsa-btn,.fsa-page .v-confirm.fsa-btn{width:100%;min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;
  border:0;border-radius:14px;background:var(--fs-primary);color:var(--fs-on-primary);font:600 16px var(--fs-font);cursor:pointer;box-shadow:none;transform:none}
.fsa-page .fsa-btn:hover,.fsa-page .auth-btn.fsa-btn:hover{background:var(--fs-primary-hover);transform:none;box-shadow:none}
.fsa-page .fsa-btn:focus-visible,.fsa-page .fsa-btn-sec:focus-visible,.fsa-page .fsa-link:focus-visible,.fsa-page .fsa-link-muted:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsa-page .fsa-btn-sec{min-height:44px;padding:0 18px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fsa-card);
  color:var(--fs-text);font:600 14px var(--fs-font);cursor:pointer}
.fsa-page .fsa-btn-sec:hover{border-color:var(--fs-primary)}
.fsa-page .fsa-link{display:inline-flex;align-items:center;min-height:44px;color:var(--fs-primary);font-weight:600;text-decoration:none}
.fsa-page .fsa-labelrow .fsa-link{min-height:44px;margin:-12px 0;font-size:14px}
.fsa-page .fsa-link:hover{text-decoration:underline}
.fsa-page .fsa-link-muted{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--fs-text-muted);text-decoration:underline}
.fsa-page .fsa-alt,.fsa-page .auth-alt.fsa-alt{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 6px;font-size:14px;color:var(--fs-text-muted)}

/* Code-Eingabe (2FA, E-Mail bestaetigen) */
.fsa-page .card-body.verify{padding:0;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;background:none}
.fsa-page .card-body.verify .fsa-title,.fsa-page .card-body.verify .fsa-sub{text-align:center}
.fsa-page .verify .v-title{margin:0}
.fsa-page .verify .v-sub{margin:0}
.fsa-page .verify form{width:100%}
.fsa-page .code-row{display:flex;justify-content:center;gap:8px;margin:0 0 16px}
.fsa-page .code-digit{width:48px;height:56px;padding:0;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fsa-field);
  color:var(--fs-text);text-align:center;font:600 24px var(--fs-font)}
.fsa-page .code-digit:focus{outline:0;border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsa-line)}
.fsa-page .fsa-recovery{margin-bottom:16px}
.fsa-page .fsa-code-one{display:block;width:100%;max-width:260px;margin:6px auto 14px;font-size:22px;letter-spacing:.35em;padding:12px 10px}
.fsa-page #tfaForm .fld-label{text-align:center}
.fsa-page .fsa-remember{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 14px;font-size:13px;color:var(--fs-text-muted);cursor:pointer}
.fsa-page .fsa-remember input{width:16px;height:16px;accent-color:var(--fs-teal,#0A6E6E)}
.fsa-page .fsa-code{text-align:center;font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:18px;font-weight:700;letter-spacing:.2em}
.fsa-page .fsa-hint,.fsa-page .fsa-note{margin:0;font-size:14px;line-height:1.5;color:var(--fs-text-muted)}
.fsa-page .fsa-center{text-align:center}
.fsa-page .fsa-foot{display:flex;flex-direction:column;align-items:center;gap:0;padding-top:12px;border-top:1px solid var(--fs-border);width:100%;font-size:14px}

/* Schmal */
@media(max-width:900px){
  .fsa-page .fsa-grid{grid-template-columns:minmax(0,1fr);max-width:520px;gap:32px}
  .fsa-page .fsa-card{order:-1}
}
@media(max-width:640px){
  .send-page.fsa-page,.auth-page.fsa-page{padding:24px 16px 48px}
  .fsa-page .fsa-card,.fsa-page .auth-card.fsa-card{padding:22px 18px;gap:18px}
  .fsa-page .fsa-title,.fsa-page .auth-title.fsa-title{font-size:22px}
  .fsa-page .fsa-h1{font-size:28px}
}
@media(max-width:420px){
  .fsa-page .auth-row{grid-template-columns:minmax(0,1fr)}
  .fsa-page .code-row{gap:4px}
  .fsa-page .code-digit{width:44px;height:52px;font-size:22px}
}
/* ====================== Ende Anmeldung (Richtung A) ======================== */

/* ==========================================================================
   Dashboard (eingeloggt): Redesign Richtung A (Seite 4). Gilt nur unter
   .fsdb-page (views/dashboard/index.php) und fuer das Aktionsmenue .dmenu-pop,
   das das Skript an <body> haengt. Nur Optik: Hooks (.fs-tablecard, table.paginated,
   .dpager, .dmenu*, #voucher-*), Aktionen, CSRF und Skript unveraendert.
   Desktop Tabelle, bis 900px Karten (kein horizontales Scrollen).
   ========================================================================== */
.fsdb-page{
  --fsdb-card:var(--fs-bg); --fsdb-head:var(--fs-surface); --fsdb-soft:var(--fs-teal-50); --fsdb-line:var(--fs-teal-200);
  --fsdb-ok-bg:var(--fs-teal-100); --fsdb-ok-tx:var(--fs-teal-800); --fsdb-rd-bg:var(--fs-teal-50); --fsdb-rd-tx:var(--fs-teal-700);
  --fsdb-off-bg:var(--fs-neutral-100); --fsdb-off-tx:var(--fs-neutral-600); --fsdb-warn-tx:var(--fs-warning); --fsdb-bad-tx:var(--fs-danger);
  --fsdb-dot-on:var(--fs-teal-600); --fsdb-dot-off:var(--fs-coral-500); --fsdb-hi:var(--fs-coral-500);
  display:block;min-height:100%;padding:40px 24px 64px;font-family:var(--fs-font);color:var(--fs-text);
  background:linear-gradient(180deg,var(--fs-bg) 0%,var(--fs-surface-soft) 320px)}
[data-theme="dark"] .fsdb-page{
  --fsdb-card:var(--fs-surface); --fsdb-head:var(--fs-bg); --fsdb-soft:var(--fs-teal-950); --fsdb-line:var(--fs-teal-800);
  --fsdb-ok-bg:var(--fs-teal-900); --fsdb-ok-tx:var(--fs-teal-100); --fsdb-rd-bg:var(--fs-teal-950); --fsdb-rd-tx:var(--fs-teal-200);
  --fsdb-off-bg:var(--fs-neutral-800); --fsdb-off-tx:var(--fs-neutral-300); --fsdb-warn-tx:var(--fs-coral-300); --fsdb-bad-tx:var(--fs-coral-300);
  --fsdb-dot-on:var(--fs-teal-300); --fsdb-dot-off:var(--fs-coral-400); --fsdb-hi:var(--fs-coral-400)}
.fsdb-page .fsdb-wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.fsdb-page h1,.fsdb-page h2,.fsdb-page p{margin:0}

/* Kopf */
.fsdb-page .fsdb-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}
.fsdb-page .fsdb-head-txt{min-width:0;display:flex;flex-direction:column;gap:6px}
.fsdb-page .fsdb-h1{font-family:var(--fs-font);font-size:clamp(26px,3vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--fs-text)}
.fsdb-page .fsdb-sub{font-size:15px;line-height:1.5;color:var(--fs-text-muted)}
.fsdb-page .fsdb-sub strong{color:var(--fs-primary);font-weight:600}
.fsdb-page .fsdb-head-act{display:flex;flex-wrap:wrap;gap:10px}

/* Buttons und Links */
.fsdb-page .fsdb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:var(--fs-radius);
  background:var(--fs-primary);color:var(--fs-on-primary);font:600 15px var(--fs-font);text-decoration:none;cursor:pointer;white-space:nowrap}
.fsdb-page .fsdb-btn:hover{background:var(--fs-primary-hover)}
.fsdb-page .fsdb-btn:disabled{opacity:.6;cursor:default}
.fsdb-page .fsdb-btn-sec{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--fs-border-strong);
  border-radius:var(--fs-radius);background:var(--fsdb-card);color:var(--fs-text);font:600 15px var(--fs-font);text-decoration:none;white-space:nowrap}
.fsdb-page .fsdb-btn-sec:hover{border-color:var(--fs-primary);color:var(--fs-primary)}
.fsdb-page .fsdb-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--fs-primary);text-decoration:none}
.fsdb-page .fsdb-link:hover{text-decoration:underline}
.fsdb-page a:focus-visible,.fsdb-page button:focus-visible,.fsdb-page input:focus-visible,.dmenu-pop a:focus-visible,.dmenu-pop button:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}

/* Karten */
.fsdb-page .fsdb-card{background:var(--fsdb-card);border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);box-shadow:var(--fs-shadow-md);color:var(--fs-text);min-width:0}
.fsdb-page .fsdb-pad{padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.fsdb-page .fsdb-card-title{display:block;font-size:16px;font-weight:700;color:var(--fs-text);letter-spacing:-.01em}
.fsdb-page .fsdb-muted{color:var(--fs-text-muted)}
.fsdb-page .fsdb-small{font-size:13px;line-height:1.45;color:var(--fs-text-muted)}
.fsdb-page .fsdb-ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--fsdb-soft);color:var(--fs-primary)}
.fsdb-page .fsdb-ic-sm{width:30px;height:30px;border-radius:9px}

/* Kennzahlen */
.fsdb-page .fsdb-stats{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.fsdb-page .dash-stat.fsdb-stat{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;padding:16px 16px 14px;text-align:left;
  background:var(--fsdb-card);border:1px solid var(--fs-border);border-radius:16px;box-shadow:var(--fs-shadow-md);min-width:0}
.fsdb-page .fsdb-stat .dash-stat-val{font-family:var(--fs-font);font-size:24px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--fs-text);white-space:nowrap}
.fsdb-page .fsdb-stat .dash-stat-lbl{font-size:13px;font-weight:600;line-height:1.3;color:var(--fs-text-muted);text-transform:none;letter-spacing:0;margin:0;overflow-wrap:anywhere}

/* Plan-Nutzung, Aktivitaet */
.fsdb-page .fsdb-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fsdb-page .fsdb-meter{display:flex;flex-direction:column;gap:6px}
.fsdb-page .fsdb-meter-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:14px}
.fsdb-page .fsdb-meter-lbl{font-weight:600;color:var(--fs-text)}
.fsdb-page .fsdb-meter-val{color:var(--fs-text-muted)}
.fsdb-page .fsdb-bar{height:8px;border-radius:var(--fs-radius-pill);background:var(--fsdb-off-bg);overflow:hidden}
.fsdb-page .fsdb-bar-fill{height:100%;border-radius:var(--fs-radius-pill);background:var(--fs-primary)}
.fsdb-page .fsdb-bar-fill.is-high{background:var(--fsdb-hi)}
.fsdb-page .fsdb-pad>.fsdb-link{align-self:flex-start;margin:-6px 0}
.fsdb-page .fsdb-note{display:flex;align-items:flex-start;gap:8px;padding-top:12px;border-top:1px solid var(--fs-border);font-size:13px;line-height:1.5;color:var(--fs-text-muted)}
.fsdb-page .fsdb-note svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fsdb-page .fsdb-note.is-soon{color:var(--fsdb-warn-tx)}
.fsdb-page .fsdb-note.is-soon svg{color:var(--fsdb-warn-tx)}
.fsdb-page .fsdb-chart{display:flex;align-items:flex-end;gap:8px;min-height:104px}
.fsdb-page .fsdb-chart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.fsdb-page .fsdb-chart-bar{width:72%;max-width:44px;border-radius:8px 8px 3px 3px;background:var(--fsdb-off-bg)}
.fsdb-page .fsdb-chart-bar.is-on{background:linear-gradient(180deg,var(--fs-teal-400),var(--fs-primary))}
.fsdb-page .fsdb-chart-day{font-size:12px;color:var(--fs-text-muted);white-space:nowrap}
.fsdb-page .fsdb-chart-n{font-size:12px;font-weight:700;color:var(--fs-primary)}

/* Gutschein, Guthaben, Verschenken */
.fsdb-page .fsdb-extras{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:20px}
.fsdb-page .fsdb-voucher,.fsdb-page .fsdb-side{display:flex;align-items:center;gap:16px;padding:18px 22px}
.fsdb-page .fsdb-voucher-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.fsdb-page .fsdb-voucher-form{display:flex;gap:8px}
.fsdb-page .fsdb-input{flex:1;min-width:0;min-height:44px;padding:8px 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fs-bg);
  color:var(--fs-text);font:500 15px ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em}
.fsdb-page .fsdb-input::placeholder{color:var(--fs-neutral-500);text-transform:none;letter-spacing:0;font-family:var(--fs-font)}
[data-theme="dark"] .fsdb-page .fsdb-input::placeholder{color:var(--fs-text-muted)}
.fsdb-page .fsdb-input:focus{outline:0;border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsdb-line)}
.fsdb-page .fsdb-voucher-msg{font-size:13px;line-height:1.45}
.fsdb-page .fsdb-balance{font-size:22px;font-weight:700;color:var(--fs-primary);letter-spacing:-.01em}
.fsdb-page .fsdb-side-link{text-decoration:none;min-height:44px}
.fsdb-page .fsdb-side-link:hover{border-color:var(--fsdb-line)}
.fsdb-page .fsdb-small-link{color:var(--fs-primary);font-weight:600}

/* Listen (Tabelle Desktop) */
.fsdb-page .fs-tablecard{overflow:hidden}
.fsdb-page .fs-tablecard .panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 24px;border-bottom:1px solid var(--fs-border)}
.fsdb-page .fs-tablecard .panel-title{display:flex;align-items:center;gap:10px;font-family:var(--fs-font);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--fs-text);min-height:44px}
.fsdb-page .fs-tablecard .cbadge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:var(--fs-radius-pill);background:var(--fsdb-soft);color:var(--fs-primary);font-size:13px;font-weight:700}
.fsdb-page .fsdb-tbl{width:100%;border-collapse:collapse;table-layout:fixed}
/* Spaltenbreiten (feste Tabelle, damit lange Adressen und IDs umbrechen statt die Karte zu sprengen) */
.fsdb-page .fsdb-tbl th:nth-child(1){width:23%}
.fsdb-page .fsdb-tbl-sent th:nth-child(3){width:150px}.fsdb-page .fsdb-tbl-sent th:nth-child(4){width:116px}
.fsdb-page .fsdb-tbl-sent th:nth-child(5),.fsdb-page .fsdb-tbl-sent th:nth-child(6){width:104px}.fsdb-page .fsdb-tbl-sent th:nth-child(7){width:92px}
.fsdb-page .fsdb-tbl-recv th:nth-child(3){width:150px}.fsdb-page .fsdb-tbl-recv th:nth-child(4){width:96px}.fsdb-page .fsdb-tbl-recv th:nth-child(5){width:150px}.fsdb-page .fsdb-tbl-recv th:nth-child(6){width:180px}
.fsdb-page .fsdb-tbl-req th:nth-child(3){width:180px}.fsdb-page .fsdb-tbl-req th:nth-child(4){width:130px}.fsdb-page .fsdb-tbl-req th:nth-child(5){width:92px}
.fsdb-page .fsdb-tbl thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-text-muted);background:var(--fsdb-head);white-space:nowrap}
.fsdb-page .fsdb-tbl thead th:first-child,.fsdb-page .fsdb-tbl td:first-child{padding-left:24px}
.fsdb-page .fsdb-tbl thead th:last-child,.fsdb-page .fsdb-tbl td:last-child{padding-right:24px}
.fsdb-page .fsdb-tbl thead th.r,.fsdb-page .fsdb-tbl td.act-row{text-align:right}
.fsdb-page .fsdb-tbl td{padding:14px 16px;white-space:normal;border-bottom:1px solid var(--fs-border);font-size:14px;line-height:1.4;color:var(--fs-text);vertical-align:middle}
.fsdb-page .fsdb-tbl tbody tr:last-child td{border-bottom:0}
.fsdb-page .fsdb-tbl tbody tr:hover{background:var(--fs-tint)}
.fsdb-page .fsdb-tbl .dcell-label{display:none}
.fsdb-page .fsdb-tbl .tid{display:block;font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:12.5px;font-weight:600;color:var(--fs-primary);overflow-wrap:anywhere;word-break:break-all}
.fsdb-page .fsdb-tbl td.rcpt-row{min-width:0}
.fsdb-page .fsdb-tbl .fsdb-meta{display:block;margin-top:4px;font-size:13px;color:var(--fs-text-muted)}
.fsdb-page .fsdb-tbl td.date-row .dcell-val,.fsdb-page .fsdb-tbl td.exp-row .dcell-val{font-size:13px}
.fsdb-page .fsdb-tbl td.dl-row{white-space:nowrap}
.fsdb-page .fsdb-tbl td.rcpt-row .dcell-val{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word}
/* Empfaengerliste */
.fsdb-page .rcptwrap{position:relative}
.fsdb-page .rcptlist{max-height:66px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding-right:4px;transition:max-height .2s ease}
.fsdb-page .rcptwrap:hover .rcptlist{max-height:180px}
.fsdb-page .rcptlist::-webkit-scrollbar{width:5px}
.fsdb-page .rcptlist::-webkit-scrollbar-thumb{background:var(--fs-border-strong);border-radius:3px}
.fsdb-page .rcpt-item{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.5;min-width:0}
.fsdb-page .rcpt-item .rdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--fsdb-dot-off)}
.fsdb-page .rcpt-item .rdot.is-done{background:var(--fsdb-dot-on)}
.fsdb-page .rcpt-item .rmail{min-width:0;color:var(--fs-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fsdb-page .rcpt-item .rtime{flex-shrink:0;margin-left:auto;padding-left:8px;font-size:12px;color:var(--fs-text-muted)}
.fsdb-page .rcptcount{margin-top:4px;font-size:12px;color:var(--fs-text-muted)}
/* Status */
.fsdb-page .fsdb-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:2px 10px;border:0;border-radius:var(--fs-radius-pill);
  font-family:var(--fs-font);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap;background:var(--fsdb-off-bg);color:var(--fsdb-off-tx)}
.fsdb-page .fsdb-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.fsdb-page .fsdb-badge-ready{background:var(--fsdb-rd-bg);color:var(--fsdb-rd-tx);box-shadow:inset 0 0 0 1px var(--fsdb-line)}
.fsdb-page .fsdb-badge-delivered,.fsdb-page .fsdb-badge-downloaded,.fsdb-page .fsdb-badge-uploaded{background:var(--fsdb-ok-bg);color:var(--fsdb-ok-tx)}
.fsdb-page .fsdb-badge-waiting,.fsdb-page .fsdb-badge-pending,.fsdb-page .fsdb-badge-processing{background:var(--fs-tint);color:var(--fsdb-warn-tx);box-shadow:inset 0 0 0 1px var(--fs-border)}
.fsdb-page .fsdb-badge-deleted,.fsdb-page .fsdb-badge-blocked{background:var(--fs-tint);color:var(--fsdb-bad-tx);box-shadow:inset 0 0 0 1px var(--fs-border)}
.fsdb-page tr.fsdb-st-expired .tid{color:var(--fs-text-muted)}
/* Aktionen */
.fsdb-page .dmenu{display:inline-block}
.fsdb-page .dmenu-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);
  background:var(--fsdb-card);color:var(--fs-text);font:700 20px/1 var(--fs-font);cursor:pointer}
.fsdb-page .dmenu-btn:hover{border-color:var(--fs-primary);color:var(--fs-primary)}
.fsdb-page .dmenu-empty{color:var(--fs-text-muted)}
.fsdb-page .dactions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 10px}
.fsdb-page .dbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fsdb-card);
  color:var(--fs-primary);font:600 14px var(--fs-font);text-decoration:none;white-space:nowrap}
.fsdb-page .dbtn:hover{border-color:var(--fs-primary)}
.dmenu-pop{position:fixed;display:none;width:184px;padding:6px;z-index:1000;background:var(--fs-bg);border:1px solid var(--fs-border);border-radius:14px;
  box-shadow:var(--fs-shadow-lg);font-family:var(--fs-font)}
[data-theme="dark"] .dmenu-pop{background:var(--fs-surface)}
.dmenu-pop.open{display:block}
.dmenu-pop a,.dmenu-pop button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:none;
  color:var(--fs-text);font:600 14px var(--fs-font);text-align:left;text-decoration:none;cursor:pointer}
.dmenu-pop a:hover,.dmenu-pop button:hover{background:var(--fs-surface)}
[data-theme="dark"] .dmenu-pop a:hover,[data-theme="dark"] .dmenu-pop button:hover{background:var(--fs-bg)}
.dmenu-pop .mi{display:inline-flex;align-items:center;justify-content:center;width:18px;flex-shrink:0;color:var(--fs-primary)}
.dmenu-pop .red,.dmenu-pop .red .mi{color:var(--fs-danger)}
[data-theme="dark"] .dmenu-pop .red,[data-theme="dark"] .dmenu-pop .red .mi{color:var(--fs-coral-300)}
.dmenu-pop hr{border:0;border-top:1px solid var(--fs-border);margin:4px 2px}
/* Seiten */
.fsdb-page .dpager{display:none;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;padding:14px 16px;border-top:1px solid var(--fs-border)}
.fsdb-page .dpager button{min-width:44px;height:44px;padding:0 10px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fsdb-card);
  color:var(--fs-text);font:600 14px var(--fs-font);cursor:pointer}
.fsdb-page .dpager button:hover:not(:disabled):not(.active){border-color:var(--fs-primary);color:var(--fs-primary)}
.fsdb-page .dpager button.active{background:var(--fs-primary);border-color:var(--fs-primary);color:var(--fs-on-primary)}
.fsdb-page .dpager button:disabled{opacity:.45;cursor:default}
.fsdb-page .dpager .dpinfo{margin-left:6px;font-size:13px;color:var(--fs-text-muted)}
/* Leerzustand */
.fsdb-page .fsdb-tbl td.empty-row{padding:48px 24px;text-align:center}
.fsdb-page .fsdb-tbl tbody tr:hover:has(td.empty-row){background:none}
.fsdb-page .fsdb-empty{display:flex;flex-direction:column;align-items:center;gap:14px}
.fsdb-page .fsdb-empty-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--fs-radius-pill);background:var(--fsdb-soft);color:var(--fs-primary)}
.fsdb-page .fsdb-empty-txt{font-size:16px;color:var(--fs-text-muted)}

/* Mittel */
@media(max-width:1180px){
  .fsdb-page .fsdb-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1100px){
  .fsdb-page .fsdb-tbl thead th,.fsdb-page .fsdb-tbl td{padding-left:12px;padding-right:12px}
}
/* Karten statt Tabelle */
@media(max-width:900px){
  .fsdb-page{padding:28px 16px 48px}
  .fsdb-page .fsdb-duo,.fsdb-page .fsdb-extras{grid-template-columns:minmax(0,1fr)}
  .fsdb-page .fsdb-tbl thead{display:none}
  .fsdb-page .fsdb-tbl,.fsdb-page .fsdb-tbl tbody{display:block;width:100%}
  .fsdb-page .fsdb-tbl tbody{padding:12px;display:flex;flex-direction:column;gap:12px}
  .fsdb-page .fsdb-tbl tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"tid tid tid" "st st st" "rcpt rcpt rcpt" "dl date exp" "act act act";gap:12px 14px;padding:16px;border:1px solid var(--fs-border);border-radius:16px;background:var(--fsdb-card)}
  .fsdb-page .fsdb-tbl tbody tr:hover{background:var(--fsdb-card)}
  .fsdb-page .fsdb-tbl td,.fsdb-page .fsdb-tbl thead th:first-child,.fsdb-page .fsdb-tbl td:first-child,.fsdb-page .fsdb-tbl td:last-child{display:block;width:auto;min-width:0;padding:0;border:0;text-align:left}
  .fsdb-page .fsdb-tbl td .dcell-label{display:block;margin-bottom:2px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-text-muted)}
  .fsdb-page .fsdb-tbl td.tid-row{grid-area:tid;align-self:center}
  .fsdb-page .fsdb-tbl td.st-row{grid-area:st;justify-self:start;margin-top:-4px !important}
  .fsdb-page .fsdb-tbl td.st-row .dcell-label{display:none}
  .fsdb-page .fsdb-tbl td.rcpt-row{grid-area:rcpt;padding-top:12px;border-top:1px solid var(--fs-border);width:auto}
  .fsdb-page .fsdb-tbl td.date-row,.fsdb-page .fsdb-tbl td.exp-row,.fsdb-page .fsdb-tbl td.dl-row{width:auto;white-space:normal}
  /* Altregel app.css (<=640px: th,td{padding:8px 10px !important;white-space:nowrap}, table{display:block;overflow-x:auto}) hier aufheben */
  .fsdb-page .fsdb-tbl{overflow:visible;font-size:inherit}
  .fsdb-page .fsdb-tbl td{padding:0 !important;white-space:normal}
  .fsdb-page .fsdb-tbl td.rcpt-row,.fsdb-page .fsdb-tbl td.act-row{padding-top:12px !important}
  .fsdb-page .fsdb-tbl td.empty-row{padding:32px 8px !important}
  .fsdb-page .fsdb-tbl td.dl-row{grid-area:dl}
  .fsdb-page .fsdb-tbl td.date-row{grid-area:date}
  .fsdb-page .fsdb-tbl td.exp-row{grid-area:exp}
  .fsdb-page .fsdb-tbl td.act-row{grid-area:act;display:flex;justify-content:flex-end;align-items:center;padding-top:12px;border-top:1px solid var(--fs-border)}
  .fsdb-page .fsdb-tbl td.act-row>.dcell-label{display:none}
  .fsdb-page .rcptlist,.fsdb-page .rcptwrap:hover .rcptlist{max-height:none;overflow:visible}
  .fsdb-page .rcpt-item .rmail{white-space:normal;overflow-wrap:anywhere}
  .fsdb-page .fsdb-tbl td.empty-row{grid-column:1 / -1;padding:32px 8px;text-align:center}
  .fsdb-page .fsdb-tbl tbody tr:has(td.empty-row){display:block;border:0;padding:0}
  .fsdb-page .fs-tablecard .panel-head{padding:12px 16px}
}
@media(max-width:640px){
  .fsdb-page .fsdb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fsdb-page .fsdb-head-act{width:100%}
  .fsdb-page .fsdb-head-act>a{flex:1 1 160px}
  .fsdb-page .fsdb-pad{padding:18px}
  .fsdb-page .fsdb-voucher,.fsdb-page .fsdb-side{padding:16px;align-items:flex-start}
  .fsdb-page .fsdb-voucher>.fsdb-ic{display:none}
  .fsdb-page .fsdb-stats>.fsdb-stat:last-child:nth-child(odd){grid-column:1 / -1}
}
@media(max-width:420px){
  .fsdb-page .fsdb-tbl tbody{padding:8px}
  .fsdb-page .fsdb-tbl tbody tr{padding:14px;gap:12px 10px}
  .fsdb-page .fsdb-voucher-form{flex-wrap:wrap}
  .fsdb-page .fsdb-voucher-form .fsdb-input{flex:1 1 170px}
  .fsdb-page .fsdb-voucher-form .fsdb-btn{flex:1 0 auto}
}
/* ====================== Ende Dashboard (Richtung A) ======================== */

/* ==========================================================================
   Inhaltsseiten, Redesign Richtung A: /funktionen (inkl. ehemals /warum-wir),
   /sicherheit, /pricing, /track. Gemeinsame Bausteine fsi-*, dazu fsc-*
   (Sicherheit), fsp-* (Preise), fst-* (Tracking). Nur Optik; Hooks der
   Preisseite (.price-*, .checkout-link, #btnMonthly/#btnYearly) und der
   Tracking-Seite (#trackForm, #trackInput, #trackEmail, #trackResult, .tk-*)
   bleiben. Touch-Ziele 44 px, alles bricht um.
   ========================================================================== */
.fsi-page{
  --fsi-card:var(--fs-bg); --fsi-ico-bg:var(--fs-teal-100); --fsi-tint:var(--fs-teal-50); --fsi-line:var(--fs-teal-200);
  min-height:100%;font-family:var(--fs-font);color:var(--fs-text);line-height:1.5;
  background:linear-gradient(180deg,var(--fs-bg) 0%,var(--fs-surface-soft) 440px)
}
[data-theme="dark"] .fsi-page{--fsi-card:var(--fs-surface); --fsi-ico-bg:var(--fs-teal-900); --fsi-tint:var(--fs-teal-950); --fsi-line:var(--fs-teal-800)}
.fsi-page *{box-sizing:border-box}
.fsi-hero{max-width:880px;margin:0 auto;padding:64px 24px 40px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.fsi-h1{margin:0;font-size:clamp(32px,4.4vw,48px);line-height:1.1;font-weight:700;letter-spacing:-.025em;color:var(--fs-text);text-wrap:balance}
.fsi-lead{margin:0;max-width:640px;font-size:18px;line-height:1.55;color:var(--fs-text-muted);text-wrap:pretty}
.fsi-badges{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.fsi-badges li{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 14px;border-radius:var(--fs-radius-pill);border:1px solid var(--fsi-line);
  background:var(--fsi-card);color:var(--fs-text-soft);font-size:14px;font-weight:500}
.fsi-badges li svg,.fsi-list li svg{flex-shrink:0;color:var(--fs-primary)}
.fsi-wrap{max-width:1080px;margin:0 auto;padding:0 24px 80px;display:flex;flex-direction:column;gap:56px}
.fsi-narrow{max-width:860px}
.fsi-section{display:flex;flex-direction:column;gap:18px;min-width:0}
.fsi-h2{margin:0;font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.015em;color:var(--fs-text);text-wrap:balance}
.fsi-h2-ico{display:flex;align-items:center;gap:12px}
.fsi-h3{margin:0;font-size:17px;line-height:1.3;font-weight:600;color:var(--fs-text)}
.fsi-text{margin:0;font-size:15px;line-height:1.6;color:var(--fs-text-muted)}
.fsi-sublead{margin:-6px 0 0;max-width:720px;font-size:16px;line-height:1.6;color:var(--fs-text-muted)}
.fsi-ico{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--fs-radius-pill);
  background:var(--fsi-ico-bg);color:var(--fs-primary)}
/* Kennzahlen */
.fsi-stats{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fsi-stats > div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);
  background:var(--fsi-card);text-align:center}
.fsi-stats dd{order:-1;margin:0;font-size:30px;line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--fs-primary);font-variant-numeric:tabular-nums}
.fsi-stats dt{font-size:14px;line-height:1.35;color:var(--fs-text-muted)}
/* Karten */
.fsi-grid{display:grid;gap:16px}
.fsi-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fsi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fsi-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border:1px solid var(--fs-border);
  border-radius:var(--fs-radius-card);background:var(--fsi-card)}
.fsi-card .fsi-ico{margin-bottom:4px}
.fsi-card-row{padding:20px 24px;gap:6px}
.fsi-stack{display:flex;flex-direction:column;gap:12px}
.fsi-tag{margin-top:auto;padding-top:6px;font-size:13px;font-weight:600;color:var(--fs-text-muted)}
.fsi-tag.is-plan{color:var(--fs-primary)}
/* Vergleichstabelle */
.fsi-table-wrap{overflow-x:auto;border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);background:var(--fsi-card)}
.fsi-table{width:100%;min-width:600px;border-collapse:collapse;font-size:15px}
.fsi-table th,.fsi-table td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--fs-border)}
.fsi-table tbody tr:last-child th,.fsi-table tbody tr:last-child td{border-bottom:0}
.fsi-table thead th{font-size:13px;font-weight:600;color:var(--fs-text-muted);background:var(--fs-surface)}
[data-theme="dark"] .fsi-table thead th{background:var(--fs-bg)}
.fsi-table tbody th{font-weight:600;color:var(--fs-text)}
.fsi-table td{color:var(--fs-text-muted)}
.fsi-table .is-us{background:var(--fsi-tint);color:var(--fs-text);font-weight:500}
.fsi-table thead .is-us{color:var(--fs-primary);background:var(--fsi-tint)}
.fsi-mark{display:inline-flex;vertical-align:-3px;margin-right:8px}
.fsi-mark.is-yes{color:var(--fs-primary)}
.fsi-mark.is-no{color:var(--fs-danger)}
.fsi-mark.is-warn{color:var(--fs-warning)}
[data-theme="dark"] .fsi-mark.is-no{color:var(--fs-coral-300)}
[data-theme="dark"] .fsi-mark.is-warn{color:#E0B45C}
/* Liste mit Haken */
.fsi-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fsi-list li{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);
  background:var(--fsi-card);font-size:15px;line-height:1.55;color:var(--fs-text-soft)}
.fsi-list li svg{margin-top:2px}
/* Abschluss */
.fsi-cta{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 24px;border:1px solid var(--fsi-line);border-radius:var(--fs-radius-lg);
  background:var(--fsi-card);text-align:center;box-shadow:var(--fs-shadow-md)}
.fsi-cta .fsi-text{max-width:560px}
.fsi-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px}
.fsi-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--fs-radius);
  font:600 16px var(--fs-font);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.fsi-page .fsi-btn-primary{border:0;background:var(--fs-primary);color:var(--fs-on-primary)}
.fsi-page .fsi-btn-primary:hover{background:var(--fs-primary-hover);color:var(--fs-on-primary)}
.fsi-page .fsi-btn-secondary{border:1px solid var(--fs-border-strong);background:var(--fsi-card);color:var(--fs-text)}
.fsi-page .fsi-btn-secondary:hover{border-color:var(--fs-primary);color:var(--fs-text)}
.fsi-btn:focus-visible,.fsi-page a:focus-visible,.fsi-page button:focus-visible,.fsi-page input:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsi-note{display:inline-flex;align-items:center;gap:8px;margin:4px 0 0;font-size:14px;color:var(--fs-text-muted)}
.fsi-note svg{flex-shrink:0;color:var(--fs-primary)}

/* Sicherheit */
.fsc-layers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fsc-layer-n{font-size:13px;font-weight:600;color:var(--fs-primary)}
.fsc-promise-list ul{display:flex;flex-direction:column;gap:4px}
/* Haken der Versprechen-Liste (Text in pages_sec.sec_promise_list ohne Symbol): Linien-Icon als mask */
.fsc-promise-list li{display:flex;align-items:baseline;gap:8px}
.fsc-promise-list li::before{content:'';flex-shrink:0;width:13px;height:13px;align-self:center;background:var(--fs-primary,#0a6e6e);-webkit-mask:var(--fs-ic-check) center/contain no-repeat;mask:var(--fs-ic-check) center/contain no-repeat}
.fsc-promise-list li{padding:12px 16px!important;border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);background:var(--fsi-card);
  font-size:15px;line-height:1.5;color:var(--fs-text-soft)}

/* Preise */
.fsp-hero{padding-bottom:32px}
.fsp-promo{padding:8px 16px;border-radius:var(--fs-radius-pill);background:var(--fsi-tint);border:1px solid var(--fsi-line);color:var(--fs-text);font-size:14px;font-weight:600}
.fsp-toggle{display:inline-flex;gap:2px;padding:4px;border-radius:var(--fs-radius);background:var(--fs-neutral-100)}
[data-theme="dark"] .fsp-toggle{background:var(--fs-bg)}
.fsp-toggle-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 18px;border:0;border-radius:calc(var(--fs-radius) - 3px);
  background:transparent;color:var(--fs-text-muted);font:600 15px var(--fs-font);cursor:pointer}
.fsp-toggle-btn:hover{color:var(--fs-text)}
.fsp-toggle-btn.pr-toggle-active{background:var(--fsi-card);color:var(--fs-text);box-shadow:var(--fs-shadow-xs)}
[data-theme="dark"] .fsp-toggle-btn.pr-toggle-active{background:var(--fs-border)}
.fsp-save{padding:2px 8px;border-radius:var(--fs-radius-pill);background:var(--fsi-ico-bg);color:var(--fs-primary);font-size:12px;font-weight:600}
.fsp-wrap{gap:40px}
.fsp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;padding-top:14px}
.fsp-card{position:relative;min-width:0;display:flex;flex-direction:column;gap:6px;padding:28px 22px 24px;border:1px solid var(--fs-border);
  border-radius:var(--fs-radius-card);background:var(--fsi-card)}
.fsp-card.is-popular{border:2px solid var(--fs-primary);box-shadow:var(--fs-shadow-md)}
.fsp-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:4px 12px;border-radius:var(--fs-radius-pill);
  background:var(--fs-primary);color:var(--fs-on-primary);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fsp-badge.is-promo{background:var(--fs-accent)}
.fsp-name{margin:0;font-size:20px;font-weight:700;color:var(--fs-text)}
.fsp-desc{margin:0;min-height:21px;font-size:14px;color:var(--fs-text-muted)}
.fsp-price-area{margin:14px 0 16px;display:flex;flex-direction:column;gap:2px}
.fsp-price{font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--fs-text);font-variant-numeric:tabular-nums}
.fsp-ab{margin-right:2px;font-size:15px;font-weight:500;color:var(--fs-text-muted)}
.fsp-old{font-size:.6em;font-weight:500;color:var(--fs-text-muted)}
.fsp-price-sub{font-size:13px;color:var(--fs-text-muted)}
.fsp-year{font-size:13px;font-weight:600;color:var(--fs-primary)}
.fsp-instead{font-weight:500;color:var(--fs-text-muted)}
.fsp-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:8px 16px;border-radius:var(--fs-radius);
  border:1px solid transparent;font:600 15px var(--fs-font);text-align:center;text-decoration:none;cursor:pointer}
.fsp-btn.is-primary{background:var(--fs-primary);color:var(--fs-on-primary)}
.fsp-btn.is-primary:hover{background:var(--fs-primary-hover);color:var(--fs-on-primary)}
.fsp-btn.is-secondary{border-color:var(--fs-border-strong);background:var(--fsi-card);color:var(--fs-text)}
.fsp-btn.is-secondary:hover{border-color:var(--fs-primary)}
.fsp-btn.is-current{background:var(--fsi-ico-bg);color:var(--fs-primary);cursor:default}
.fsp-btn.is-muted{background:var(--fs-surface);border-color:var(--fs-border);color:var(--fs-text-muted);cursor:default}
[data-theme="dark"] .fsp-btn.is-muted{background:var(--fs-bg)}
.fsp-btn.is-note{font-size:13px;font-weight:500;line-height:1.4}
.fsp-features{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--fs-border);display:flex;flex-direction:column;gap:8px}
.fsp-includes{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--fs-primary)}
.fsp-feat{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;color:var(--fs-text-soft)}
.fsp-feat svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fsp-feat.is-hl{font-weight:600;color:var(--fs-text)}
.fsp-single,.fsp-gift{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--fsi-line);border-radius:var(--fs-radius-card);background:var(--fsi-card)}
.fsp-single-row,.fsp-gift{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px}
.fsp-single-text,.fsp-gift-text{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}
.fsp-single-buy{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:180px}
.fsp-single-buy .fsp-btn{margin-top:8px;width:auto;padding:8px 22px}
.fsp-single-price{font-size:26px;font-weight:700;color:var(--fs-primary);font-variant-numeric:tabular-nums}
.fsp-unavail{margin:8px 0 0;max-width:240px;font-size:13px;line-height:1.4;color:var(--fs-text-muted);text-align:right}
.fsp-tags{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--fs-border);display:flex;flex-wrap:wrap;gap:8px 18px}
.fsp-tags li{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--fs-text-soft)}
.fsp-tags svg{color:var(--fs-primary)}
.fsp-gift .fsp-btn{width:auto;padding:8px 22px}
.fsp-hint{margin:0;padding:14px 18px;border-radius:var(--fs-radius-md);background:var(--fsi-card);border:1px solid var(--fs-border);text-align:center;font-size:14px;color:var(--fs-text-muted)}
.fsp-hint a,.fsp-legal a{color:var(--fs-primary);font-weight:600}
.fsp-legal{margin:-16px 0 0;text-align:center;font-size:13px;color:var(--fs-text-muted)}

/* Tracking */
.fst-wrap{max-width:640px}
.fst-card{padding:32px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-lg);background:var(--fsi-card);box-shadow:var(--fs-shadow-md)}
.fst-fld{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.fst-label{font-size:14px;font-weight:600;color:var(--fs-text-soft)}
.fst-input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fs-bg);
  color:var(--fs-text);font:500 16px var(--fs-font)}
.fst-input:focus{outline:none;border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fsi-line)}
.fst-input.is-invalid{border-color:var(--fs-danger)}
.fst-input::placeholder{color:var(--fs-neutral-500)}
[data-theme="dark"] .fst-input::placeholder{color:var(--fs-text-muted)}
.fst-mono{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em}
.fst-hint{margin:0;font-size:13px;color:var(--fs-text-muted)}
.fst-submit{width:100%;margin-top:4px}
.fst-explain{margin-top:24px;padding-top:20px;border-top:1px solid var(--fs-border)}
.fst-explain-t{margin:0 0 14px;text-align:center;font-size:14px;color:var(--fs-text-muted)}
.fst-where{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fst-where li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border-radius:var(--fs-radius-md);background:var(--fs-surface);text-align:center}
[data-theme="dark"] .fst-where li{background:var(--fs-bg)}
.fst-where strong{font-size:14px;font-weight:600;color:var(--fs-text)}
.fst-where span:last-child{font-size:13px;line-height:1.45;color:var(--fs-text-muted)}
.fst-msg{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 12px;text-align:center}
.fst-msg-ico{color:var(--fs-danger)}
[data-theme="dark"] .fst-msg-ico{color:var(--fs-coral-300)}
.fst-msg-t{font-size:17px;font-weight:600;color:var(--fs-text)}
.fst-msg-sub{font-size:14px;line-height:1.5;color:var(--fs-text-muted)}
.fst-spin{width:32px;height:32px;border:3px solid var(--fs-border);border-top-color:var(--fs-primary);border-radius:50%;animation:fstSpin .8s linear infinite}
@keyframes fstSpin{to{transform:rotate(360deg)}}
.fst-center{text-align:center}
.fst-page .tk-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:12px;padding:4px 12px;border:0;background:none;
  color:var(--fs-primary);font:600 15px var(--fs-font);cursor:pointer}
.fst-page .tk-back:hover{text-decoration:underline}
.fst-result{border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);overflow:hidden}
.fst-page .tk-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px 20px;border-bottom:1px solid var(--fs-border)}
.fst-page .tk-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.fst-page .tk-title{font-size:17px;font-weight:600;color:var(--fs-text)}
.fst-page .tk-id{margin-left:auto;font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:13px;font-weight:600;color:var(--fs-primary);overflow-wrap:anywhere}
.fst-page .tk-body{padding:20px}
.fst-page .tk-alert{margin-bottom:16px;padding:12px 16px;border-radius:var(--fs-radius-md);background:var(--fs-surface);color:var(--fs-danger);text-align:center;font-size:14px;font-weight:600}
[data-theme="dark"] .fst-page .tk-alert{background:var(--fs-bg);color:var(--fs-coral-300)}
.fst-page .tk-timeline{position:relative;margin:0 0 20px;padding:0 0 0 36px}
.fst-page .tk-step{position:relative;min-height:42px;padding:0 0 22px}
.fst-page .tk-step:last-child{padding-bottom:0}
.fst-page .tk-step::before{content:'';position:absolute;left:-28px;top:20px;bottom:-4px;width:2px;background:var(--fs-border)}
.fst-page .tk-step:last-child::before{display:none}
.fst-page .tk-step.done::before{background:var(--fs-primary)}
.fst-page .tk-node{position:absolute;left:-36px;top:2px;z-index:1;width:18px;height:18px;border:2px solid var(--fs-border-strong);border-radius:50%;
  background:var(--fsi-card);display:flex;align-items:center;justify-content:center}
.fst-page .tk-node svg{display:none;width:10px;height:10px;stroke:var(--fs-on-primary);stroke-width:3;fill:none}
.fst-page .tk-step.done .tk-node{border-color:var(--fs-primary);background:var(--fs-primary)}
.fst-page .tk-step.done .tk-node svg{display:block}
.fst-page .tk-step.active .tk-node{border-color:var(--fs-primary);box-shadow:0 0 0 4px var(--fsi-line)}
.fst-page .tk-step.active .tk-node::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--fs-primary);animation:fstPulse 2s ease-in-out infinite}
@keyframes fstPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.fst-page .tk-step-title{font-size:15px;font-weight:600;line-height:1.3;color:var(--fs-text)}
.fst-page .tk-step.done .tk-step-title{color:var(--fs-primary)}
.fst-page .tk-step.future .tk-step-title{font-weight:500;color:var(--fs-text-muted)}
.fst-page .tk-step-desc{margin-top:3px;font-size:14px;line-height:1.45;color:var(--fs-text-muted)}
.fst-page .tk-step-time{margin-top:2px;font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:12px;color:var(--fs-text-muted)}
.fst-page .tk-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px;border-top:1px solid var(--fs-border)}
.fst-page .tk-details.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.fst-page .tk-detail{min-width:0;padding:8px 4px;text-align:center}
.fst-page .tk-detail-lbl{margin-bottom:3px;font-size:12px;color:var(--fs-text-muted)}
.fst-page .tk-detail-val{font-size:15px;font-weight:600;color:var(--fs-text);overflow-wrap:anywhere}
.fst-page .tk-detail-val.is-small{font-size:13px}
.fst-rcpt{margin-top:16px;padding:16px;border-radius:var(--fs-radius-md);background:var(--fs-surface)}
[data-theme="dark"] .fst-rcpt{background:var(--fs-bg)}
.fst-rcpt-t{margin-bottom:8px;font-size:14px;font-weight:600;color:var(--fs-text)}
.fst-rcpt-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 0;border-bottom:1px solid var(--fs-border);font-size:14px}
.fst-rcpt-row:last-child{border-bottom:0}
.fst-rcpt-ico,.fst-rcpt-st{color:var(--fs-warning);font-weight:600}
.fst-rcpt-row.is-dl .fst-rcpt-ico,.fst-rcpt-row.is-dl .fst-rcpt-st{color:var(--fs-success)}
[data-theme="dark"] .fst-rcpt-ico,[data-theme="dark"] .fst-rcpt-st{color:#E0B45C}
[data-theme="dark"] .fst-rcpt-row.is-dl .fst-rcpt-ico,[data-theme="dark"] .fst-rcpt-row.is-dl .fst-rcpt-st{color:var(--fs-primary)}
.fst-rcpt-mail{flex:1 1 160px;min-width:0;color:var(--fs-text-soft);overflow-wrap:anywhere}
.fst-rcpt-time,.fst-rcpt-note{font-size:12px;color:var(--fs-text-muted)}
.fst-rcpt-note{margin-top:8px}

@media(max-width:1024px){
  .fsp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .fsi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fsi-grid-3,.fsc-layers{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  .fsi-hero{padding:40px 16px 28px;gap:14px}
  .fsi-lead{font-size:17px}
  .fsi-wrap{padding:0 16px 56px;gap:44px}
  .fsi-grid-2,.fsi-list,.fsp-grid{grid-template-columns:minmax(0,1fr)}
  .fsi-card{padding:20px}
  .fsi-h2{font-size:22px}
  .fsi-cta{padding:32px 16px}
  .fsi-actions,.fsi-actions .fsi-btn{width:100%}
  .fsp-toggle{width:100%}
  .fsp-toggle-btn{flex:1;justify-content:center;padding:6px 10px}
  .fsp-single-buy{align-items:flex-start;min-width:0}
  .fsp-unavail{text-align:left}
  .fsp-gift .fsp-btn,.fsp-single-buy .fsp-btn{width:100%}
  .fst-card{padding:20px}
  .fst-where{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .fst-spin,.fst-page .tk-step.active .tk-node::after{animation:none}
}
/* ===================== Ende Inhaltsseiten (Richtung A) ===================== */

/* ==========================================================================
   Dateianfrage, Redesign Richtung A (fsq-*): /request (Anfrage anlegen), /upload/{id} (Kopf-Box der Anfrage,
   Rest wie /send ueber fsh-page + fss-page), Statusseiten der Anfrage sowie 404/500 (Fehlerkarte fsd-error
   vom Empfang). Nur --fs-* Tokens. Upload-Hooks und IDs bleiben unveraendert.
   ========================================================================== */
.fsq-page .fsq-hero-icon,.fsq-status .fsq-hero-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;
  border-radius:var(--fs-radius-pill);background:var(--fs-teal-100);color:var(--fs-primary)}
[data-theme="dark"] .fsq-page .fsq-hero-icon{background:var(--fs-teal-900)}

/* Kopf-Box der Anfrage (/upload/{id}): wer fragt an, Nachricht, Passwortschutz, Gueltigkeit */
.fsq-page .fsq-box{width:100%;max-width:680px;display:flex;flex-direction:column;gap:12px;padding:16px 20px;text-align:left;
  border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);background:var(--fsh-card-bg);box-shadow:var(--fs-shadow-xs)}
.fsq-page .fsq-from{display:flex;align-items:center;gap:12px;min-width:0}
.fsq-page .fsq-avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--fs-radius-pill);
  background:var(--fs-teal-100);color:var(--fs-primary);font:600 16px var(--fs-font)}
[data-theme="dark"] .fsq-page .fsq-avatar{background:var(--fs-teal-900)}
.fsq-page .fsq-from-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.fsq-page .fsq-mail{font-size:15px;font-weight:600;color:var(--fs-text);overflow-wrap:anywhere}
.fsq-page .fsq-sub{font-size:13px;color:var(--fs-text-muted)}
.fsq-page .fsq-msg{margin:0;padding:12px 14px;border-left:3px solid var(--fs-primary);border-radius:0 12px 12px 0;background:var(--fs-surface);
  font-size:15px;line-height:1.55;color:var(--fs-text-soft);overflow-wrap:anywhere}
.fsq-page .fsq-facts{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px}
.fsq-page .fsq-facts li{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--fs-text-muted)}
.fsq-page .fsq-facts svg{flex-shrink:0;color:var(--fs-primary)}

/* /request: Formular in der Karte */
.fsq-page .fsq-body{padding:12px 12px 4px}
.fsq-page .fsq-form{display:flex;flex-direction:column;gap:16px}
.fsq-page .fsq-fld{position:relative;display:flex;flex-direction:column;gap:6px;margin:0}
.fsq-page .fsq-label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fsq-page .fld-label .fsq-ab-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--fs-border);background:var(--fsh-card-bg);color:var(--fs-primary);cursor:pointer}
.fsq-page .fld-label .fsq-ab-btn:hover{border-color:var(--fs-primary)}
.fsq-page .fsq-opts{border:1px solid var(--fs-border);border-radius:14px;overflow:hidden}
.fsq-page .fsq-opt{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 8px 8px 16px}
.fsq-page .fsq-opt + .fsq-opt,.fsq-page .fsq-opt-body + .fsq-opt,.fsq-page .fsq-opt-note + .fsq-opt{border-top:1px solid var(--fs-border)}
.fsq-page .fsq-opt-icon{flex-shrink:0;display:inline-flex;color:var(--fs-primary)}
.fsq-page .fsq-opt-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fsq-page .fsq-opt-label{font-size:14px;font-weight:600;color:var(--fs-text)}
.fsq-page .fsq-opt-desc{font-size:13px;line-height:1.45;color:var(--fs-text-muted)}
.fsq-page .fsq-opt.is-locked .opt-toggle{opacity:.45;cursor:not-allowed}
.fsq-page .fsq-opt-body{padding:0 16px 14px 48px}
.fsq-page .fsq-opt-note{margin:0;padding:0 16px 14px 48px;font-size:13px;line-height:1.45;color:var(--fs-coral-700)}
[data-theme="dark"] .fsq-page .fsq-opt-note{color:var(--fs-accent)}
.fsq-page .fsq-opt-note a{color:var(--fs-primary);font-weight:600}
.fsq-page .fsq-pw{position:relative}
.fsq-page .fsq-pw .fld-input{width:100%;padding-right:48px}
.fsq-page .fsq-eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:0;background:none;color:var(--fs-text-muted);cursor:pointer}
.fsq-page #reqGeoSel{width:100%;min-height:120px}
.fsq-page .send-wrap{margin-top:0}
.fsq-page .fss-send{width:100%}
.fsq-page .fsq-links{display:flex;flex-direction:column;gap:14px}
/* Die Logik blendet #requestSuccess per style.display='block' ein; Flex-Abstaende trotzdem behalten */
.fsq-page #requestSuccess[style*="block"]{display:flex!important}
.fsq-page .fsq-sent{display:flex;align-items:center;gap:10px}
.fsq-page .fsq-sent svg{flex-shrink:0;color:var(--fs-primary)}
.fsq-page .fsq-absave:empty{display:none}
.fsq-page .fsq-ab-save{width:100%}
.fsq-page .fsq-ab-h{margin-bottom:6px;font-size:14px;font-weight:600;color:var(--fs-text)}
.fsq-page .fsq-ab-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fsq-page .fsq-ab-mail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--fs-text-soft)}
.fsq-page .fsq-ab-one{flex-shrink:0;height:44px;padding:0 14px;font-size:14px}

/* Statusseiten der Anfrage, 404 und 500: Fehlerkarte des Empfangs (fsd-error) plus Ergaenzungen */
.fsq-status .fsq-code{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--fs-text-muted)}
.fsq-status .fsq-requester{margin:0;font-size:15px;font-weight:600;color:var(--fs-primary);overflow-wrap:anywhere}
.fsq-status .fsq-alert{margin:0;width:100%;max-width:360px;padding:10px 14px;border:1px solid var(--fs-danger);border-radius:var(--fs-radius-sm);
  background:var(--fs-surface);font-size:14px;color:var(--fs-danger)}
[data-theme="dark"] .fsq-status .fsq-alert{border-color:var(--fs-coral-300);color:var(--fs-coral-300)}
.fsq-status .fsq-pw-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;margin-top:4px}
.fsq-status .fsq-pw-input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);
  background:var(--fs-bg);color:var(--fs-text);font:500 16px var(--fs-font);text-align:center;letter-spacing:.04em}
.fsq-status .fsq-pw-input:focus{outline:2px solid var(--fs-teal-400);outline-offset:1px;border-color:var(--fs-primary)}
.fsq-status .fsq-pw-btn{width:100%;border:0;cursor:pointer;font:600 16px var(--fs-font)}
.fsq-status .fsq-regions{width:100%;max-width:420px;padding:12px 14px;border-radius:12px;background:var(--fs-surface);font-size:14px;line-height:1.5;
  color:var(--fs-text-soft);overflow-wrap:anywhere}
.fsq-status .fsq-regions b{color:var(--fs-text)}
.fsq-status .fsq-note{margin:0;max-width:420px;font-size:14px;line-height:1.5;color:var(--fs-text-muted)}
.fsq-status .fsq-dbip{margin:4px 0 0;font-size:11px}
.fsq-status .fsq-dbip a{color:var(--fs-neutral-500);text-decoration:none}
[data-theme="dark"] .fsq-status .fsq-dbip a{color:#7E8C8C}
.fsq-status .fsq-dbip a:hover{color:var(--fs-primary);text-decoration:underline}
.fsq-status .fsq-ref{margin:4px 0 0;font:12px ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;color:var(--fs-text-muted)}

@media(max-width:640px){
  .fsq-page .fsq-box{padding:14px 16px}
  .fsq-page .fsq-opt-body,.fsq-page .fsq-opt-note{padding-left:16px}
  .fsq-page .fsq-label{flex-wrap:wrap}
}
/* ====================== Ende Dateianfrage (Richtung A) ====================== */

/* ==========================================================================
   Rechtsseiten, Redesign Richtung A (fsl-*, views/legal/page.php): Rahmen der Inhaltsseiten (fsi-page),
   Lesetypografie fuer den Text aus legal.php (Text unveraendert), Inhaltsverzeichnis ab 8 Abschnitten.
   Spalte 720px: Textbreite 576px bei 16px = etwa 70 bis 75 Zeichen je Zeile (68ch waere in DM Sans zu breit).
   Die Links im Text tragen style="color:var(--teal)"; die Farbe wird hier ueberdeckt, der Text bleibt.
   ========================================================================== */
.fsl-page .fsl-hero{padding-bottom:28px}
.fsl-wrap{max-width:720px;margin:0 auto;padding:0 24px 72px;display:flex;flex-direction:column;gap:20px}
.fsl-card{padding:40px 48px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);background:var(--fsi-card);box-shadow:var(--fs-shadow-xs)}
.fsl-text{font-size:16px;line-height:1.65;color:var(--fs-text-soft);overflow-wrap:break-word}
.fsl-text > :first-child{margin-top:0}
.fsl-text p{margin:0 0 14px}
.fsl-text h2{margin:40px 0 12px;font-size:21px;line-height:1.3;font-weight:700;letter-spacing:-.01em;color:var(--fs-text);text-wrap:balance;scroll-margin-top:88px}
.fsl-text h3{margin:28px 0 8px;font-size:17px;line-height:1.35;font-weight:600;color:var(--fs-text);scroll-margin-top:88px}
.fsl-text ul,.fsl-text ol{margin:0 0 16px;padding-left:1.4em}
.fsl-text ul{list-style:disc}
.fsl-text ol{list-style:decimal}
.fsl-text li{margin:6px 0;padding-left:.2em}
.fsl-text li::marker{color:var(--fs-primary)}
.fsl-text strong,.fsl-text b{font-weight:600;color:var(--fs-text)}
.fsl-text a,.fsl-text a[style]{color:var(--fs-primary)!important;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.fsl-text a:hover{color:var(--fs-primary-hover)!important}
.fsl-text a:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px;border-radius:4px}
/* "Stand: ..." am Anfang dezent */
.fsl-text > p:first-child:has(> em:only-child){font-size:14px;color:var(--fs-text-muted)}
.fsl-empty{margin:0;font-size:16px;color:var(--fs-text-muted)}
/* Inhaltsverzeichnis */
.fsl-toc{padding:20px 24px;border:1px solid var(--fsi-line);border-radius:var(--fs-radius-card);background:var(--fsi-tint)}
.fsl-toc-title{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-text-muted)}
.fsl-toc-list{margin:0;padding:0;list-style:none;columns:2;column-gap:32px}
.fsl-toc-list li{break-inside:avoid}
.fsl-toc-list a{display:flex;align-items:center;min-height:36px;padding:4px 0;font-size:15px;line-height:1.35;color:var(--fs-text-soft);text-decoration:none}
.fsl-toc-list a:hover{color:var(--fs-primary);text-decoration:underline;text-underline-offset:3px}
.fsl-toc-list a:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px;border-radius:4px}
@media(pointer:coarse){.fsl-toc-list a{min-height:44px}}
@media(max-width:640px){
  .fsl-wrap{padding:0 16px 48px;gap:16px}
  .fsl-card{padding:24px 20px}
  .fsl-text h2{margin-top:32px;font-size:19px}
  .fsl-toc{padding:16px 18px}
  .fsl-toc-list{columns:1}
  .fsl-toc-list a{min-height:44px}
}
/* ====================== Ende Rechtsseiten (Richtung A) ====================== */
/* ==========================================================================
   Geo-Lock-Auswahl, Richtung A (fsg-*): Suchfeld mit Vorschlagsliste und Chips. Ein Baustein fuer /send
   (fairsend.js geoCountryOptions/geoPicker), /messages/compose und /request (views/partials/geo-picker.php).
   Nur --fs-* Tokens, gilt seitenunabhaengig. Die Liste steht im Fluss (kein Overlay), weil das
   Optionen-Akkordeon auf /send overflow:hidden hat. Touch-Ziele 44 px (Chip-x ueber ::after).
   ========================================================================== */
.fsg{width:100%;font-family:var(--fs-font);color:var(--fs-text)}
.fsg [hidden]{display:none!important}
.fsg-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:5px 8px;border:1px solid var(--fs-border-strong);
  border-radius:var(--fs-radius-sm);background:var(--fs-bg);cursor:text}
.fsg-box:focus-within{border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fs-teal-200)}
[data-theme="dark"] .fsg-box:focus-within{box-shadow:0 0 0 3px var(--fs-teal-800)}
.fsg-chips{display:contents}
.fsg-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;min-height:32px;padding:2px 2px 2px 12px;border-radius:var(--fs-radius-pill);
  background:var(--fs-teal-50);color:var(--fs-teal-800);font-size:14px;font-weight:600;line-height:1.2}
[data-theme="dark"] .fsg-chip{background:var(--fs-teal-900);color:var(--fs-teal-100)}
.fsg-chip-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fsg-x{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:0;
  border-radius:var(--fs-radius-pill);background:none;color:inherit;cursor:pointer}
.fsg-x::after{content:'';position:absolute;inset:-8px}
.fsg-x:hover{background:var(--fs-teal-100)}
[data-theme="dark"] .fsg-x:hover{background:var(--fs-teal-800)}
.fsg-x:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:1px}
.fsg-input{flex:1 1 120px;min-width:120px;min-height:32px;margin:0;padding:4px;border:0;outline:0;background:none;box-shadow:none;
  color:var(--fs-text);font:500 15px var(--fs-font)}
.fsg-input::placeholder{color:var(--fs-neutral-500)}
[data-theme="dark"] .fsg-input::placeholder{color:var(--fs-text-muted)}
.fsg-list{list-style:none;margin:6px 0 0;padding:4px;max-height:264px;overflow-y:auto;border:1px solid var(--fs-border);border-radius:var(--fs-radius-sm);
  background:var(--fs-bg);box-shadow:var(--fs-shadow-xs)}
.fsg-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;border-radius:8px;font-size:15px;
  color:var(--fs-text);cursor:pointer}
.fsg-opt:hover,.fsg-opt.is-active{background:var(--fs-teal-50)}
[data-theme="dark"] .fsg-opt:hover,[data-theme="dark"] .fsg-opt.is-active{background:var(--fs-teal-900)}
.fsg-opt-c{flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--fs-text-muted)}
.fsg-empty{padding:10px 12px;font-size:14px;color:var(--fs-text-muted)}
.fsg-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px}
.fsg-quick{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius-pill);
  background:var(--fs-bg);color:var(--fs-primary);font:600 14px var(--fs-font);cursor:pointer}
.fsg-quick:hover{border-color:var(--fs-primary)}
.fsg-quick:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsg-count{font-size:13px;color:var(--fs-text-muted)}
/* ===================== Ende Geo-Lock-Auswahl (Richtung A) ==================== */
/* ==========================================================================
   Eingeloggte Bereiche, Richtung A (fsu-*): gemeinsame Bausteine fuer Tresor, Nachrichten,
   Teams, Profil (E2, Vorlage Dashboard fsdb-*). Seitenbausteine nur unter .fsu-page; global
   (an <body>) nur Modal, Dialoge (fsAlert/fsConfirm/fsPrompt), Toast und Benachrichtigungen.
   Nur --fs-* Tokens. Steuerelemente 44 px (Touch), -lg 48 px. Bestehende Praefixe unveraendert.
   ========================================================================== */
.fsu-page{display:block;min-height:100%;padding:40px 24px 64px;font-family:var(--fs-font);color:var(--fs-text);
  background:linear-gradient(180deg,var(--fs-bg) 0%,var(--fs-surface-soft) 320px)}
.fsu-page .fsu-wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.fsu-page .fsu-wrap.is-narrow{max-width:760px}
.fsu-page h1,.fsu-page h2,.fsu-page h3,.fsu-page p{margin:0}
.fsu-page a:focus-visible,.fsu-page button:focus-visible,.fsu-page summary:focus-visible,.fsu-page [tabindex]:focus-visible,
.fsu-modal a:focus-visible,.fsu-modal button:focus-visible,.fs-modal button:focus-visible,.fs-notify button:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsu-page .fsu-muted{color:var(--fs-text-muted)}
.fsu-page .fsu-small{font-size:13px;line-height:1.45;color:var(--fs-text-muted)}
.fsu-page .fsu-mono{font-family:var(--fs-font-mono);font-size:.92em}

/* Seitenkopf: H1, Untertitel, Aktionen (mobil volle Breite) */
.fsu-page .fsu-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}
.fsu-page .fsu-head-txt{min-width:0;display:flex;flex-direction:column;gap:6px}
.fsu-page .fsu-h1{font-family:var(--fs-font);font-size:clamp(26px,3vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--fs-text);overflow-wrap:anywhere}
.fsu-page .fsu-sub{font-size:15px;line-height:1.5;color:var(--fs-text-muted)}
.fsu-page .fsu-head-act{display:flex;flex-wrap:wrap;gap:10px}

/* Karte / Panel */
.fsu-page .fsu-card{background:var(--fs-card);border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);box-shadow:var(--fs-shadow-md);color:var(--fs-text);min-width:0}
.fsu-page .fsu-pad{padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.fsu-page .fsu-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;min-height:44px;padding:12px 24px;border-bottom:1px solid var(--fs-border)}
.fsu-page .fsu-card-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--fs-text)}
.fsu-page .fsu-count{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:var(--fs-radius-pill);background:var(--fs-soft);color:var(--fs-primary);font-size:13px;font-weight:700}
.fsu-page .fsu-ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--fs-soft);color:var(--fs-primary)}

/* Knoepfe: primaer (Standard), -sec, -text, -danger, -icon; Groesse 44 px, -lg 48 px */
.fsu-page .fsu-btn,.fsu-modal .fsu-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;
  border-radius:var(--fs-radius);background:var(--fs-primary);color:var(--fs-on-primary);font:600 15px/1.2 var(--fs-font);text-decoration:none;cursor:pointer;white-space:nowrap}
.fsu-page .fsu-btn:hover,.fsu-modal .fsu-btn:hover{background:var(--fs-primary-hover)}
.fsu-page .fsu-btn-sec,.fsu-modal .fsu-btn-sec{background:var(--fs-card);border-color:var(--fs-border-strong);color:var(--fs-text)}
.fsu-page .fsu-btn-sec:hover,.fsu-modal .fsu-btn-sec:hover{background:var(--fs-card);border-color:var(--fs-primary);color:var(--fs-primary)}
.fsu-page .fsu-btn-text,.fsu-modal .fsu-btn-text{padding:0 10px;background:none;border-color:transparent;color:var(--fs-primary)}
.fsu-page .fsu-btn-text:hover,.fsu-modal .fsu-btn-text:hover{background:var(--fs-soft);color:var(--fs-primary)}
.fsu-page .fsu-btn-danger,.fsu-modal .fsu-btn-danger{background:var(--fs-danger);color:#fff}
.fsu-page .fsu-btn-danger:hover,.fsu-modal .fsu-btn-danger:hover{background:#9E2E22}
[data-theme="dark"] .fsu-page .fsu-btn-danger,[data-theme="dark"] .fsu-modal .fsu-btn-danger{background:var(--fs-coral-400);color:var(--fs-neutral-950)}
[data-theme="dark"] .fsu-page .fsu-btn-danger:hover,[data-theme="dark"] .fsu-modal .fsu-btn-danger:hover{background:var(--fs-coral-300)}
.fsu-page .fsu-btn-icon,.fsu-modal .fsu-btn-icon{width:44px;padding:0;background:var(--fs-card);border-color:var(--fs-border-strong);color:var(--fs-text)}
.fsu-page .fsu-btn-icon:hover,.fsu-modal .fsu-btn-icon:hover{background:var(--fs-card);border-color:var(--fs-primary);color:var(--fs-primary)}
.fsu-page .fsu-btn-icon.fsu-btn-text,.fsu-modal .fsu-btn-icon.fsu-btn-text{background:none;border-color:transparent}
.fsu-page .fsu-btn-lg,.fsu-modal .fsu-btn-lg{min-height:48px;padding:0 24px;font-size:16px}
.fsu-page .fsu-btn-icon.fsu-btn-lg{width:48px;padding:0}
.fsu-page .fsu-btn:disabled,.fsu-page .fsu-btn[aria-disabled="true"],.fsu-modal .fsu-btn:disabled{opacity:.55;cursor:default;pointer-events:none}
.fsu-page .fsu-btn svg,.fsu-modal .fsu-btn svg{flex-shrink:0}

/* Toolbar: Suche, Auswahl, Segment (Ansicht/Tabs), Knoepfe; bricht um */
.fsu-page .fsu-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fsu-page .fsu-toolbar .fsu-grow{flex:1 1 220px;min-width:0}
.fsu-page .fsu-search{position:relative;display:flex;align-items:center;min-width:0}
.fsu-page .fsu-search>svg{position:absolute;left:14px;color:var(--fs-text-muted);pointer-events:none}
.fsu-page .fsu-search .fsu-input{padding-left:42px}
.fsu-page .fsu-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:4px;border-radius:var(--fs-radius);background:var(--fs-seg-bg)}
.fsu-page .fsu-seg>a,.fsu-page .fsu-seg>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;min-width:44px;padding:0 14px;border:0;
  border-radius:calc(var(--fs-radius) - 3px);background:none;color:var(--fs-text-muted);font:600 14px var(--fs-font);text-decoration:none;cursor:pointer;white-space:nowrap}
.fsu-page .fsu-seg>a:hover,.fsu-page .fsu-seg>button:hover{color:var(--fs-text)}
.fsu-page .fsu-seg>.is-on,.fsu-page .fsu-seg>[aria-pressed="true"],.fsu-page .fsu-seg>[aria-selected="true"],.fsu-page .fsu-seg>[aria-current="page"]{
  background:var(--fs-seg-on);color:var(--fs-text);box-shadow:var(--fs-shadow-xs)}
.fsu-page .fsu-seg .fsu-count{min-height:20px;padding:0 7px;font-size:12px}
@media(pointer:coarse),(max-width:640px){.fsu-page .fsu-seg>a,.fsu-page .fsu-seg>button{min-height:44px}}

/* Felder: Feld-Gruppe, Label, Hinweis, Fehler; Input/Select/Textarea, Schalter, Checkbox */
.fsu-page .fsu-field,.fsu-modal .fsu-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.fsu-page .fsu-label,.fsu-modal .fsu-label{font-size:13px;font-weight:600;color:var(--fs-text-soft)}
.fsu-page .fsu-label .req,.fsu-modal .fsu-label .req{color:var(--fs-err-text)}
.fsu-page .fsu-hint,.fsu-modal .fsu-hint{font-size:13px;line-height:1.45;color:var(--fs-text-muted)}
.fsu-page .fsu-error,.fsu-modal .fsu-error{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:1.45;font-weight:600;color:var(--fs-err-text)}
.fsu-page .fsu-input,.fsu-page .fsu-select,.fsu-page .fsu-textarea,.fsu-modal .fsu-input,.fsu-modal .fsu-select,.fsu-modal .fsu-textarea,.fs-modal .fsu-input{
  width:100%;min-height:44px;margin:0;padding:10px 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius-sm);background:var(--fs-field);
  color:var(--fs-text);font:500 15px/1.4 var(--fs-font);box-shadow:none;appearance:none;-webkit-appearance:none}
.fsu-page .fsu-textarea,.fsu-modal .fsu-textarea{min-height:104px;resize:vertical}
.fsu-page .fsu-input::placeholder,.fsu-page .fsu-textarea::placeholder,.fsu-modal .fsu-input::placeholder,.fsu-modal .fsu-textarea::placeholder,.fs-modal .fsu-input::placeholder{color:var(--fs-placeholder);opacity:1}
.fsu-page .fsu-input:focus,.fsu-page .fsu-select:focus,.fsu-page .fsu-textarea:focus,.fsu-modal .fsu-input:focus,.fsu-modal .fsu-select:focus,.fsu-modal .fsu-textarea:focus,.fs-modal .fsu-input:focus{
  outline:0;border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fs-focus-ring)}
.fsu-page .is-invalid.fsu-input,.fsu-page .is-invalid.fsu-select,.fsu-page .is-invalid.fsu-textarea,.fsu-modal .is-invalid.fsu-input{border-color:var(--fs-err-text)}
.fsu-page .fsu-input:disabled,.fsu-page .fsu-select:disabled,.fsu-page .fsu-textarea:disabled{background:var(--fs-surface);color:var(--fs-text-muted);cursor:not-allowed}
.fsu-page .fsu-select,.fsu-modal .fsu-select{padding-right:40px;cursor:pointer;background-repeat:no-repeat;background-position:right 12px center;background-size:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
[data-theme="dark"] .fsu-page .fsu-select,[data-theme="dark"] .fsu-modal .fsu-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239FB1B1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.fsu-page .fsu-toolbar .fsu-select{width:auto;min-width:160px}
/* Schalter: <label class="fsu-switch"><input type="checkbox"><span class="fsu-switch-track"></span> Text</label> */
.fsu-page .fsu-switch,.fsu-modal .fsu-switch{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:15px;color:var(--fs-text)}
.fsu-page .fsu-switch input,.fsu-modal .fsu-switch input{position:absolute;opacity:0;width:44px;height:44px;margin:0;cursor:pointer}
.fsu-page .fsu-switch-track,.fsu-modal .fsu-switch-track{position:relative;flex-shrink:0;width:44px;height:26px;border-radius:var(--fs-radius-pill);background:var(--fs-border-strong);transition:background .15s}
.fsu-page .fsu-switch-track::before,.fsu-modal .fsu-switch-track::before{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--fs-shadow-xs);transition:transform .15s}
.fsu-page .fsu-switch input:checked+.fsu-switch-track,.fsu-modal .fsu-switch input:checked+.fsu-switch-track{background:var(--fs-primary)}
.fsu-page .fsu-switch input:checked+.fsu-switch-track::before,.fsu-modal .fsu-switch input:checked+.fsu-switch-track::before{transform:translateX(18px)}
.fsu-page .fsu-switch input:focus-visible+.fsu-switch-track,.fsu-modal .fsu-switch input:focus-visible+.fsu-switch-track{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsu-page .fsu-switch input:disabled+.fsu-switch-track{opacity:.5}
[data-theme="dark"] .fsu-page .fsu-switch-track::before,[data-theme="dark"] .fsu-modal .fsu-switch-track::before{background:var(--fs-neutral-100)}
/* Checkbox: <label class="fsu-check"><input type="checkbox"> Text</label> */
.fsu-page .fsu-check,.fsu-modal .fsu-check{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:15px;color:var(--fs-text)}
.fsu-page .fsu-check input,.fsu-page .fsu-row-check input,.fsu-modal .fsu-check input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--fs-primary);cursor:pointer}

/* Listenzeile: [Checkbox] [Icon] Haupttext + Meta, Badge, Aktionen; mobil bricht sie um */
.fsu-page .fsu-list{display:flex;flex-direction:column}
.fsu-page .fsu-row{display:flex;align-items:center;gap:12px 14px;min-height:64px;padding:10px 24px;border-bottom:1px solid var(--fs-border);color:var(--fs-text);text-decoration:none;min-width:0}
.fsu-page .fsu-list>.fsu-row:last-child{border-bottom:0}
.fsu-page a.fsu-row:hover,.fsu-page .fsu-row.is-link:hover{background:var(--fs-tint)}
.fsu-page .fsu-row.is-sel{background:var(--fs-soft)}
.fsu-page .fsu-row-check{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-10px -8px -10px -12px;flex-shrink:0;cursor:pointer}
.fsu-page .fsu-row-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.fsu-page .fsu-row-title{font-size:15px;font-weight:600;line-height:1.35;color:var(--fs-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fsu-page .fsu-row.is-unread .fsu-row-title{font-weight:700}
.fsu-page .fsu-row-meta{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:13px;line-height:1.45;color:var(--fs-text-muted);min-width:0}
.fsu-page .fsu-row-meta>*{overflow-wrap:anywhere}
.fsu-page .fsu-row-side{display:flex;align-items:center;gap:8px;flex-shrink:0}
.fsu-page .fsu-row-act{display:flex;align-items:center;gap:6px;flex-shrink:0}
@media(max-width:640px){
  .fsu-page .fsu-row{flex-wrap:wrap;align-items:flex-start;padding:12px 16px}
  .fsu-page .fsu-row-check{margin:-10px -8px -10px -12px}
  .fsu-page .fsu-row-main{flex:1 1 calc(100% - 120px)}
  .fsu-page .fsu-row-title{white-space:normal;overflow-wrap:anywhere}
  .fsu-page .fsu-row-side{order:3}
  .fsu-page .fsu-row-act{order:4;margin-left:auto}
}

/* Leerzustand */
.fsu-page .fsu-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;text-align:center}
.fsu-page .fsu-empty-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--fs-radius-pill);background:var(--fs-soft);color:var(--fs-primary)}
.fsu-page .fsu-empty-title{font-size:17px;font-weight:700;color:var(--fs-text)}
.fsu-page .fsu-empty-txt{max-width:44ch;font-size:15px;line-height:1.5;color:var(--fs-text-muted)}
.fsu-page .fsu-empty .fsu-btn{margin-top:4px}

/* Badge (Status mit Punkt): -ok -warn -err -info, ohne Zusatz neutral */
.fsu-page .fsu-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:2px 10px;border-radius:var(--fs-radius-pill);font:600 13px/1.2 var(--fs-font);
  white-space:nowrap;background:var(--fs-track);color:var(--fs-text-muted)}
.fsu-page .fsu-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.fsu-page .fsu-badge.no-dot::before{display:none}
.fsu-page .fsu-badge-ok{background:var(--fs-ok-bg);color:var(--fs-ok-text)}
.fsu-page .fsu-badge-warn{background:var(--fs-warn-bg);color:var(--fs-warn-text)}
.fsu-page .fsu-badge-err{background:var(--fs-err-bg);color:var(--fs-err-text)}
.fsu-page .fsu-badge-info{background:var(--fs-info-bg);color:var(--fs-info-text)}

/* Hinweisbox: is-info (Standard), is-ok, is-warn, is-err */
.fsu-page .fsu-alert,.fsu-modal .fsu-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--fs-info-line);border-radius:var(--fs-radius);
  background:var(--fs-info-bg);color:var(--fs-info-text);font-size:14px;line-height:1.5}
.fsu-page .fsu-alert>svg,.fsu-modal .fsu-alert>svg{flex-shrink:0;margin-top:2px}
.fsu-page .fsu-alert-body,.fsu-modal .fsu-alert-body{min-width:0;color:var(--fs-text)}
.fsu-page .fsu-alert-body strong,.fsu-modal .fsu-alert-body strong{color:inherit}
.fsu-page .fsu-alert.is-ok,.fsu-modal .fsu-alert.is-ok{border-color:var(--fs-ok-line);background:var(--fs-ok-bg);color:var(--fs-ok-text)}
.fsu-page .fsu-alert.is-warn,.fsu-modal .fsu-alert.is-warn{border-color:var(--fs-warn-line);background:var(--fs-warn-bg);color:var(--fs-warn-text)}
.fsu-page .fsu-alert.is-err,.fsu-modal .fsu-alert.is-err{border-color:var(--fs-err-line);background:var(--fs-err-bg);color:var(--fs-err-text)}

/* Modal-Geruest (global, an <body> oder in der Seite): <div class="fsu-modal" hidden><div class="fsu-modal-panel" role="dialog"
   aria-modal="true" aria-labelledby="..."><div class="fsu-modal-head"><h2 class="fsu-modal-title">..</h2><button data-fsu-close>..</button></div>
   <div class="fsu-modal-body">..</div><div class="fsu-modal-foot">..</div></div></div>. Oeffnen/Schliessen: fsModal.open(el)/close(el). */
.fsu-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--fs-overlay);
  font-family:var(--fs-font);color:var(--fs-text);animation:fsuFade .15s ease}
.fsu-modal[hidden]{display:none}
.fsu-modal-panel{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);background:var(--fs-card);
  border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);box-shadow:var(--fs-shadow-lg);overflow:hidden;animation:fsuRise .18s ease}
.fsu-modal-panel.is-wide{max-width:760px}
.fsu-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px 14px 24px;border-bottom:1px solid var(--fs-border)}
.fsu-modal-title{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--fs-text)}
.fsu-modal-body{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;font-size:15px;line-height:1.5}
.fsu-modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--fs-border);background:var(--fs-row)}
@media(max-width:480px){
  .fsu-modal{align-items:flex-end;padding:0}
  .fsu-modal-panel{max-width:none;border-radius:var(--fs-radius-card) var(--fs-radius-card) 0 0;max-height:92vh;max-height:92dvh}
  .fsu-modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .fsu-modal-foot .fsu-btn{flex:1 1 140px}
  .fsu-modal-body{padding:18px 16px}
  .fsu-modal-head{padding-left:16px}
}
html.fsu-modal-open{overflow:hidden}
@keyframes fsuFade{from{opacity:0}to{opacity:1}}
@keyframes fsuRise{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* Dialoge fsAlert/fsConfirm/fsPrompt (views/layouts/frontend.php), auf allen Seiten in A-Optik. Einzige Quelle dieser Klassen. */
.fs-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--fs-overlay);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s}
.fs-modal-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}
.fs-modal{position:relative;width:100%;max-width:420px;padding:28px 24px 20px;background:var(--fs-card);border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);
  box-shadow:var(--fs-shadow-lg);font-family:var(--fs-font);color:var(--fs-text);text-align:center;transform:translateY(8px) scale(.98);transition:transform .18s ease}
.fs-modal-overlay.visible .fs-modal{transform:none}
.fs-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 14px;border-radius:var(--fs-radius-pill);
  background:var(--fs-info-bg);color:var(--fs-info-text)}
.fs-modal-icon svg{display:block;width:28px;height:28px}
.fs-modal-icon-success{background:var(--fs-ok-bg);color:var(--fs-ok-text)}
.fs-modal-icon-warning{background:var(--fs-warn-bg);color:var(--fs-warn-text)}
.fs-modal-icon-error,.fs-modal-icon-danger{background:var(--fs-err-bg);color:var(--fs-err-text)}
.fs-modal-title{margin:0 0 8px;font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--fs-text)}
.fs-modal-msg{margin:0 0 20px;font-size:15px;line-height:1.5;color:var(--fs-text-muted);white-space:pre-line;overflow-wrap:anywhere}
.fs-modal-msg strong,.fs-modal-msg b{color:var(--fs-text)}
.fs-modal-field{margin:-4px 0 20px;text-align:left}
.fs-modal-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.fs-modal-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 140px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--fs-radius);
  background:var(--fs-primary);color:var(--fs-on-primary);font:600 15px/1.2 var(--fs-font);cursor:pointer}
.fs-modal-btn.primary:hover{background:var(--fs-primary-hover)}
.fs-modal-btn.secondary{background:var(--fs-card);border-color:var(--fs-border-strong);color:var(--fs-text)}
.fs-modal-btn.secondary:hover{border-color:var(--fs-primary);color:var(--fs-primary)}
.fs-modal-btn.danger{background:var(--fs-danger);color:#fff}
.fs-modal-btn.danger:hover{background:#9E2E22}
[data-theme="dark"] .fs-modal-btn.danger{background:var(--fs-coral-400);color:var(--fs-neutral-950)}
[data-theme="dark"] .fs-modal-btn.danger:hover{background:var(--fs-coral-300)}

/* Toast (fsToast): kurze Rueckmeldung unten mittig */
.fs-toast{position:fixed;left:50%;bottom:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:10001;display:flex;align-items:center;gap:8px;width:max-content;
  max-width:calc(100vw - 32px);padding:12px 18px;border-radius:var(--fs-radius);background:var(--fs-teal-950);color:#fff;font:500 14px/1.4 var(--fs-font);
  box-shadow:var(--fs-shadow-lg);transform:translate(-50%,8px);opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.fs-toast.is-in{opacity:1;transform:translate(-50%,0)}
.fs-toast svg{flex-shrink:0}
[data-theme="dark"] .fs-toast{background:var(--fs-text);color:var(--fs-neutral-950)}

/* Benachrichtigungen (fsNotify, nur eingeloggt) */
.fs-notify{position:fixed;right:24px;bottom:24px;z-index:9998;display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none;font-family:var(--fs-font)}
.fs-notify-item{position:relative;display:flex;align-items:flex-start;gap:12px;width:360px;max-width:calc(100vw - 32px);padding:14px 10px 14px 16px;background:var(--fs-card);
  border:1px solid var(--fs-border);border-radius:16px;box-shadow:var(--fs-shadow-lg);color:var(--fs-text);cursor:pointer;pointer-events:auto;
  animation:fsuNotifyIn .25s ease;transition:opacity .25s,transform .25s}
.fs-notify-item.out{opacity:0;transform:translateX(24px)}
.fs-notify-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--fs-soft);color:var(--fs-primary)}
.fs-notify-body{flex:1;min-width:0;padding-top:2px}
.fs-notify-title{margin-bottom:2px;font-size:14px;font-weight:700;line-height:1.35;color:var(--fs-text)}
.fs-notify-text{font-size:13px;line-height:1.45;color:var(--fs-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fs-notify-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:-6px 0 0;padding:0;border:0;border-radius:10px;
  background:none;color:var(--fs-text-muted);cursor:pointer}
.fs-notify-close:hover{background:var(--fs-surface);color:var(--fs-text)}
.fs-notify-close svg{display:block}
@keyframes fsuNotifyIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media(max-width:640px){.fs-notify{left:12px;right:12px;bottom:12px}.fs-notify-item{width:auto;max-width:none}}
@media(prefers-reduced-motion:reduce){.fsu-modal,.fsu-modal-panel,.fs-notify-item{animation:none}.fs-modal,.fs-modal-overlay,.fs-toast{transition:none}}
/* =================== Ende Eingeloggte Bereiche (fsu-*, Richtung A) =================== */
/* ==========================================================================
   Tresor /vault, Richtung A (fsv-*, E3): views/vault/index.php + upgrade.php auf den fsu-Bausteinen.
   Die vx-*-Klassen sind Hooks des Tresor-Skripts (Abfragen, className, classList vis/on/sel/hidden/drag-over)
   und werden hier nur gestaltet. #vGrid traegt nur vx-grid (+ sm/dt), weil V.setVm className ueberschreibt.
   Nur --fs-* Tokens; Touch 44 px; bis 640 px einspaltige Werkzeuge.
   ========================================================================== */
.fsv-page .fsv-file{position:relative;overflow:hidden}
.fsv-page .fsv-file input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}
.fsv-page .fsv-file:focus-within{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsv-page .fsv-card{overflow:hidden}
.fsv-page .fsv-top{display:flex;flex-direction:column;gap:12px;padding:16px 24px;border-bottom:1px solid var(--fs-border)}
/* Brotkrumen (Hooks: .vx-bc a, .sep, .bc-ellipsis, .bc-hidden, .bc-expanded) */
.fsv-page .vx-bc{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0}
.fsv-page .vx-bc a{display:inline-flex;align-items:center;gap:6px;max-width:220px;min-height:36px;padding:0 10px;border-radius:var(--fs-radius-sm);font-size:14px;font-weight:600;
  color:var(--fs-text-muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fsv-page .vx-bc a:first-child{padding-left:8px}
.fsv-page .vx-bc a:hover{background:var(--fs-soft);color:var(--fs-primary)}
.fsv-page .vx-bc a:last-child{color:var(--fs-text);font-weight:700}
.fsv-page .vx-bc a svg{flex-shrink:0;color:var(--fs-primary)}
.fsv-page .vx-bc .sep{display:inline-flex;align-items:center;color:var(--fs-border-strong);flex-shrink:0}
.fsv-page .vx-bc .bc-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--fs-radius-sm);
  background:none;color:var(--fs-text-muted);cursor:pointer}
.fsv-page .vx-bc .bc-ellipsis:hover{background:var(--fs-soft);color:var(--fs-primary)}
.fsv-page .vx-bc .bc-hidden{display:none}
.fsv-page .vx-bc.bc-expanded .bc-hidden{display:inline-flex}
.fsv-page .vx-bc.bc-expanded .bc-ellipsis{display:none}
/* Werkzeuge: Ansicht-Umschalter nutzt .on (V.setVm), Icons nehmen keine Klicks (event.target = Knopf) */
.fsv-page .vx-vm>button.on{background:var(--fs-seg-on);color:var(--fs-text);box-shadow:var(--fs-shadow-xs)}
.fsv-page .vx-vm>button svg,.vx-prev-close svg,.fsv-page .vx-ctx svg,.vx-batch button svg{pointer-events:none}
/* Kontingent */
.fsv-page .fsv-store{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;color:var(--fs-text-muted)}
.fsv-page .fsv-store-lbl{font-weight:700;color:var(--fs-text)}
.fsv-page .fsv-store-meta{display:inline-flex;align-items:center;gap:6px}
.fsv-bar{flex:1 1 160px;min-width:120px;height:8px;border-radius:var(--fs-radius-pill);background:var(--fs-track);overflow:hidden}
.fsv-bar-fill{height:100%;border-radius:var(--fs-radius-pill);background:var(--fs-primary);transition:width .2s}
.fsv-bar-fill.is-warn{background:var(--fs-warn-text)}
.fsv-bar-fill.is-crit{background:var(--fs-err-text)}
/* Upload-Zeilen (vom Skript gebaut: .vx-ui .fi/.fd/.fn/.fm/.fb/.ff/.fs/.fc; Inline-Farben der Leiste ueberstimmt) */
.fsv-page .vx-ul{display:flex;flex-direction:column;max-height:300px;overflow-y:auto;border-bottom:1px solid var(--fs-border)}
.fsv-page .vx-ul:empty{display:none}
.fsv-page .vx-ui{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 24px;border-bottom:1px solid var(--fs-border);font-size:14px;animation:fsuFade .2s}
.fsv-page .vx-ui:last-child{border-bottom:0}
.fsv-page .vx-ui .fi{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;font:700 11px var(--fs-font);letter-spacing:.02em}
.fsv-page .vx-ui .fi svg{width:20px;height:20px}
.fsv-page .vx-ui .fd{flex:1;min-width:0}
.fsv-page .vx-ui .fn{font-weight:600;color:var(--fs-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fsv-page .vx-ui .fm{display:flex;align-items:center;gap:10px;margin-top:2px;font-size:13px;color:var(--fs-text-muted)}
.fsv-page .vx-ui .fm svg{vertical-align:-2px}
.fsv-page .vx-ui .fb{height:6px;margin-top:6px;border-radius:var(--fs-radius-pill);background:var(--fs-track);overflow:hidden}
.fsv-page .vx-ui .ff{height:100%;width:0%;border-radius:var(--fs-radius-pill);background:var(--fs-primary)!important;transition:width .15s}
.fsv-page .vx-ui .ff.done{background:var(--fs-ok-text)!important}
.fsv-page .vx-ui .ff.err{background:var(--fs-err-text)!important}
.fsv-page .vx-ui .fs{flex-shrink:0;min-width:56px;text-align:right;font-size:13px;font-weight:700;color:var(--fs-primary)}
.fsv-page .vx-ui .fc{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:var(--fs-radius-sm);
  background:none;color:var(--fs-text-muted);cursor:pointer}
.fsv-page .vx-ui .fc:hover{background:var(--fs-err-bg);color:var(--fs-err-text)}
/* Dateityp-Flaechen: ruhig, ein Ton, Typ ueber das Linien-Icon (auch .fi in Upload-Zeilen) */
.fsv-page .vx-ico,.fsv-page .vx-ui .fi{background:var(--fs-soft);color:var(--fs-primary)}
.fsv-page .vx-ico-folder,.fsv-page .vx-ui .fi.vx-ico-folder{background:var(--fs-teal-100);color:var(--fs-teal-700)}
[data-theme="dark"] .fsv-page .vx-ico-folder{background:var(--fs-teal-900);color:var(--fs-teal-200)}
.fsv-page .vx-ico-pdf,.fsv-page .vx-ico-ppt{color:var(--fs-coral-700)}
[data-theme="dark"] .fsv-page .vx-ico-pdf,[data-theme="dark"] .fsv-page .vx-ico-ppt{color:var(--fs-coral-300)}
/* Alle auswaehlen */
.fsv-page .fsv-selall{display:flex;align-items:center;padding:4px 24px;border-bottom:1px solid var(--fs-border)}
.fsv-page .fsv-selall .fsu-check{font-size:14px;font-weight:600;color:var(--fs-text-muted)}
/* Raster gross/klein und Liste (dt). Hooks: .vx-item[data-*], .sel, .hidden, .drag-over, .dragging, .vx-cb, .vx-ctx, .vx-name, .vx-meta */
.fsv-page .vx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:16px 24px 24px}
.fsv-page .vx-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:18px 12px 14px;border:1px solid var(--fs-border);
  border-radius:16px;background:var(--fs-card);text-align:center;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:border-color .12s,background .12s,box-shadow .12s}
.fsv-page .vx-item:hover{border-color:var(--fs-teal-300);box-shadow:var(--fs-shadow-xs)}
.fsv-page .vx-item.sel{border-color:var(--fs-primary);background:var(--fs-soft);box-shadow:0 0 0 1px var(--fs-primary) inset}
.fsv-page .vx-item.drag-over{border-color:var(--fs-primary);border-style:dashed;background:var(--fs-soft)}
.fsv-page .vx-item[draggable=true]{cursor:grab}
.fsv-page .vx-item.dragging{opacity:.45}
.fsv-page .vx-item.hidden{display:none!important}
.fsv-page .vx-ico{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;flex-shrink:0}
.fsv-page .vx-ico svg{width:26px;height:26px}
.fsv-page .vx-name{width:100%;font-size:14px;font-weight:600;line-height:1.35;color:var(--fs-text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;word-break:break-word;min-height:38px}
.fsv-page .vx-name svg{color:var(--fs-text-muted)}
.fsv-page .vx-meta{width:100%;font-size:12px;color:var(--fs-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fsv-page .fsv-exp.is-soon{color:var(--fs-warn-text);font-weight:600}
.fsv-page .fsv-exp.is-crit{color:var(--fs-err-text);font-weight:700}
.fsv-page .fsv-exp.is-inf{color:var(--fs-primary)}
.fsv-page .vx-cb{position:absolute;top:8px;left:8px;width:20px;height:20px;margin:0;accent-color:var(--fs-primary);cursor:pointer;opacity:0;z-index:2;transition:opacity .1s}
.fsv-page .vx-item:hover .vx-cb,.fsv-page .vx-item.sel .vx-cb,.fsv-page .vx-item .vx-cb:focus-visible,.fsv-page .vx-item .vx-cb:checked{opacity:1}
.fsv-page .vx-ctx{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:10px;
  background:none;color:var(--fs-text-muted);cursor:pointer;opacity:0;z-index:2;transition:opacity .1s}
.fsv-page .vx-item:hover .vx-ctx,.fsv-page .vx-ctx:focus-visible{opacity:1}
.fsv-page .vx-ctx:hover{background:var(--fs-soft);color:var(--fs-primary)}
@media(hover:none){.fsv-page .vx-cb,.fsv-page .vx-ctx{opacity:1}}
/* klein */
.fsv-page .vx-grid.sm{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.fsv-page .sm .vx-item{padding:14px 8px 10px;gap:4px;border-radius:14px}
.fsv-page .sm .vx-ico{width:40px;height:40px;border-radius:12px}
.fsv-page .sm .vx-ico svg{width:20px;height:20px}
.fsv-page .sm .vx-name{font-size:13px;-webkit-line-clamp:1;min-height:0}
.fsv-page .sm .vx-meta,.fsv-page .sm .vx-ctx{display:none}
.fsv-page .sm .vx-cb{top:6px;left:6px}
/* Liste: Optik wie fsu-row */
.fsv-page .vx-grid.dt{display:flex;flex-direction:column;gap:0;padding:0}
.fsv-page .dt .vx-item{flex-direction:row;align-items:center;gap:12px 14px;min-height:64px;padding:10px 16px 10px 24px;border:0;border-bottom:1px solid var(--fs-border);border-radius:0;
  text-align:left;box-shadow:none}
.fsv-page .dt .vx-item:last-child{border-bottom:0}
.fsv-page .dt .vx-item:hover{background:var(--fs-tint);box-shadow:none}
.fsv-page .dt .vx-item.sel{background:var(--fs-soft);box-shadow:inset 3px 0 0 var(--fs-primary)}
.fsv-page .dt .vx-cb{position:static;opacity:1;flex-shrink:0}
.fsv-page .dt .vx-ico{width:40px;height:40px;border-radius:12px}
.fsv-page .dt .vx-ico svg{width:20px;height:20px}
.fsv-page .dt .vx-name{flex:1 1 auto;font-size:15px;-webkit-line-clamp:1;min-height:0}
.fsv-page .dt .vx-meta{width:auto;flex-shrink:0;min-width:140px;font-size:13px;text-align:right}
.fsv-page .dt .vx-ctx{position:static;opacity:1;flex-shrink:0;width:44px;height:44px}
.fsv-page .fsv-nores{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 24px;font-size:15px;color:var(--fs-text-muted)}
/* Aktive Sendungen */
.fsv-page .fsv-tcard .fsu-card-title h2,.fsv-page .fsv-tcard .fsu-card-title{margin:0}
.fsv-page .fsv-nokey{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--fs-text-muted)}
/* Auswahlleiste (#vBatch .vis) */
.vx-batch{position:fixed;left:50%;width:max-content;bottom:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:900;display:none;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px;
  max-width:calc(100vw - 24px);padding:8px;background:var(--fs-card);border:1px solid var(--fs-border);border-radius:16px;box-shadow:var(--fs-shadow-lg);
  font:600 14px var(--fs-font);color:var(--fs-text);transform:translateX(-50%)}
.vx-batch.vis{display:flex;animation:fsuFade .15s ease}
.vx-batch .fsv-batch-n{padding:0 10px 0 8px;white-space:nowrap}
.vx-batch #vBsize{color:var(--fs-text-muted);font-weight:500}
.vx-batch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--fs-border-strong);
  border-radius:var(--fs-radius);background:var(--fs-card);color:var(--fs-text);font:600 14px var(--fs-font);cursor:pointer;white-space:nowrap}
.vx-batch button:hover{border-color:var(--fs-primary);color:var(--fs-primary)}
.vx-batch .bs{background:var(--fs-primary);border-color:var(--fs-primary);color:var(--fs-on-primary)}
.vx-batch .bs:hover{background:var(--fs-primary-hover);color:var(--fs-on-primary)}
.vx-batch .bd{color:var(--fs-err-text)}
.vx-batch .bd:hover{border-color:var(--fs-err-text);background:var(--fs-err-bg);color:var(--fs-err-text)}
.vx-batch .bd,.vx-batch .bx{padding:0}
.vx-batch .bx{border-color:transparent;background:none;color:var(--fs-text-muted)}
.vx-batch button:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
@media(max-width:640px){.vx-batch button span{display:none}.vx-batch button{padding:0}}
/* Kontextmenue (#vMenu .vis), Optik wie .dmenu-pop */
.vx-menu{position:fixed;z-index:1000;display:none;min-width:200px;padding:6px;background:var(--fs-bg);border:1px solid var(--fs-border);border-radius:14px;box-shadow:var(--fs-shadow-lg);font-family:var(--fs-font)}
[data-theme="dark"] .vx-menu{background:var(--fs-surface)}
.vx-menu.vis{display:block;animation:fsuFade .1s ease}
.vx-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:none;color:var(--fs-text);font:600 14px var(--fs-font);
  text-align:left;cursor:pointer}
.vx-menu button svg{flex-shrink:0;color:var(--fs-primary)}
.vx-menu button:hover,.vx-menu button:focus-visible{background:var(--fs-surface);outline:0}
[data-theme="dark"] .vx-menu button:hover,[data-theme="dark"] .vx-menu button:focus-visible{background:var(--fs-bg)}
.vx-menu .del,.vx-menu .del svg{color:var(--fs-err-text)}
.vx-menu hr{margin:4px 2px;border:0;border-top:1px solid var(--fs-border)}
.vx-menu>div:first-child{padding:6px 12px!important;font:600 13px var(--fs-font)!important;color:var(--fs-text-muted)!important}
/* Dialoge auf fsu-modal: sichtbar nur mit .vis (das Skript schaltet vis) */
.fsu-modal.vx-dlg-bg:not(.vis),.fsu-modal.vx-dlp:not(.vis){display:none}
.mv-list{max-height:280px;overflow-y:auto;border:1px solid var(--fs-border);border-radius:var(--fs-radius-sm)}
.mv-opt{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border-bottom:1px solid var(--fs-border);font:500 15px var(--fs-font);color:var(--fs-text);cursor:pointer}
.mv-opt:last-child{border-bottom:0}
.mv-opt svg{flex-shrink:0;color:var(--fs-primary)}
.mv-opt:hover{background:var(--fs-tint)}
.mv-opt.sel{background:var(--fs-soft);color:var(--fs-primary);font-weight:700}
.fsv-dl-choice{display:flex;flex-direction:column;gap:10px}
.vx-dlp .fsu-modal-panel{max-width:440px}
.vx-dlp .dp-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--fs-text)}
.vx-dlp .dp-title svg{color:var(--fs-primary)}
.vx-dlp .dp-file{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;color:var(--fs-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vx-dlp .dp-bar{flex:none;width:100%}
.vx-dlp .dp-info{font-size:13px;color:var(--fs-text-muted)}
.vx-dlp .fsdl-pick{display:inline-flex!important;align-items:center;justify-content:center;width:100%;min-height:48px;margin:4px 0 0!important;border:0;border-radius:var(--fs-radius);
  background:var(--fs-primary);color:var(--fs-on-primary);font:600 16px var(--fs-font);cursor:pointer}
.vx-dlp .fsdl-pick:hover{background:var(--fs-primary-hover)}
/* Vorschau (#vPrev .vis): dunkler Leuchtkasten, Inhalt vom Skript (Bild, PDF, Text, Office) */
.vx-prev{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:56px 16px 16px;background:rgba(6,18,20,.88);font-family:var(--fs-font)}
.vx-prev.vis{display:flex;animation:fsuFade .15s ease}
.vx-prev-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--fs-radius-pill);
  background:rgba(255,255,255,.14);color:#fff;cursor:pointer}
.vx-prev-close:hover{background:rgba(255,255,255,.26)}
.vx-prev-close:focus-visible{outline:2px solid var(--fs-teal-300);outline-offset:2px}
.vx-prev-body{display:flex;flex-direction:column;align-items:center;max-width:92vw;max-height:calc(100vh - 72px)}
.vx-prev-body img{max-width:92vw;max-height:78vh;border-radius:12px;box-shadow:var(--fs-shadow-lg)}
.vx-prev-body iframe,.vx-prev-body object,.vx-prev-body video,.vx-prev-body audio{max-width:92vw;max-height:78vh;border-radius:12px}
.vx-prev-body pre{max-width:86vw;max-height:74vh;overflow:auto;padding:20px;border-radius:12px;background:var(--fs-card);color:var(--fs-text);font:13px/1.55 var(--fs-font-mono);white-space:pre-wrap;word-break:break-word}
.vx-prev-doc{width:85vw;max-width:820px;max-height:78vh;overflow-y:auto;padding:40px 48px;border-radius:12px;background:#fff;color:#1a1a1a;box-shadow:var(--fs-shadow-lg);
  font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.7}
.vx-prev-doc h1,.vx-prev-doc h2,.vx-prev-doc h3,.vx-prev-doc h4{font-family:var(--fs-font)!important;font-weight:700;color:#141B1B}
.vx-prev-doc h1{margin:18px 0 8px;font-size:22px}.vx-prev-doc h2{margin:16px 0 6px;font-size:18px}.vx-prev-doc h3{margin:14px 0 4px;font-size:16px}.vx-prev-doc h4{margin:12px 0 4px;font-size:14px}
.vx-prev-doc p{margin:0 0 8px}.vx-prev-doc li{margin:2px 0 2px 20px;list-style:disc}
.vx-prev-doc table{width:100%;margin:10px 0;border-collapse:collapse;font-size:13px}
.vx-prev-doc td,.vx-prev-doc th{padding:6px 8px;border:1px solid #d0d0d0;text-align:left;vertical-align:top}
.vx-prev-doc tr:nth-child(even){background:#f6f8f8}
.vx-prev-doc .doc-warn{margin-top:14px;text-align:center;font:italic 12px var(--fs-font);color:#647373}
.vx-prev-doc [style*="Outfit"]{font-family:var(--fs-font)!important}
.vx-prev-name{margin-top:12px;color:#fff;font-size:14px;font-weight:600;text-align:center}
.vx-prev-dl{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:10px;padding:0 18px;border:0;border-radius:var(--fs-radius);
  background:var(--fs-primary);color:var(--fs-on-primary);font:600 15px var(--fs-font);cursor:pointer}
[data-theme="dark"] .vx-prev-dl{background:var(--fs-teal-400);color:var(--fs-neutral-950)}
@media(max-width:600px){.vx-prev-doc{width:94vw;padding:20px 16px;font-size:14px}}
/* Ablageflaeche beim Ziehen (#vDrop .on) */
.vx-drop{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(10,110,110,.10);pointer-events:none;font-family:var(--fs-font)}
[data-theme="dark"] .vx-drop{background:rgba(0,0,0,.5)}
.vx-drop.on{display:flex}
.vx-drop-box{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 56px;border:2px dashed var(--fs-primary);border-radius:var(--fs-radius-lg);background:var(--fs-card);
  box-shadow:var(--fs-shadow-lg);text-align:center}
.vx-drop-box .di{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--fs-radius-pill);background:var(--fs-soft);color:var(--fs-primary)}
.vx-drop-box .dt{font-size:17px;font-weight:700;color:var(--fs-text)}
/* Kurzmeldung des Tresors (toast(), .vx-toast) */
.vx-toast{position:fixed;top:20px;top:calc(20px + env(safe-area-inset-top));left:50%;z-index:10001;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:12px 18px;
  border-radius:var(--fs-radius);background:var(--fs-teal-950);color:#fff;font:500 14px/1.4 var(--fs-font);box-shadow:var(--fs-shadow-lg);transform:translateX(-50%);pointer-events:none;animation:fsuFade .2s ease}
[data-theme="dark"] .vx-toast{background:var(--fs-text);color:var(--fs-neutral-950)}
/* Schmal */
@media(max-width:640px){
  .fsv-page .fsu-head-act{width:100%}
  .fsv-page .fsu-head-act>*{flex:1 1 150px}
  .fsv-page .fsv-top{padding:14px 16px}
  .fsv-page .fsv-tools .fsu-search{flex:1 1 100%}
  .fsv-page .fsv-tools .fsu-select{flex:1 1 140px;min-width:0}
  .fsv-page .vx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 16px 16px}
  .fsv-page .vx-grid.sm{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fsv-page .vx-grid.dt{padding:0}
  .fsv-page .dt .vx-item{padding:10px 8px 10px 16px;gap:10px}
  .fsv-page .dt .vx-meta{display:none}
  .fsv-page .vx-ui{padding:10px 16px}
  .fsv-page .fsv-selall{padding:4px 16px}
}
/* Tresor ohne Tarif (views/vault/upgrade.php) */
.fsv-page .fsv-up{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;text-align:center}
.fsv-page .fsv-up-ic{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--fs-radius-pill);background:var(--fs-soft);color:var(--fs-primary)}
.fsv-page .fsv-up-t{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--fs-text)}
.fsv-page .fsv-up-d{max-width:52ch;font-size:15px;line-height:1.6;color:var(--fs-text-muted)}
.fsv-page .fsv-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.fsv-page .fsv-feat .fsu-pad{gap:8px}
.fsv-page .fsv-feat-t{font-size:15px;font-weight:700;color:var(--fs-text)}
.fsv-page .fsv-feat-d{font-size:14px;line-height:1.55;color:var(--fs-text-muted)}
.fsv-page .fsv-plans{display:flex;flex-direction:column}
.fsv-page .fsv-plan{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;min-height:52px;padding:10px 24px;border-bottom:1px solid var(--fs-border);font-size:15px}
.fsv-page .fsv-plan:last-child{border-bottom:0}
.fsv-page .fsv-plan-n{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--fs-text)}
.fsv-page .fsv-plan.is-hi .fsv-plan-n{color:var(--fs-primary);font-weight:700}
.fsv-page .fsv-plan-v{font-weight:600;color:var(--fs-text)}
.fsv-page .fsv-plan.is-none .fsv-plan-v{color:var(--fs-text-muted)}
/* ======================= Ende Tresor (fsv-*, Richtung A) ======================= */
/* ==========================================================================
   Nachrichten, Richtung A (fsm-*, E4): /messages (fsu-Liste), /messages/compose (Muster /request: fsh/fss/fsq),
   /m/{token} Lesen (fsu-Karte), Zwischenseite und Hinweise (Fehlerkarte fsd-error). Nur Ergaenzungen zu den
   Bausteinen; alle Regeln unter .fsm-* oder an Nachrichten-IDs. Skripte setzen style.display/Inline-Farben selbst.
   ========================================================================== */
/* Liste */
.fsm-page .fsm-selbar{background:var(--fs-soft);border-radius:var(--fs-radius-card) var(--fs-radius-card) 0 0}
.fsm-page #miToolbar:not(.visible){display:none}
.fsm-page .fsm-selbar .fsu-check{font-size:14px;font-weight:600}
.fsm-page .fsm-selcount{font-weight:700;color:var(--fs-primary)}
.fsm-page .fsm-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--fs-radius-pill);
  background:var(--fs-soft);color:var(--fs-primary);font:700 15px var(--fs-font)}
.fsm-page .fsm-avatar.is-sent{background:var(--fs-surface);color:var(--fs-text-soft)}
.fsm-page .fsm-avatar.is-lg{width:48px;height:48px;font-size:18px}
.fsm-page .fsm-open{cursor:pointer;border-radius:8px}
.fsm-page .fsm-open:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsm-page .fsu-row.mi-item:has(.fsm-open):hover{background:var(--fs-tint)}
.fsm-page .fsm-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--fs-primary);vertical-align:middle}
.fsm-page .fsm-side{gap:10px}
.fsm-page .fsm-time{font-size:13px;color:var(--fs-text-muted);white-space:nowrap}
.fsm-page .fsm-flag{display:inline-flex;color:var(--fs-text-muted)}
.fsm-page .fsm-flag.is-burn{color:var(--fs-warn-text)}
.fsm-page .fsu-btn.fsm-del:hover{color:var(--fs-err-text);border-color:var(--fs-err-text)}
.fsm-page .fsu-btn-text.fsm-del:hover{background:var(--fs-err-bg)}
/* Lesen */
.fsm-read .fsm-from{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:20px 24px;border-bottom:1px solid var(--fs-border)}
.fsm-read .fsm-from-t{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:2px}
.fsm-read .fsm-sender{font-size:16px;font-weight:700;color:var(--fs-text);overflow-wrap:anywhere}
.fsm-read .fsm-badges{display:flex;flex-wrap:wrap;gap:6px}
.fsm-read .fsm-badges .fsu-badge svg{flex-shrink:0}
.fsm-read .fsm-content{gap:16px}
.fsm-read .fsm-subject{font-size:22px;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--fs-text);overflow-wrap:anywhere}
.fsm-read .fsm-decrypting{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;font-size:15px;color:var(--fs-text-muted)}
.fsm-read .fsm-spin{width:28px;height:28px;border:3px solid var(--fs-border);border-top-color:var(--fs-primary);border-radius:50%;animation:fsmSpin .7s linear infinite}
@keyframes fsmSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fsm-read .fsm-spin{animation-duration:2s}}
.fsm-read .fsm-body{min-height:60px;padding:16px 18px;border-radius:var(--fs-radius);background:var(--fs-surface);font-size:16px;line-height:1.7;color:var(--fs-text);
  white-space:pre-wrap;overflow-wrap:anywhere}
.fsm-read .fsm-burnbar{align-items:center}
/* Countdown vom Skript (div ohne id/class vor #mrDestroyBar, Inline-Stil Monospace) */
.fsm-read .fsm-content>div:not([id]):not([class]){font-family:var(--fs-font)!important;font-size:14px!important;color:var(--fs-warn-text)!important;display:flex;align-items:center;justify-content:center;gap:6px}
.fsm-read .fsm-actions{padding-top:16px;border-top:1px solid var(--fs-border)}
.fsm-read .fsm-actions .fsm-report{margin-left:auto;color:var(--fs-text-muted);font-size:14px}
.fsm-read .fsu-btn.fsm-danger{color:var(--fs-err-text)}
.fsm-read .fsu-btn.fsm-danger:hover{border-color:var(--fs-err-text);color:var(--fs-err-text)}
.fsm-read .fsm-reply{padding-top:16px;border-top:1px solid var(--fs-border)}
.fsm-read .fsm-reply-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.fsm-read .fsm-reply-title{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:600;color:var(--fs-text);overflow-wrap:anywhere}
.fsm-read .fsm-reply-send{display:flex;justify-content:flex-end;margin-top:10px}
@media(max-width:640px){
  .fsm-read .fsm-from{padding:16px}
  .fsm-read .fsm-actions .fsu-btn{flex:1 1 auto}
  .fsm-read .fsm-actions .fsm-report{margin-left:0}
}
/* Zwischenseite und Hinweise */
.fsm-status .fsm-burn{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:14px;font-weight:600;line-height:1.45;color:var(--fs-warn-text)}
.fsm-status .fsm-burn svg{flex-shrink:0}
.fsm-status .fsm-pw-btn{gap:8px}
/* Verfassen */
.fsm-compose .fsm-cnt{align-self:flex-end;font-size:12px;color:var(--fs-text-muted)}
.fsm-compose .fsm-textarea{min-height:140px;max-height:none}
.fsm-compose .fsh-mode-btn{background:transparent!important;color:var(--fs-text-muted)!important}
.fsm-compose .fsh-mode-btn.is-on{background:var(--fsh-seg-on)!important;color:var(--fs-text)!important}
.fsm-compose .fsm-burn-ic{color:var(--fs-warn-text)}
.fsm-compose label.fsq-opt-label{cursor:pointer}
.fsm-compose .fsm-persist[style*="flex"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fsm-compose .fsm-persist .fld-input{width:100%}
.fsm-compose .send-wrap{display:flex;flex-direction:column;gap:10px}
.fsm-compose .fsm-note{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin:0;font-size:13px;line-height:1.45;color:var(--fs-text-muted)}
.fsm-compose .fsm-note svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fsm-compose .ab-drop{border-color:var(--fs-border);border-radius:var(--fs-radius-sm);background:var(--fs-card);box-shadow:var(--fs-shadow-md)}
.fsm-compose .ab-item{min-height:44px;color:var(--fs-text)!important;border-bottom-color:var(--fs-border)!important;font:500 14px var(--fs-font)!important}
.fsm-compose .ab-item:hover{background:var(--fs-tint)}
.fsm-compose #mcOk[style*="block"]{display:flex!important}
.fsm-compose #mcOkIconWrap svg{stroke:currentColor}
.fsm-compose #mcOkLink[style*="block"] .fss-field{gap:10px}
.fsm-compose .fsm-url{display:flex;align-items:center;height:auto;min-height:48px;padding:10px 14px;font-family:var(--fs-font-mono);font-size:13px;word-break:break-all;user-select:all}
.fsm-compose .fss-meta dd svg{vertical-align:-2px}
.fsm-compose .fsm-done-act{display:flex;flex-wrap:wrap;gap:10px}
.fsm-compose .fsm-done-act .fsh-btn{flex:1 1 180px}
.fsm-compose .fsm-done-act a.fsh-btn{text-decoration:none}
/* Adressbuch-Fenster des Verfassens (vom Skript mit Inline-Stilen erzeugt, haengt an <body>) */
#mcAbO{font-family:var(--fs-font)}
#mcAbO>div{background:var(--fs-card)!important;border:1px solid var(--fs-border);border-radius:var(--fs-radius-card)!important;box-shadow:var(--fs-shadow-lg)}
#mcAbO>div>div:first-child>div:first-child>div{font-family:var(--fs-font)!important;font-weight:700!important;color:var(--fs-text)!important}
#mcAbO #mcAbQ{min-height:44px;font:500 15px var(--fs-font)!important;border-color:var(--fs-border-strong)!important;background:var(--fs-card)!important;color:var(--fs-text)!important}
#mcAbO .mcAbR{min-height:44px;color:var(--fs-text)}
#mcAbO .mcAbR span{color:var(--fs-text-soft)!important}
#mcAbO .send-btn{min-height:44px;border-radius:var(--fs-radius-sm);background:var(--fs-primary);color:var(--fs-on-primary);font:600 15px var(--fs-font)!important}
#mcAbO button{font-family:var(--fs-font)}
@media(max-width:480px){
  .fsm-compose .fsm-persist[style*="flex"]{grid-template-columns:minmax(0,1fr)}
}
/* ===================== Ende Nachrichten (fsm-*, Richtung A) ===================== */
/* ==========================================================================
   Konto, Richtung A (fsk-*, E5): /profile, /profile/settings, /contacts, 2FA einrichten und Wiederherstellungscodes.
   Nur Ergaenzungen zu den fsu-Bausteinen; alle Regeln unter .fsk-* bzw. .fsk-page. Skripte setzen style.display selbst.
   ========================================================================== */
.fsk-page .fsk-narrow{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.fsk-page .fsk-center{text-align:center;align-items:center}
.fsk-page .fsk-block{display:block;margin-bottom:10px}
.fsk-page .fsk-full{width:100%}
.fsk-page .fsk-tight{padding-top:0}
.fsk-page .fsk-text{font-size:15px;line-height:1.55;color:var(--fs-text-soft)}
.fsk-page .fsk-mail{overflow-wrap:anywhere}
.fsk-page .fsk-row2{display:flex;flex-wrap:wrap;gap:10px}
.fsk-page .fsk-row2>.fsu-btn{flex:1 1 160px}
/* Knoepfe mit langen Uebersetzungen umbrechen statt ueber den Kartenrand zu ragen (390 px) */
.fsk-page .fsu-btn{max-width:100%;white-space:normal;text-align:center}
.fsk-page .fsk-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fsk-page .fsk-sub{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding-top:16px;border-top:1px solid var(--fs-border);font-size:15px;font-weight:700;color:var(--fs-text)}
.fsk-page .fsk-sub svg{color:var(--fs-primary)}
.fsk-page .fsk-up{margin-top:-8px}
.fsk-page .fsk-hero-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--fs-radius-pill);background:var(--fs-soft);color:var(--fs-primary)}
.fsk-page .fsk-hero-ic.is-ok{background:var(--fs-ok-bg);color:var(--fs-ok-text)}
.fsk-page .fsk-h1{font-size:clamp(24px,3vw,28px)}
/* Schnellzugriffe (umbrechend) */
.fsk-page .fsk-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.fsk-page .fsk-quick-a{display:flex;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;transition:border-color .15s}
.fsk-page .fsk-quick-a:hover{border-color:var(--fs-primary)}
.fsk-page .fsk-quick-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.fsk-page .fsk-quick-h{font-size:15px;font-weight:700;color:var(--fs-text)}
/* 2FA im Profil */
.fsk-page .fsu-card.fsk-attn{border-color:var(--fs-warn-line)}
.fsk-page .fsk-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.fsk-page .fsk-choices form{display:flex}
.fsk-page .fsk-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);
  background:var(--fs-card);color:var(--fs-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.fsk-page .fsk-choice:hover{border-color:var(--fs-primary);background:var(--fs-tint)}
.fsk-page .fsk-choice:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsk-page .fsk-choice-ic{display:inline-flex;flex-shrink:0;color:var(--fs-primary)}
.fsk-page .fsk-choice-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.fsk-page .fsk-choice-h{font-size:15px;font-weight:600}
.fsk-page .fsk-disable{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding-top:16px;border-top:1px solid var(--fs-border)}
.fsk-page .fsk-grow{flex:1 1 220px}
.fsk-page .fsu-btn.fsk-danger{color:var(--fs-err-text)}
.fsk-page .fsu-btn.fsk-danger:hover{border-color:var(--fs-err-text);color:var(--fs-err-text)}
.fsk-page .fsk-dangerzone{border-color:var(--fs-err-line)}
.fsk-page .fsk-dangerzone .fsu-card-title{color:var(--fs-err-text)}
.fsk-page #deleteConfirm .fsk-delform{display:flex;flex-direction:column;gap:12px;max-width:420px}
/* Rechnungen */
.fsk-page .fsk-row-ic{display:inline-flex;color:var(--fs-text-muted)}
.fsk-page .fsk-amount{font-size:15px;font-weight:700;color:var(--fs-text);white-space:nowrap}
/* Einstellungen */
.fsk-page .fsk-form{display:flex;flex-direction:column;gap:20px}
.fsk-page .fsk-fieldset{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:8px}
.fsk-page .fsk-radios{display:flex;flex-wrap:wrap;gap:8px}
.fsk-page .fsk-radio{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius-sm);
  font-size:15px;font-weight:500;color:var(--fs-text);cursor:pointer}
.fsk-page .fsk-radio:has(input:checked){border-color:var(--fs-primary);background:var(--fs-soft);color:var(--fs-primary)}
.fsk-page .fsk-radio input{width:18px;height:18px;margin:0;accent-color:var(--fs-primary)}
.fsk-page .fsk-toggles{display:flex;flex-direction:column}
.fsk-page .fsk-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;cursor:pointer}
.fsk-page .fsk-toggles .fsk-toggle{padding:10px 24px;border-bottom:1px solid var(--fs-border)}
.fsk-page .fsk-toggles .fsk-toggle:last-child{border-bottom:0}
.fsk-page .fsk-toggle-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.fsk-page .fsk-toggle-h{font-size:15px;font-weight:600;color:var(--fs-text)}
.fsk-page .fsk-toggle .fsu-switch{flex-shrink:0;min-height:44px}
.fsk-page .fsk-locale{max-width:320px}
/* Adressbuch */
.fsk-page .fsk-addgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}
.fsk-page .fsk-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--fs-radius-pill);
  background:var(--fs-soft);color:var(--fs-primary);font:700 15px var(--fs-font)}
.fsk-page .fsu-btn-text.fsk-del:hover{background:var(--fs-err-bg);color:var(--fs-err-text)}
.fsk-page .fsk-edit{z-index:10000;padding:16px;background:var(--fs-overlay)}
.fsk-page .fsk-edit .fsk-edit-panel{display:flex;flex-direction:column;gap:14px;width:100%;max-width:440px;padding:22px 24px;border:1px solid var(--fs-border);
  border-radius:var(--fs-radius-card);background:var(--fs-card);box-shadow:var(--fs-shadow-lg);color:var(--fs-text);font-family:var(--fs-font)}
/* 2FA einrichten: QR, Schluessel, Ziffernfelder */
.fsk-page .fsk-qr{display:flex;justify-content:center}
.fsk-page .fsk-qr-box{display:inline-flex;padding:12px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);background:#fff;line-height:0}
.fsk-page .fsk-secret{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:14px 16px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);
  background:var(--fs-surface);color:var(--fs-text);font:inherit;cursor:pointer;text-align:center}
.fsk-page .fsk-secret:hover{border-color:var(--fs-primary)}
.fsk-page .fsk-secret:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsk-page .fsk-secret.is-main{padding:20px 16px}
.fsk-page .fsk-secret-lbl{font-size:13px;color:var(--fs-text-muted)}
.fsk-page .fsk-secret-key{font-family:var(--fs-font-mono);font-size:16px;font-weight:700;letter-spacing:.12em;color:var(--fs-primary);word-break:break-all}
.fsk-page .fsk-secret.is-main .fsk-secret-key{font-size:19px}
.fsk-page .fsk-secret-hint{font-size:13px;color:var(--fs-text-muted)}
.fsk-page .fsk-codeform{display:flex;flex-direction:column;gap:14px}
.fsk-page .code-row{display:flex;justify-content:center;gap:8px}
.fsk-page .code-digit{width:48px;height:56px;padding:0;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fs-card);
  color:var(--fs-text);font:600 24px var(--fs-font);text-align:center}
.fsk-page .code-digit:focus{outline:0;border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fs-soft)}
/* Wiederherstellungscodes */
.fsk-page .fsk-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border-radius:var(--fs-radius);background:var(--fs-surface)}
.fsk-page .fsk-code{padding:8px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-sm);background:var(--fs-card);font:600 15px var(--fs-font-mono);color:var(--fs-text);text-align:center}
@media(max-width:640px){
  .fsk-page .fsk-grid2,.fsk-page .fsk-addgrid{grid-template-columns:minmax(0,1fr)}
  .fsk-page .fsk-toggles .fsk-toggle{padding:10px 16px}
  .fsk-page .code-digit{width:44px;height:52px;font-size:22px}
  .fsk-page .code-row{gap:5px}
}
/* Einstellungen: nicht schaltbare Schalter (ausgegraut, Hinweis darunter) */
.fsk-page .fsk-toggle.is-fixed{cursor:default}
.fsk-page .fsk-toggle.is-fixed .fsk-toggle-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.fsk-page .fsk-toggle.is-fixed .fsu-switch,.fsk-page .fsk-toggle.is-fixed .fsu-switch input{cursor:not-allowed}
.fsk-page .fsk-note{display:flex;align-items:flex-start;gap:6px;margin-top:4px;font-size:13px;line-height:1.45;color:var(--fs-text-soft)}
.fsk-page .fsk-note svg{flex-shrink:0;margin-top:2px;color:var(--fs-info-text)}
/* ====================== Ende Konto (fsk-*, Richtung A) ====================== */
/* ==========================================================================
   Teams klein, Richtung A (fst-*, E6): /teams, /teams/{slug}/audit-log (fsu-Bausteine) und die
   Einladungsseiten /teams/invite/{token} (Fehlerkarte fsd-error wie /m/{id}). show.php folgt mit E7.
   ========================================================================== */
.fst-page .fst-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fst-page .fst-team .fsu-row-main{gap:3px}
.fst-page .fst-chev{display:inline-flex;color:var(--fs-text-muted)}
.fst-page a.fst-team:hover .fst-chev{color:var(--fs-primary)}
.fst-page .fsu-toolbar .fsu-select{flex:0 1 280px}
/* Protokoll: Tabelle, mobil Karten (Spaltenname aus data-l) */
.fst-page .fst-table-wrap{position:relative;overflow-x:auto;border-radius:var(--fs-radius-card)}  /* relative: .fst-sr (absolut) bleibt im Scrollbereich */
.fst-page .fst-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45}
.fst-page .fst-table th{padding:12px 16px;border-bottom:1px solid var(--fs-border);background:var(--fs-row);text-align:left;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-text-muted);white-space:nowrap}
.fst-page .fst-table th:first-child,.fst-page .fst-table td:first-child{padding-left:24px}
.fst-page .fst-table td{padding:12px 16px;border-bottom:1px solid var(--fs-border);vertical-align:middle;color:var(--fs-text)}
.fst-page .fst-table tbody tr:last-child td{border-bottom:0}
.fst-page .fst-table tbody tr:hover td{background:var(--fs-tint)}
.fst-page .fst-time{white-space:nowrap;color:var(--fs-text-muted)}
.fst-page .fst-detail{max-width:320px;overflow-wrap:anywhere;color:var(--fs-text-muted)}
.fst-page .fst-ip{font-size:13px;color:var(--fs-text-muted);white-space:nowrap}
.fst-page .fst-table .fsu-badge{white-space:normal}
.fst-page .fst-pager{display:flex;justify-content:center;padding:14px 16px;border-top:1px solid var(--fs-border)}
@media(max-width:640px){
  .fst-page .fst-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .fst-page .fst-table,.fst-page .fst-table tbody,.fst-page .fst-table tr,.fst-page .fst-table td{display:block;width:100%}
  .fst-page .fst-table tr{padding:12px 16px;border-bottom:1px solid var(--fs-border)}
  .fst-page .fst-table tbody tr:last-child{border-bottom:0}
  .fst-page .fst-table td,.fst-page .fst-table td:first-child{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:3px 0;border:0;max-width:none;white-space:normal;overflow-wrap:anywhere}
  .fst-page .fst-table td::before{content:attr(data-l);font:700 12px/1.45 var(--fs-font);color:var(--fs-text-muted)}
  .fst-page .fst-table td>.fsu-badge{justify-self:start}
  .fst-page .fst-table tbody tr:hover td{background:none}
}
/* Einladung: Entscheidung und Ergebnis */
.fst-invite .fst-team-name{margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--fs-text);overflow-wrap:anywhere}
.fst-invite .fst-role{display:inline-flex;align-items:center;min-height:28px;padding:2px 12px;border-radius:var(--fs-radius-pill);background:var(--fs-soft);color:var(--fs-primary);font-size:14px;font-weight:600}
.fst-invite .fst-can{width:100%;max-width:400px;padding:14px 18px;border-radius:12px;background:var(--fs-surface);text-align:left}
.fst-invite .fst-can-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--fs-text)}
.fst-invite .fst-can ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.fst-invite .fst-can li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;color:var(--fs-text-muted)}
.fst-invite .fst-can li svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fst-invite .fst-valid{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--fs-text-muted)}
.fst-invite .fst-login-hint{margin:0;max-width:400px;font-size:14px;line-height:1.5;color:var(--fs-text-muted)}
.fst-invite .fst-actions form{display:flex;margin:0}
.fst-invite .fst-actions button{border:0;cursor:pointer;font:600 16px var(--fs-font)}
.fst-invite .fst-actions .fsd-err-link{border:1px solid var(--fs-border-strong)}
@media(max-width:640px){.fst-invite .fst-actions form,.fst-invite .fst-actions button{width:100%}}
/* ======================== Ende Teams klein (fst-*, Richtung A) ======================== */
/* ==========================================================================
   Team-Detail /teams/{slug}, Richtung A (fst-*, E7): views/teams/show.php auf den fsu-Bausteinen.
   Alles unter .fst-show: /track nutzt ebenfalls .fst-show und globale fst-Klassen (fst-card, fst-rcpt ...). Team-Farbe nur im Kopf (--fst-brand).
   ========================================================================== */
.fst-show .fst-back{align-self:flex-start;margin:-8px 0 -8px -10px}
.fst-show .fst-back-ic{transform:rotate(90deg)}
.fst-show .fst-strong{font-size:15px;font-weight:600;color:var(--fs-text)}
.fst-show .fst-ok{color:var(--fs-ok-text)}
.fst-show .fst-err,.fst-show .fsu-modal-title.fst-err{color:var(--fs-err-text)}
.fst-show .fsu-btn.fst-danger{color:var(--fs-err-text)}
.fst-show .fsu-btn-sec.fst-danger:hover{border-color:var(--fs-err-text);color:var(--fs-err-text)}
.fst-show .fsu-btn-text.fst-danger:hover{background:var(--fs-err-bg);color:var(--fs-err-text)}
.fst-show .fst-self-start{align-self:flex-start}
.fst-show .fst-h3{margin:0;font-size:15px;font-weight:700;color:var(--fs-text)}
.fst-show form{margin:0}
/* Kopf mit Branding */
.fst-show .fst-hero{overflow:hidden}
.fst-show .fst-hero-bar{height:4px;background:linear-gradient(90deg,var(--fst-brand),color-mix(in srgb,var(--fst-brand) 55%,transparent),color-mix(in srgb,var(--fst-brand) 25%,transparent))}
.fst-show .fst-hero-img{position:relative;height:120px;background:center/cover no-repeat}
.fst-show .fst-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,var(--fs-card) 100%)}
.fst-show .fst-hero-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;padding:20px 24px}
.fst-show .fst-hero-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:56px;height:56px;border-radius:14px;overflow:hidden;
  background:color-mix(in srgb,var(--fst-brand) 12%,var(--fs-card));border:1px solid color-mix(in srgb,var(--fst-brand) 30%,var(--fs-border));color:var(--fst-brand);font-size:24px;font-weight:700}
.fst-show .fst-hero-logo img{max-width:46px;max-height:46px;object-fit:contain}
.fst-show .fst-hero-txt{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:4px}
.fst-show .fst-hero-tag{font-size:14px;color:var(--fs-text-muted)}
.fst-show .fst-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:4px;font-size:13px;color:var(--fs-text-muted)}
.fst-show .fst-hero-act{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:640px){.fst-show .fst-hero-in{padding:16px}.fst-show .fst-hero-act,.fst-show .fst-hero-act form,.fst-show .fst-hero-act .fsu-btn{flex:1 1 auto}}
/* Tabs: Segment, mobil quer scrollbar */
.fst-show .fst-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
.fst-show .fst-tabs .fsu-seg{flex-wrap:nowrap}
/* Kennzahlen */
.fst-show .fst-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fst-show .fst-stats.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fst-show .fst-stat{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-card);background:var(--fs-card);box-shadow:var(--fs-shadow-md)}
.fst-show .fsu-pad .fst-stat{box-shadow:none;background:var(--fs-row)}
.fst-show .fst-stat-l{font-size:13px;font-weight:600;color:var(--fs-text-muted)}
.fst-show .fst-stat-v{font-size:24px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--fs-text);white-space:nowrap}
.fst-show .fst-stat-v small{font-size:14px;font-weight:600;color:var(--fs-text-muted)}
.fst-show .fst-meter{display:block;height:6px;border-radius:var(--fs-radius-pill);background:var(--fs-track);overflow:hidden}
.fst-show .fst-meter>span{display:block;height:100%;border-radius:inherit;background:var(--fs-primary)}
.fst-show .fst-meter.is-warn>span{background:var(--fs-warn-text)}
.fst-show .fst-meter.is-err>span{background:var(--fs-err-text)}
@media(max-width:900px){.fst-show .fst-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.fst-show .fst-stats.is-3{grid-template-columns:1fr}}
/* Onboarding */
.fst-show .fst-onboard-head{display:flex;align-items:center;gap:14px}
.fst-show .fst-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fst-show .fst-step{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--fs-border);border-radius:var(--fs-radius);color:var(--fs-text);text-decoration:none}
.fst-show .fst-step:hover{border-color:var(--fs-primary);background:var(--fs-tint)}
.fst-show .fst-step-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--fs-soft);color:var(--fs-primary);font-weight:700;font-size:14px}
.fst-show .fst-step-t{font-size:15px;font-weight:600}
@media(max-width:768px){.fst-show .fst-steps{grid-template-columns:1fr}}
/* Zwei Spalten: Aktivitaeten + Mitglieder */
.fst-show .fst-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.fst-show .fst-cols.is-single{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){.fst-show .fst-cols{grid-template-columns:minmax(0,1fr)}}
.fst-show .fst-scroll{max-height:440px;overflow-y:auto}
.fst-show .fst-act{min-height:56px}
.fst-show .fst-act-ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:10px;background:var(--fs-soft);color:var(--fs-primary)}
.fst-show .fst-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--fs-radius-pill);
  background:var(--fs-soft);color:var(--fs-primary);font-size:15px;font-weight:700}
/* Mitglieder */
.fst-show .fst-invite-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.fst-show .fst-invite-form .fst-grow{flex:1 1 240px}
.fst-show .fst-invite-form .fsu-select{min-width:160px}
.fst-show .fst-role-sel{width:auto;min-width:150px}
.fst-show .fst-table-wrap .fst-perm{width:100%;border-collapse:collapse;font-size:14px}
.fst-show .fst-perm th,.fst-show .fst-perm td{padding:10px 16px;border-bottom:1px solid var(--fs-border);text-align:center}
.fst-show .fst-perm thead th{background:var(--fs-row);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-text-muted);white-space:nowrap}
.fst-show .fst-perm th:first-child{text-align:left;padding-left:24px}
.fst-show .fst-perm tbody th{font-weight:500;color:var(--fs-text)}
.fst-show .fst-perm tbody tr:last-child>*{border-bottom:0}
.fst-show .fst-yes{display:inline-flex;color:var(--fs-ok-text)}
.fst-show .fst-no{color:var(--fs-text-muted)}
/* Kontakte */
.fst-show .fst-groups{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 14px}
.fst-show .fst-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fst-show .fst-chip-wrap{display:inline-flex;align-items:center}
.fst-show .fst-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius-pill);
  background:var(--fs-card);color:var(--fs-text);font:600 14px var(--fs-font);text-decoration:none;cursor:pointer}
.fst-show .fst-chip:hover{border-color:var(--fs-primary)}
.fst-show .fst-chip.is-on{border-color:var(--fs-primary);background:var(--fs-soft);color:var(--fs-primary)}
.fst-show .fst-chip.is-add{border-style:dashed;color:var(--fs-text-muted)}
.fst-show .fst-chip .fsu-count{min-height:20px;padding:0 7px;font-size:12px}
.fst-show .fst-chip-x{width:36px;min-height:36px;color:var(--fs-text-muted)}
.fst-show .fst-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.fst-show .fst-grp{display:inline-flex;align-items:center;gap:6px}
.fst-show .fst-head-act{display:flex;flex-wrap:wrap;gap:8px}
.fst-show .fst-addgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}
@media(max-width:900px){.fst-show .fst-addgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fst-show .fst-addgrid>.fsu-btn{grid-column:1/-1}}
@media(max-width:480px){.fst-show .fst-addgrid{grid-template-columns:minmax(0,1fr)}}
.fst-show .fst-fav-head{min-height:40px;padding:8px 24px}
.fst-show .fst-fav-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--fs-primary)}
.fst-show .fst-fav-head.is-others{border-top:1px solid var(--fs-border)}
.fst-show .fst-fav-head.is-others .fst-fav-label{color:var(--fs-text-muted)}
.fst-show .fst-star{display:inline-flex;vertical-align:-2px;color:var(--fs-primary)}
.fst-show .fst-favbtn.fs-ic-fill{color:var(--fs-primary)}
.fst-show .tc-edit-row{display:none;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 24px;border-bottom:1px solid var(--fs-border);background:var(--fs-row)}
.fst-show .tc-edit-row.active{display:flex}
.fst-show .tc-edit-row .fsu-input,.fst-show .tc-edit-row .fsu-select{flex:1 1 150px;width:auto}
.fst-show .fst-gcolors{display:flex;flex-wrap:wrap;gap:8px}
.fst-show .fst-gcolor{width:36px;height:36px;border:0;border-radius:10px;cursor:pointer}
.fst-show .fst-gcolor[aria-pressed="true"]{box-shadow:0 0 0 2px var(--fs-card),0 0 0 4px var(--fs-text)}
.fst-show .fst-code{margin:0;padding:12px 14px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-sm);background:var(--fs-row);
  font:13px/1.6 var(--fs-font-mono);color:var(--fs-text-soft);overflow-x:auto;white-space:pre}
.fst-show .fst-file{font:14px var(--fs-font);color:var(--fs-text)}
/* Sendungen */
.fst-show .fst-tfilter{display:flex;flex-direction:column;gap:12px}
.fst-show .fst-tstatus{align-self:flex-start}
.fst-show .fst-trk{color:var(--fs-primary);font-weight:600;text-decoration:none;white-space:nowrap}
.fst-show .fst-trk:hover{text-decoration:underline}
.fst-show .fst-rcpts{max-width:260px}
.fst-show .fst-rc{display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}
.fst-show .fst-rc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--fs-warn-text)}
.fst-show .fst-rc-dot.is-ok{background:var(--fs-ok-text)}
.fst-show .fst-num{white-space:nowrap;color:var(--fs-text-muted)}
.fst-show .fst-count{padding:12px 24px;border-top:1px solid var(--fs-border);text-align:center}
@media(max-width:640px){.fst-show .fst-table td.fst-rcpts{max-width:none}.fst-show .fst-table td.fst-rcpts::before{align-self:start}}
/* Einstellungen: Add-ons */
.fst-show .fst-sub-head{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.fst-show .fst-addons{display:flex;flex-direction:column;gap:10px}
.fst-show .fst-addon{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;border:1px solid var(--fs-border);border-radius:var(--fs-radius)}
.fst-show .fst-addon-main{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px}
.fst-show .fst-stepper{display:flex;align-items:center;gap:8px}
.fst-show .fst-qty{min-width:28px;text-align:center;font-size:16px;font-weight:700;color:var(--fs-text)}
.fst-show .fsu-btn-icon.fst-plus{background:var(--fs-primary);border-color:var(--fs-primary);color:var(--fs-on-primary)}
.fst-show .fsu-btn-icon.fst-plus:hover{background:var(--fs-primary-hover)}
.fst-show .fst-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--fs-radius);background:var(--fs-soft);color:var(--fs-primary);font-size:14px}
.fst-show .fst-total strong{font-size:16px}
/* Branding */
.fst-show .fst-brand-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--fs-border)}
.fst-show .fst-brand-box{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:2px dashed var(--fs-border-strong);border-radius:12px;background:var(--fs-row);color:var(--fs-text-muted)}
.fst-show .fst-brand-box.is-logo{width:80px;height:80px}
.fst-show .fst-brand-box.is-logo img{max-width:100%;max-height:100%;object-fit:contain}
.fst-show .fst-brand-box.is-header{width:180px;height:60px}
.fst-show .fst-brand-box.has-img{border:0}
.fst-show .fst-brand-box.is-header img{width:100%;height:100%;object-fit:cover}
.fst-show .fst-brand-txt{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:4px}
.fst-show .fst-brand-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.fst-show .fst-form{display:flex;flex-direction:column;gap:18px}
.fst-show .color-swatches{display:flex;flex-wrap:wrap;gap:8px}
.fst-show .color-swatch{position:relative;width:36px;height:36px;border:0;border-radius:10px;cursor:pointer}
.fst-show .color-swatch:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fst-show .color-swatch.active{box-shadow:0 0 0 2px var(--fs-card),0 0 0 4px var(--fs-text)}
.fst-show .color-swatch.active::after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;background:#fff;
  -webkit-mask:var(--fst-check) center/contain no-repeat;mask:var(--fst-check) center/contain no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.fst-show .color-hex-input{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.fst-show .color-hex-input .preview{width:36px;height:36px;flex-shrink:0;border:1px solid var(--fs-border-strong);border-radius:10px}
.fst-show .color-hex-input .fsu-input{width:120px}
.fst-show .fst-preview{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--fs-radius);background:var(--fs-row)}
.fst-show .fst-preview-card{overflow:hidden;border:1px solid var(--fs-border);border-radius:12px;background:var(--fs-card)}
.fst-show .fst-preview-in{display:flex;align-items:center;gap:12px;padding:12px 16px}
.fst-show .fst-preview-logo{max-height:30px;max-width:80px;object-fit:contain}
.fst-show .fst-preview-init{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;font-size:16px;font-weight:700}
.fst-show .fst-preview-txt{flex:1;min-width:0}
.fst-show .fst-preview-name{font-size:15px;font-weight:700}
.fst-show .fst-preview-via{font-size:11px;font-weight:600;color:var(--fs-text-muted)}
/* Standards, Team-Info, Gefahrenzone */
.fst-show .fst-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px}
@media(max-width:640px){.fst-show .fst-grid2{grid-template-columns:minmax(0,1fr)}}
.fst-show .fst-toggles{display:flex;flex-direction:column}
.fst-show .fst-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px 0;border-bottom:1px solid var(--fs-border);cursor:pointer}
.fst-show .fst-toggle:last-child{border-bottom:0}
.fst-show .fst-toggle-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.fst-show .fst-toggle .fsu-switch{flex-shrink:0}
.fst-show .fst-dangerzone{border-color:var(--fs-err-line)}
.fst-show .fst-dangerzone .fsu-card-title{color:var(--fs-err-text)}
/* Dialog Add-on buchen */
.fst-show .fst-aco-ic{display:flex;justify-content:center;color:var(--fs-primary)}
.fst-show .fst-aco{display:flex;flex-direction:column;gap:8px;margin:0;padding:14px 16px;border-radius:var(--fs-radius);background:var(--fs-row)}
.fst-show .fst-aco>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.fst-show .fst-aco dt{color:var(--fs-text-muted)}
.fst-show .fst-aco dd{margin:0;font-weight:600;color:var(--fs-text);text-align:right}
.fst-show .fst-aco .is-total{padding-top:8px;border-top:1px solid var(--fs-border)}
.fst-show .fst-aco .is-total dd{font-size:18px;font-weight:700;color:var(--fs-primary)}
.fst-show .fst-aco-note{text-align:right}
/* ===================== Ende Team-Detail (fst-*, Richtung A) ===================== */

/* Ladezustand ohne Springen (2026-10-18). Das Server-Geruest von /send und /upload/{id} hat eine leere Karte (#cardBody),
   fairsend.js baut sie danach voll auf. Ohne Ladebildschirm (Dateianfrage, /send?vault_files) ist das Geruest kurz zu sehen;
   damit die Fusszeile dann nicht nach unten springt, haelt die leere Karte den Platz der fertigen frei (gemessen: fertige
   Karte minus Rahmen, Mitte ueber die 14 Sprachen, Rest je Sprache hoechstens ca. 20 px). Die Dateianfrage bekommt dazu den
   Platz der Schrittleiste, die fairsend.js ueber der Karte ergaenzt (4 px Kartenabstand + 28 px Leiste + Spaltenabstand).
   /send?vault_files ist immer angemeldet: dort ergaenzt fairsend.js unter der Karte den Hinweis auf Nachrichten
   (Abstand + Kasten = 69 px), den Platz haelt margin-bottom frei.
   Gilt nur, solange #cardBody leer ist; die fertige Seite ist unveraendert. */
.fss-page .fsh-card > #cardBody:empty{min-height:440px}
.fss-page:not(.fsq-page) .send-card.fsh-card:has(> #cardBody:empty){margin-bottom:69px}
.fsq-page .fsh-card > #cardBody:empty{min-height:376px}
.fsq-page .send-card.fsh-card:has(> #cardBody:empty){margin-top:53px}
@media(max-width:640px){
  .fss-page .fsh-card > #cardBody:empty{min-height:488px}
  .fss-page:not(.fsq-page) .send-card.fsh-card:has(> #cardBody:empty){margin-bottom:70px}
  .fsq-page .fsh-card > #cardBody:empty{min-height:412px}
  .fsq-page .send-card.fsh-card:has(> #cardBody:empty){margin-top:48px}
}

/* ==========================================================================
   Abo und Belege, Richtung A (fsb-*, E8a): /abo (= /subscription) und /invoices.
   Nur Ergaenzungen zu den fsu-Bausteinen; alle Regeln unter .fsb-page. Status-Farben ueber --fs-ok/warn/err/info.
   ========================================================================== */
.fsb-page .fsb-wrap{max-width:1000px}
.fsb-page .fsb-wrap-inv{max-width:1000px}
.fsb-page .fsu-btn{max-width:100%;white-space:normal;text-align:center}
.fsb-page .fsb-back svg{transform:scaleX(-1)}
.fsb-page .fsb-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.fsb-page .fsb-col{display:flex;flex-direction:column;gap:20px;min-width:0}
@media(max-width:860px){.fsb-page .fsb-grid{grid-template-columns:minmax(0,1fr)}}
.fsb-page .fsb-kicker{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-text-muted)}
.fsb-page .fsb-plan-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}
.fsb-page .fsb-plan-name{display:flex;align-items:center;gap:14px;min-width:0}
.fsb-page .fsb-plan-h{margin:2px 0 0;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--fs-primary);overflow-wrap:anywhere}
.fsb-page .fsb-price{text-align:right}
.fsb-page .fsb-price-v{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--fs-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.fsb-page .fsb-sec{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--fs-border)}
.fsb-page .fsb-sec-h{margin:0;font-size:15px;font-weight:700;color:var(--fs-text)}
/* Schluessel/Wert-Zeilen (Abo-Daten, naechste Abbuchung) */
.fsb-page .fsb-dl{display:flex;flex-direction:column;gap:8px;margin:0}
.fsb-page .fsb-dl>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;font-size:14px;line-height:1.45}
.fsb-page .fsb-dl dt{min-width:0;color:var(--fs-text-muted)}
.fsb-page .fsb-dl dd{margin:0;font-weight:600;color:var(--fs-text);text-align:right;font-variant-numeric:tabular-nums}
.fsb-page .fsb-charge dt{color:var(--fs-text-soft)}
.fsb-page .fsb-charge>div{flex-wrap:nowrap;align-items:flex-start}
.fsb-page .fsb-charge dt{flex:1 1 auto}
.fsb-page .fsb-charge dd{flex:0 0 auto;white-space:nowrap}
.fsb-page .fsb-dl .is-muted dt,.fsb-page .fsb-dl .is-muted dd{color:var(--fs-text-muted);font-weight:500}
.fsb-page .fsb-dl .is-total{padding-top:10px;border-top:1px solid var(--fs-border);font-size:16px}
.fsb-page .fsb-dl .is-total dt{font-weight:700;color:var(--fs-text)}
.fsb-page .fsb-dl .is-total dd{font-size:18px;font-weight:700}
.fsb-page .fsb-right{text-align:right}
/* Aktionen: Kuendigen bleibt neben "Tarif aendern" sichtbar (Paragraf 312k BGB) */
.fsb-page .fsb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:4px}
.fsb-page .fsb-full{flex-basis:100%}
.fsb-page .fsu-btn.fsb-btn-danger{border-color:var(--fs-err-line);color:var(--fs-err-text)}
.fsb-page .fsu-btn.fsb-btn-danger:hover{border-color:var(--fs-err-text);background:var(--fs-err-bg);color:var(--fs-err-text)}
.fsb-page .fsb-notes{display:flex;flex-direction:column;gap:4px}
.fsb-page .fsb-notes a{font-weight:600;color:var(--fs-primary)}
.fsb-page .fsb-ok{color:var(--fs-ok-text)}
.fsb-page .fsb-warn{color:var(--fs-warn-text);font-weight:600}
.fsb-page .fsb-strong{font-size:13px;font-weight:600}
.fsb-page .fsb-foot{padding:14px 24px}
.fsb-page .fsu-badge svg{flex-shrink:0}
/* Add-ons und kurze Rechnungsliste */
.fsb-page .fsb-addon-st{font-size:13px;line-height:1.45}
.fsb-page .fsb-row-ic{display:inline-flex;color:var(--fs-text-muted)}
.fsb-page a.fsb-inv-a{text-decoration:none;color:var(--fs-text)}
.fsb-page a.fsb-inv-a:hover .fsu-row-title{color:var(--fs-primary)}
.fsb-page .fsb-amount{font-weight:700;color:var(--fs-text);white-space:nowrap;font-variant-numeric:tabular-nums}
.fsb-page .fsb-inv .fsu-btn-text{min-height:40px}
/* Nutzung */
.fsb-page .fsb-meter{display:flex;flex-direction:column;gap:6px}
.fsb-page .fsb-meter-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:14px;color:var(--fs-text-muted)}
.fsb-page .fsb-meter-h strong{font-weight:600;color:var(--fs-text);font-variant-numeric:tabular-nums}
.fsb-page .fsb-bar{height:8px;border-radius:var(--fs-radius-pill);background:var(--fs-border);overflow:hidden}
.fsb-page .fsb-bar>span{display:block;height:100%;border-radius:inherit;background:var(--fs-primary)}
.fsb-page .fsb-bar>span.is-high{background:var(--fs-warn-text)}
.fsb-page .fsb-feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fsb-page .fsb-feats li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;color:var(--fs-text-soft)}
.fsb-page .fsb-feats li svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fsb-page .fsb-feats li.is-hl{font-weight:600;color:var(--fs-text)}
/* Tabellen (Zahlungen, Belege): bis 640 px wird jede Zeile zur Karte */
.fsb-page .fsb-tablewrap{overflow-x:auto}
.fsb-page .fsu-card>.fsb-tablewrap:first-child{border-radius:var(--fs-radius-card) var(--fs-radius-card) 0 0}
.fsb-page .fsu-card>.fsb-tablewrap:last-child{border-bottom-left-radius:var(--fs-radius-card);border-bottom-right-radius:var(--fs-radius-card)}
.fsb-page .fsb-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--fs-text)}
.fsb-page .fsb-table th{padding:10px 16px;background:var(--fs-row);border-bottom:1px solid var(--fs-border);text-align:left;font-size:12px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:var(--fs-text-muted);white-space:nowrap}
.fsb-page .fsb-table td{padding:12px 16px;border-bottom:1px solid var(--fs-border);vertical-align:middle;white-space:normal}
.fsb-page .fsb-table tbody tr:last-child td{border-bottom:0}
.fsb-page .fsb-table th:first-child,.fsb-page .fsb-table td:first-child{padding-left:24px}
.fsb-page .fsb-table th:last-child,.fsb-page .fsb-table td:last-child{padding-right:24px}
.fsb-page .fsb-table .is-num{text-align:right}
.fsb-page .fsb-table .is-act{text-align:right}
.fsb-page .fsb-td-date{white-space:nowrap;color:var(--fs-text-muted)}
.fsb-page .fsb-table .fsb-td-date,.fsb-page .fsb-table .fsb-amount{white-space:nowrap}
.fsb-page .fsb-td-desc{color:var(--fs-text-soft);overflow-wrap:anywhere}
.fsb-page .fsb-td-no{font-weight:600}
.fsb-page .fsb-links{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 14px}
.fsb-page .fsb-links a{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:14px;font-weight:600;color:var(--fs-primary);text-decoration:none;white-space:nowrap}
.fsb-page .fsb-links a:hover{text-decoration:underline}
.fsb-page .fsb-links a.is-muted{color:var(--fs-text-muted)}
@media(max-width:640px){
  .fsb-page .fsb-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .fsb-page .fsb-table,.fsb-page .fsb-table tbody{display:block}
  .fsb-page .fsb-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px 16px;border-bottom:1px solid var(--fs-border)}
  .fsb-page .fsb-table tbody tr:last-child{border-bottom:0}
  .fsb-page .fsb-table td,.fsb-page .fsb-table td:first-child,.fsb-page .fsb-table td:last-child{display:block;padding:0;border:0;min-width:0;white-space:normal}
  .fsb-page .fsb-table .is-num{text-align:right}
  /* Zahlungen: Datum | Betrag, Beschreibung | Status */
  .fsb-page .fsb-table:not(.fsb-inv-table) .fsb-td-date{grid-column:1;grid-row:1}
  .fsb-page .fsb-table:not(.fsb-inv-table) .fsb-amount{grid-column:2;grid-row:1}
  .fsb-page .fsb-table:not(.fsb-inv-table) .fsb-td-desc{grid-column:1;grid-row:2}
  .fsb-page .fsb-table:not(.fsb-inv-table) .fsb-td-st{grid-column:2;grid-row:2;text-align:right}
  /* Belege: Nummer | Betrag, Datum | Status, Links ueber die ganze Breite */
  .fsb-page .fsb-inv-table .fsb-td-no{grid-column:1;grid-row:1;overflow-wrap:anywhere}
  .fsb-page .fsb-inv-table .fsb-amount{grid-column:2;grid-row:1}
  .fsb-page .fsb-inv-table .fsb-td-date{grid-column:1;grid-row:2}
  .fsb-page .fsb-inv-table .fsb-td-st{grid-column:2;grid-row:2;text-align:right}
  .fsb-page .fsb-inv-table .is-act{grid-column:1 / -1;grid-row:3;text-align:left}
  .fsb-page .fsb-inv-table .fsb-links{flex-wrap:wrap;justify-content:flex-start;gap:4px 18px}
  .fsb-page .fsb-links a{min-height:44px}
  .fsb-page .fsb-foot{padding:12px 16px}
  .fsb-page .fsb-price{text-align:left}
}
/* ===================== Ende Abo und Belege (fsb-*, Richtung A) ===================== */
/* ==========================================================================
   Checkout und Willkommensangebot, Richtung A (fso-*, E8b): /checkout/{slug}, Warteseite, Erfolg,
   Ueberweisung ausstehend, /welcome. Nur Ergaenzungen zu den fsu-Bausteinen; alle Regeln unter .fso-page.
   ========================================================================== */
.fso-page [hidden]{display:none!important}
.fsu-page.fso-page{min-height:calc(100vh - 62px)}  /* kurze Seiten: Flaeche bis zum Fuss, kein Farbsprung im Dunkelmodus */
.fso-page .fso-wrap{max-width:1000px}
.fso-page .fso-wrap-msg{max-width:600px}
.fso-page .fso-wrap-wo{max-width:1040px}
.fso-page .fsu-btn{max-width:100%;white-space:normal;text-align:center}
.fso-page .fsu-alert-body b,.fso-page .fsu-alert-body strong{font-weight:700}
.fso-page .fso-promo{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 12px;border-radius:var(--fs-radius-pill);
  background:var(--fs-accent);color:#fff;font-size:13px;font-weight:700;line-height:1.3}
[data-theme="dark"] .fso-page .fso-promo{color:var(--fs-neutral-950)}
.fso-page .fso-sec-h{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--fs-text)}
.fso-page .fso-center{text-align:center}

/* Checkout: Auswahl links, Bestellung rechts; mobil untereinander */
.fso-page .fso-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:20px;align-items:start}
@media(max-width:860px){.fso-page .fso-grid{grid-template-columns:minmax(0,1fr)}}
.fso-page .fso-plan-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}
.fso-page .fso-plan-name{display:flex;align-items:center;gap:14px;min-width:0}
.fso-page .fso-plan-h{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--fs-text);overflow-wrap:anywhere}
.fso-page .fso-price{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.fso-page .fso-price-v{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--fs-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.fso-page .fso-price-v.is-promo{color:var(--fs-primary)}
.fso-page .fso-price-old{font-size:14px;color:var(--fs-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.fso-page .fso-price-note{font-size:13px;font-weight:700;color:var(--fs-primary)}
.fso-page .fso-feats{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--fs-border);display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 18px}
.fso-page .fso-feats li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;color:var(--fs-text-soft);min-width:0;overflow-wrap:anywhere}
.fso-page .fso-feats svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fso-page .fso-trust{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--fs-border);display:flex;flex-wrap:wrap;gap:8px 18px}
.fso-page .fso-trust li{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--fs-text-soft)}
.fso-page .fso-trust svg{color:var(--fs-primary)}
@media(max-width:640px){
  .fso-page .fso-price{align-items:flex-start;text-align:left}
  .fso-page .fsu-head-act{width:100%}
}

/* Bestellformular */
.fso-page .fso-form{gap:16px}
.fso-page .fso-voucher{display:flex;gap:8px}
.fso-page .fso-voucher .fsu-btn{flex-shrink:0}
.fso-page .fso-code{flex:1 1 auto;min-width:0;font-family:var(--fs-font-mono);text-transform:uppercase;letter-spacing:.04em}
.fso-page .fso-code::placeholder{text-transform:uppercase}
.fso-page .fso-vres{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:20px;font-size:13px;line-height:1.45;font-weight:600}
.fso-page .fso-vres:empty{display:none}
.fso-page .fso-vres>span{display:inline-flex;align-items:center;gap:6px}
.fso-page .fso-vres .is-ok{color:var(--fs-ok-text)}
.fso-page .fso-vres .is-err{color:var(--fs-err-text)}
.fso-page .fso-vres .is-wait{color:var(--fs-text-muted)}
.fso-page .fso-vres .fso-vnote{flex-basis:100%;font-weight:500;color:var(--fs-text-muted)}
.fso-page .fso-vremove{min-height:32px;padding:0 8px;border:0;border-radius:var(--fs-radius-sm);background:none;color:var(--fs-err-text);font:600 13px var(--fs-font);cursor:pointer}
.fso-page .fso-vremove:hover{background:var(--fs-err-bg)}
.fso-page .fso-vremove:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fso-page .fso-sum{display:flex;flex-direction:column;gap:6px;margin:0;padding-top:14px;border-top:1px solid var(--fs-border)}
.fso-page .fso-sum>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;line-height:1.45;color:var(--fs-text-soft)}
.fso-page .fso-sum dt{min-width:0;overflow-wrap:anywhere}
.fso-page .fso-sum dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.fso-page .fso-sum>.is-minus{color:var(--fs-ok-text)}
.fso-page .fso-sum>.fso-total{margin-top:4px;padding-top:10px;border-top:1px solid var(--fs-border);font-size:18px;font-weight:700;color:var(--fs-text)}
.fso-page .fso-vat{margin-top:-10px;text-align:right}
.fso-page .fso-legal{display:flex;align-items:flex-start;gap:10px}
.fso-page .fso-legal input{width:20px;height:20px;margin:1px 0 0;flex-shrink:0;accent-color:var(--fs-primary);cursor:pointer}
.fso-page .fso-legal label{font-size:14px;line-height:1.5;color:var(--fs-text-soft);cursor:pointer;min-width:0;overflow-wrap:anywhere}
.fso-page .fso-legal a,.fso-page .fso-msg-txt a,.fso-page #statusMsg a{color:var(--fs-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* Einwilligung Meldung an Google (095): gleich gestaltet wie die uebrigen Haken, Hinweis klein darunter; auch auf der Gutschein-Bezahlseite */
.fso-gads .fso-gads-hint{display:block;margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--fs-text-soft)}
.fsgc-pay .fso-legal{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;text-align:left}
.fsgc-pay .fso-legal input{width:20px;height:20px;margin:1px 0 0;flex-shrink:0;accent-color:var(--fs-primary);cursor:pointer}
.fsgc-pay .fso-legal label{font-size:14px;line-height:1.5;color:var(--fs-text-soft);cursor:pointer;min-width:0;overflow-wrap:anywhere}
.fso-gads .fso-gads-hint a{color:var(--fs-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.fso-page .fso-submit{width:100%}

/* Meldungsseiten: Warten, Erfolg, Ueberweisung */
.fso-page .fso-msg{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 32px;text-align:center}
.fso-page .fso-msg.is-left{align-items:stretch;text-align:left}
.fso-page .fso-msg.is-left .fso-msg-ic{align-self:flex-start}
.fso-page .fso-msg-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--fs-soft);color:var(--fs-primary)}
.fso-page .fso-msg-ic.is-ok{background:var(--fs-ok-bg);color:var(--fs-ok-text)}
.fso-page .fso-msg-ic.is-wait{background:var(--fs-warn-bg);color:var(--fs-warn-text)}
.fso-page .fso-msg-h{margin:0;font-size:clamp(22px,2.6vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--fs-text);overflow-wrap:anywhere}
.fso-page .fso-msg-txt{margin:0;font-size:15px;line-height:1.6;color:var(--fs-text-soft)}
.fso-page .fso-msg-act{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}
.fso-page .fso-msg.is-left .fso-msg-act{justify-content:stretch}
.fso-page .fso-msg.is-left .fso-msg-act .fsu-btn{flex:1 1 auto}
.fso-page .fso-spin{animation:fsoSpin 1.6s linear infinite}
@keyframes fsoSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fso-page .fso-spin{animation:none}}
.fso-page .fso-bank{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--fs-border)}
.fso-page .fso-bank>div{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--fs-border);font-size:14px;line-height:1.45}
.fso-page .fso-bank dt{color:var(--fs-text-muted)}
.fso-page .fso-bank dd{margin:0;font-family:var(--fs-font-mono);font-weight:600;color:var(--fs-text);overflow-wrap:anywhere}
@media(max-width:640px){
  .fso-page .fso-msg{padding:28px 20px}
  .fso-page .fso-msg-act{width:100%}
  .fso-page .fso-msg-act .fsu-btn{flex:1 1 100%}
  .fso-page .fso-bank>div{grid-template-columns:minmax(0,1fr)}
}

/* Willkommensangebot */
.fso-page .fso-wo-hero{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.fso-page .fso-wo-hero .fso-promo{align-self:center}
.fso-page .fso-wo-hero .fsu-sub{max-width:60ch}
.fso-page .fso-wo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:start;padding-top:14px}
.fso-page .fso-wo-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:28px 24px 24px;box-shadow:none}
.fso-page .fso-wo-card.is-popular{border:2px solid var(--fs-primary);box-shadow:var(--fs-shadow-md)}
.fso-page .fso-wo-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:4px 12px;border-radius:var(--fs-radius-pill);
  background:var(--fs-primary);color:var(--fs-on-primary);font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fso-page .fso-wo-name{margin:0;font-size:20px;font-weight:700;color:var(--fs-text)}
.fso-page .fso-wo-desc{min-height:19px}
.fso-page .fso-wo-save{align-self:flex-start;margin-top:6px;white-space:normal}
.fso-page .fso-wo-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:4px}
.fso-page .fso-wo-new{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--fs-text);font-variant-numeric:tabular-nums}
.fso-page .fso-wo-old{font-size:15px;color:var(--fs-text-muted);font-variant-numeric:tabular-nums}
.fso-page .fso-wo-btn{width:100%;margin-top:10px}
.fso-page .fso-wo-unavail{margin-top:10px;padding:10px 12px;border-radius:var(--fs-radius);background:var(--fs-surface);text-align:center}
.fso-page .fso-wo-feats{margin-top:10px;grid-template-columns:minmax(0,1fr)}
.fso-page .fso-wo-skip{margin:0;text-align:center}
/* ===================== Ende Checkout und Willkommensangebot (fso-*, Richtung A) ===================== */

/* ── E8c Gutscheine (Richtung A): /geschenkgutschein, /bezahlen, /bestaetigung, /einloesen. Nur Ergaenzungen zu den
   fsu-Bausteinen; alle Regeln unter .fsgc-page. Klassen gc-tab/gc-amount/gc-design bleiben JS-Haken. ── */
.fsgc-page [hidden]{display:none!important}
.fsu-page.fsgc-page{min-height:calc(100vh - 62px)}
.fsgc-page .fsgc-wrap{max-width:1040px}
.fsgc-page .fsgc-wrap-narrow{max-width:560px}
.fsgc-page .fsgc-wrap-form{max-width:480px}
.fsgc-page .fsu-btn{max-width:100%;white-space:normal;text-align:center}
.fsgc-page .fsgc-center{text-align:center}
.fsgc-page .fsgc-mono{font-family:var(--fs-font-mono);font-weight:600;letter-spacing:.04em;overflow-wrap:anywhere}
.fsgc-page .fsgc-flip{transform:scaleX(-1)}
.fsgc-page .fsgc-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.fsgc-page .fsgc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:20px;align-items:start}
.fsgc-page .fsgc-aside{position:sticky;top:84px;display:flex;flex-direction:column;gap:16px}
@media(max-width:860px){.fsgc-page .fsgc-grid{grid-template-columns:minmax(0,1fr)}.fsgc-page .fsgc-aside{position:static}}
.fsgc-page .fsgc-form{gap:24px}
.fsgc-page .fsgc-sec{display:flex;flex-direction:column;gap:12px;min-width:0}
.fsgc-page .fsgc-sec-h{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--fs-text)}
.fsgc-page .fsgc-sec-h svg{color:var(--fs-primary);flex-shrink:0}
/* Art: Segment */
.fsgc-page .fsgc-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:4px;border-radius:var(--fs-radius);background:var(--fs-seg-bg)}
.fsgc-page .gc-tab{flex:1 1 160px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:var(--fs-radius-sm);background:none;color:var(--fs-text-muted);font:600 15px var(--fs-font);cursor:pointer}
.fsgc-page .gc-tab:hover{color:var(--fs-text)}
.fsgc-page .gc-tab.active{background:var(--fs-seg-on);color:var(--fs-text);box-shadow:var(--fs-shadow-xs)}
/* Betraege */
.fsgc-page .fsgc-amounts{display:flex;flex-wrap:wrap;gap:8px}
.fsgc-page .gc-amount{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:0 16px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fs-field);color:var(--fs-text);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}
.fsgc-page .gc-amount:hover{border-color:var(--fs-primary)}
.fsgc-page .gc-amount.active{border-color:var(--fs-primary);background:var(--fs-soft);color:var(--fs-primary);box-shadow:0 0 0 1px var(--fs-primary) inset}
.fsgc-page .gc-amount input[type=radio]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.fsgc-page .gc-amount:has(input:focus-visible){outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsgc-page .fsgc-custom input{width:64px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:right;outline:none;-moz-appearance:textfield;appearance:textfield}
.fsgc-page .fsgc-custom input::-webkit-inner-spin-button,.fsgc-page .fsgc-custom input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fsgc-page .fsgc-custom input::placeholder{color:var(--fs-placeholder)}
/* Plan */
.fsgc-page .fsgc-plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,160px);gap:10px}
@media(max-width:520px){.fsgc-page .fsgc-plan{grid-template-columns:minmax(0,1fr)}}
/* Designs */
.fsgc-page .fsgc-designs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media(max-width:600px){.fsgc-page .fsgc-designs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fsgc-page .gc-design{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:84px;padding:12px 8px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fs-field);cursor:pointer;text-align:center}
.fsgc-page .gc-design:hover{border-color:var(--fs-primary)}
.fsgc-page .gc-design.active{border-color:var(--fs-primary);background:var(--fs-soft);box-shadow:0 0 0 1px var(--fs-primary) inset}
.fsgc-page .gc-design input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.fsgc-page .gc-design:has(input:focus-visible){outline:2px solid var(--fs-teal-400);outline-offset:2px}
.fsgc-page .fsgc-design-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#0A6E6E,#14968F)}
.fsgc-page .gc-design[data-tone="birthday"] .fsgc-design-ic{background:linear-gradient(135deg,#B8325A,#E0607F)}
.fsgc-page .gc-design[data-tone="thankyou"] .fsgc-design-ic{background:linear-gradient(135deg,#2F6FB0,#5B9BD5)}
.fsgc-page .gc-design[data-tone="christmas"] .fsgc-design-ic{background:linear-gradient(135deg,#A3302A,#D2553F)}
.fsgc-page .gc-design[data-tone="wedding"] .fsgc-design-ic{background:linear-gradient(135deg,#8A6A3B,#C9A46A)}
.fsgc-page .gc-design[data-tone="business"] .fsgc-design-ic{background:linear-gradient(135deg,#1F2B3A,#45556A)}
.fsgc-page .fsgc-design-name{font-size:13px;font-weight:600;color:var(--fs-text-soft);overflow-wrap:anywhere}
/* Felder */
.fsgc-page .fsgc-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:600px){.fsgc-page .fsgc-two{grid-template-columns:minmax(0,1fr)}}
.fsgc-page .fsgc-textmsg{min-height:72px}
.fsgc-page #emailField.is-off{opacity:.4;pointer-events:none}
/* Zustellung */
.fsgc-page .fsgc-send{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media(max-width:520px){.fsgc-page .fsgc-send{grid-template-columns:minmax(0,1fr)}}
.fsgc-page .fsgc-send label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;padding:12px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fs-field);color:var(--fs-text-soft);font-size:14px;font-weight:600;text-align:center;cursor:pointer}
.fsgc-page .fsgc-send label svg{color:var(--fs-primary)}
.fsgc-page .fsgc-send label:hover{border-color:var(--fs-primary)}
.fsgc-page .fsgc-send label.active{border-color:var(--fs-primary);background:var(--fs-soft);color:var(--fs-text);box-shadow:0 0 0 1px var(--fs-primary) inset}
.fsgc-page .fsgc-send input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.fsgc-page .fsgc-send label:has(input:focus-visible){outline:2px solid var(--fs-teal-400);outline-offset:2px}
@media(max-width:520px){.fsgc-page .fsgc-send label{flex-direction:row;justify-content:flex-start;min-height:52px}}
/* Gutscheinkarte (Vorschau, Bezahlen, Bestaetigung) */
.fsgc-page .fsgc-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:180px;padding:24px 20px;border-radius:var(--fs-radius-md);color:#fff;text-align:center;background:linear-gradient(135deg,#0A6E6E,#14968F)}
.fsgc-page .fsgc-card.is-birthday{background:linear-gradient(135deg,#B8325A,#E0607F)}
.fsgc-page .fsgc-card.is-thankyou{background:linear-gradient(135deg,#2F6FB0,#5B9BD5)}
.fsgc-page .fsgc-card.is-christmas{background:linear-gradient(135deg,#A3302A,#D2553F)}
.fsgc-page .fsgc-card.is-wedding{background:linear-gradient(135deg,#8A6A3B,#C9A46A)}
.fsgc-page .fsgc-card.is-business{background:linear-gradient(135deg,#1F2B3A,#45556A)}
.fsgc-page .fsgc-card-to{font-size:13px;opacity:.9}
.fsgc-page .fsgc-card-to:empty{display:none}
.fsgc-page .fsgc-count{font-size:12px;color:var(--fs-text-muted);text-align:right}
.fsgc-page .fsgc-when{margin-top:10px}
.fsgc-page .fsgc-when[hidden]{display:none}
.fsgc-page .fsgc-card::before{content:'';position:absolute;top:-30%;right:-15%;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.08)}
.fsgc-page .fsgc-card>*{position:relative;max-width:100%}
.fsgc-page .fsgc-card-ic{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;margin-bottom:4px;border-radius:18px;background:rgba(255,255,255,.16)}
.fsgc-page .fsgc-card-amount{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fsgc-page .fsgc-card-label{font-size:13px;font-weight:500;opacity:.85}
.fsgc-page .fsgc-card-msg{max-width:280px;font-size:13px;line-height:1.5;font-style:italic;opacity:.85;overflow-wrap:anywhere}
.fsgc-page .fsgc-card-msg:empty{display:none}
.fsgc-page .fsgc-card-code{margin-top:8px;padding:8px 14px;border-radius:10px;background:rgba(0,0,0,.22);font-family:var(--fs-font-mono);font-size:16px;font-weight:600;letter-spacing:.1em;overflow-wrap:anywhere}
.fsgc-page .fsgc-card-full{width:100%}
.fsgc-page .fsgc-submit{width:100%}
/* Einloesen */
.fsgc-page .fsgc-redeem-form{display:flex;gap:8px}
.fsgc-page .fsgc-redeem-form .fsu-input{flex:1 1 auto;min-width:0}
.fsgc-page .fsgc-redeem-form .fsu-btn{flex-shrink:0}
.fsgc-page .fsgc-code{font-family:var(--fs-font-mono);text-transform:uppercase;letter-spacing:.06em}
.fsgc-page .fsgc-code::placeholder{text-transform:uppercase}
.fsgc-page .fsgc-code-lg{min-height:56px;font-size:18px;font-weight:600;text-align:center}
.fsgc-page .fsgc-redeem-card{gap:16px}
.fsgc-page .fsu-alert-body a{color:var(--fs-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* Bezahlen */
.fsgc-page .fsgc-order{overflow:hidden}
.fsgc-page .fsgc-order>.fsgc-card{border-radius:0}
.fsgc-page .fsgc-sum{display:flex;flex-direction:column;gap:6px;margin:0}
.fsgc-page .fsgc-sum>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;line-height:1.45;color:var(--fs-text-soft)}
.fsgc-page .fsgc-sum dt{flex-shrink:0;color:var(--fs-text-muted)}
.fsgc-page .fsgc-sum dd{margin:0;min-width:0;text-align:right;overflow-wrap:anywhere}
.fsgc-page .fsgc-sum>.fsgc-total{margin-top:4px;padding-top:10px;border-top:1px solid var(--fs-border);font-size:18px;font-weight:700;color:var(--fs-text)}
.fsgc-page .fsgc-sum>.fsgc-total dt{color:var(--fs-text)}
.fsgc-page .fsgc-sum>.fsgc-total dd{font-variant-numeric:tabular-nums;white-space:nowrap}
.fsgc-page .fsgc-pay{display:flex;flex-direction:column;gap:12px}
.fsgc-page .fsgc-trust{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--fs-border);display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}
.fsgc-page .fsgc-trust li{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--fs-text-soft)}
.fsgc-page .fsgc-trust svg{color:var(--fs-primary)}
/* Meldungen (Bestaetigung, Einloesen erfolgreich) */
.fsgc-page .fsgc-msg{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 28px;text-align:center}
.fsgc-page .fsgc-msg>.fsu-alert{align-self:stretch;text-align:left}
.fsgc-page .fsgc-msg-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--fs-soft);color:var(--fs-primary)}
.fsgc-page .fsgc-msg-ic.is-ok{background:var(--fs-ok-bg);color:var(--fs-ok-text)}
.fsgc-page .fsgc-msg-ic.is-wait{background:var(--fs-warn-bg);color:var(--fs-warn-text)}
.fsgc-page .fsgc-msg-h{margin:0;font-size:clamp(22px,2.6vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--fs-text);overflow-wrap:anywhere}
.fsgc-page .fsgc-msg-txt{margin:0;font-size:15px;line-height:1.6;color:var(--fs-text-soft);overflow-wrap:anywhere}
.fsgc-page .fsgc-msg-act{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.fsgc-page .fsgc-big{font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--fs-primary);font-variant-numeric:tabular-nums}
@media(max-width:520px){
  .fsgc-page .fsgc-msg{padding:26px 18px}
  .fsgc-page .fsgc-msg-act{width:100%}
  .fsgc-page .fsgc-msg-act .fsu-btn{flex:1 1 100%}
}

/* ── E9 Kopfzeile (Richtung A): fsn-* nur in nav.nav. Ersetzt die Inline-Stile, Sprache als Code statt Flaggen-Emoji. ── */
.nav .fsn-logo{display:flex;align-items:center;gap:8px}
.nav .fsn-plan{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;background:#0A6E6E;color:#fff;letter-spacing:.3px;white-space:nowrap}
.nav .fsn-plan.is-free{background:var(--bg,#f5f5f5);color:var(--muted,#999)}
.nav .fsn-more{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.nav .fsn-drop-more{min-width:160px}
.nav .fsn-msg{position:relative;display:inline-flex;align-items:center}
.nav .fsn-msg .nav-msg-badge{position:absolute;top:-1px;right:-2px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--fs-accent);color:#fff;font:700 10px/1 var(--fs-font);border:2px solid var(--fs-bg);pointer-events:none;z-index:2}
[data-theme="dark"] .nav .fsn-msg .nav-msg-badge{color:#0C1416}
.nav .fsn-admin{color:var(--coral)}
.nav .fsn-lang-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em}
.nav .fsn-lang-btn svg{flex-shrink:0}
.nav .fsn-lang-drop{min-width:240px;max-height:320px;overflow-y:auto;padding:6px}
.nav .fsn-lang-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.nav .fsn-lang-grid a{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:12px;border-radius:6px}
.nav .fsn-lang-code{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;padding:0 4px;border-radius:5px;background:var(--fs-soft);color:var(--fs-primary);font-size:10px;font-weight:700;letter-spacing:.04em;flex-shrink:0}
.nav .fsn-lang-grid a.active .fsn-lang-code{background:var(--fs-primary);color:var(--fs-on-primary)}

/* ── E9 Restseiten (Richtung A): Abmelden, API-Doku, API-Upgrade, 4-Augen-Freigabe, E-Mail-Pruefung, Missbrauch melden.
   Nur Ergaenzungen zu den fsu-Bausteinen; alle Regeln unter .fsr-page. ── */
.fsr-page [hidden]{display:none!important}
.fsu-page.fsr-page{min-height:calc(100vh - 62px)}
.fsr-page .fsr-wrap-sm{max-width:520px}
.fsr-page .fsr-wrap-md{max-width:600px}
.fsr-page .fsr-wrap-docs{max-width:900px}
.fsr-page .fsu-btn{max-width:100%;white-space:normal;text-align:center}
.fsr-page .fsr-full{width:100%}
.fsr-page .fsr-left{align-self:stretch;text-align:left}
.fsr-page .fsr-mono{font-family:var(--fs-font-mono);font-weight:600;overflow-wrap:anywhere}
.fsr-page .fsr-italic{font-style:italic}
.fsr-page .fsr-strong{font-weight:600;color:var(--fs-text)}
.fsr-page .fsr-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.fsr-page .fsr-ic-err{background:var(--fs-err-bg);color:var(--fs-err-text)}
.fsr-page .fsr-form{display:flex;flex-direction:column;gap:16px}
.fsr-page .fsr-fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;min-width:0}
.fsr-page .fsr-fieldset legend{padding:0;margin-bottom:4px}
.fsr-page .fsr-danger{color:var(--fs-err-text);border-color:var(--fs-err-line)}
.fsr-page .fsr-danger:hover{color:var(--fs-err-text);border-color:var(--fs-err-text);background:var(--fs-err-bg)}
.fsr-page .fsr-ul{margin:8px 0 0 18px;padding:0}
.fsr-page .fsu-alert-body a,.fsr-page .fsr-msg a:not(.fsu-btn){color:var(--fs-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* Meldungskarte */
.fsr-page .fsr-msg{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 28px;text-align:center}
.fsr-page .fsr-msg-flat{padding:12px 0}
.fsr-page .fsr-msg-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--fs-soft);color:var(--fs-primary)}
.fsr-page .fsr-msg-ic.is-ok{background:var(--fs-ok-bg);color:var(--fs-ok-text)}
.fsr-page .fsr-msg-ic.is-err{background:var(--fs-err-bg);color:var(--fs-err-text)}
.fsr-page .fsr-msg-h{margin:0;font-size:clamp(22px,2.6vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--fs-text);overflow-wrap:anywhere}
.fsr-page .fsr-msg-txt{margin:0;font-size:15px;line-height:1.6;color:var(--fs-text-soft);overflow-wrap:anywhere}
.fsr-page .fsr-msg-act{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}
.fsr-page .fsr-msg-act.fsr-two>.fsu-btn{flex:1 1 180px}
/* Angabenliste */
.fsr-page .fsr-dl{align-self:stretch;display:flex;flex-direction:column;margin:0;text-align:left}
.fsr-page .fsr-dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:10px 0;border-bottom:1px solid var(--fs-border);font-size:14px;line-height:1.45}
.fsr-page .fsr-dl>div:last-child{border-bottom:0}
.fsr-page .fsr-dl dt{color:var(--fs-text-muted)}
.fsr-page .fsr-dl dd{margin:0;min-width:0;font-weight:600;color:var(--fs-text);text-align:right;overflow-wrap:anywhere}
.fsr-page .fsr-dl-tight{margin-top:6px}
.fsr-page .fsr-dl-tight>div{padding:4px 0;border-bottom:0;font-size:13px}
.fsr-page .fsu-alert .fsr-dl dt,.fsr-page .fsu-alert .fsr-dl dd{color:inherit}
/* API-Doku */
.fsr-page .fsr-tabs{align-self:flex-start;max-width:100%;overflow-x:auto;flex-wrap:nowrap}
.fsr-page .fsr-tabs>a{white-space:nowrap}
.fsr-page .fsr-tabs>a.active{background:var(--fs-seg-on);color:var(--fs-text);box-shadow:var(--fs-shadow-xs)}
.fsr-page .fsr-doc{gap:12px}
.fsr-page .fsr-doc p{font-size:15px;line-height:1.6;color:var(--fs-text-soft)}
.fsr-page .fsr-doc-h{display:flex;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--fs-text)}
.fsr-page .fsr-doc-h svg{color:var(--fs-primary)}
.fsr-page .fsr-doc-h3{margin:12px 0 0;font-size:16px;font-weight:700;color:var(--fs-text)}
.fsr-page .fsr-code{margin:0;padding:16px;border-radius:var(--fs-radius);background:#0C1416;color:#E6EEEE;font-family:var(--fs-font-mono);font-size:13px;line-height:1.7;overflow-x:auto;white-space:pre}
.fsr-page .fsr-code .cm{color:#9FB1B1}.fsr-page .fsr-code .str{color:#86EFAC}
.fsr-page .fsr-ci{padding:1px 6px;border:1px solid var(--fs-border);border-radius:6px;background:var(--fs-surface);font-family:var(--fs-font-mono);font-size:.88em;color:var(--fs-text);overflow-wrap:anywhere}
.fsr-page .fsr-ep{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:14px 16px;border:1px solid var(--fs-border);border-radius:var(--fs-radius);background:var(--fs-surface)}
.fsr-page .fsr-method{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:6px;font-family:var(--fs-font-mono);font-size:12px;font-weight:700;color:#fff}
.fsr-page .fsr-method.is-post{background:#0B7350}.fsr-page .fsr-method.is-get{background:#2F6FB0}
.fsr-page .fsr-path{font-family:var(--fs-font-mono);font-size:14px;font-weight:600;color:var(--fs-text);overflow-wrap:anywhere}
.fsr-page .fsr-doc .fsr-ep-desc{flex-basis:100%;margin:0;font-size:14px;color:var(--fs-text-muted)}
.fsr-page .fsr-scope{white-space:nowrap}
.fsr-page .fsr-tbl-wrap{overflow-x:auto;border:1px solid var(--fs-border);border-radius:var(--fs-radius)}
.fsr-page .fsr-tbl{width:100%;border-collapse:collapse;font-size:14px}
.fsr-page .fsr-tbl th{padding:10px 12px;background:var(--fs-row);text-align:left;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--fs-text-muted);white-space:nowrap}
.fsr-page .fsr-tbl td{padding:10px 12px;border-top:1px solid var(--fs-border);color:var(--fs-text-soft);vertical-align:top}
.fsr-page .fsr-type{font-family:var(--fs-font-mono);font-size:13px;font-weight:600;color:var(--fs-primary)}
.fsr-page .fsr-req{display:inline-flex;min-height:22px;align-items:center;padding:0 8px;border-radius:var(--fs-radius-pill);background:var(--fs-surface);color:var(--fs-text-muted);font-size:12px;font-weight:600}
.fsr-page .fsr-req.is-yes{background:var(--fs-err-bg);color:var(--fs-err-text)}
.fsr-page .fsr-badge-muted{background:var(--fs-surface);color:var(--fs-text-muted)}
.fsr-page .fsr-tokens{display:flex;flex-direction:column;border:1px solid var(--fs-border);border-radius:var(--fs-radius)}
.fsr-page .fsr-token{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 16px;border-bottom:1px solid var(--fs-border)}
.fsr-page .fsr-token:last-child{border-bottom:0}
.fsr-page .fsr-token-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.fsr-page .fsr-token-new{margin:8px 0 6px;padding:10px 14px;border-radius:10px;background:#0C1416;color:#86EFAC;font-family:var(--fs-font-mono);font-size:13px;word-break:break-all}
.fsr-page .fsr-warn-txt{margin:0;font-size:13px;font-weight:600;color:var(--fs-err-text)}
@media(max-width:520px){
  .fsr-page .fsr-msg{padding:26px 18px}
  .fsr-page .fsr-dl dd{text-align:left}
}

/* ── R2 Rechnungsdaten im Checkout (fso-bill, unter .fso-page) und im Konto (fsp-bill wiederverwendet dieselben Regeln) ── */
.fso-page .fso-bill,.fsu-page .fso-bill{border:0;margin:0;padding:14px 0 0;border-top:1px solid var(--fs-border);display:flex;flex-direction:column;gap:12px;min-width:0}
.fso-page .fso-bill legend,.fsu-page .fso-bill legend{padding:0;margin-bottom:4px}
.fsu-page .fso-ctype{display:flex;flex-wrap:wrap;gap:8px}
.fsu-page .fso-ctype label{flex:1 1 140px;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius);background:var(--fs-field);cursor:pointer;font-size:14px;color:var(--fs-text)}
.fsu-page .fso-ctype label:has(input:checked){border-color:var(--fs-primary);background:var(--fs-soft);box-shadow:0 0 0 1px var(--fs-primary) inset}
.fsu-page .fso-ctype input{accent-color:var(--fs-primary);width:18px;height:18px;margin:0;flex-shrink:0}
.fsu-page .fso-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fsu-page .fso-zipcity{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
@media(max-width:480px){.fsu-page .fso-two,.fsu-page .fso-zipcity{grid-template-columns:minmax(0,1fr)}}
.fsu-page .fso-biz[data-off]{display:none}
.fsu-page .fso-bill .fso-vres{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;line-height:1.45;font-weight:600}
.fsu-page .fso-bill .fso-vres:empty{display:none}
.fsu-page .fso-bill .fso-vres .is-ok{color:var(--fs-ok-text)}
.fsu-page .fso-bill .fso-vres .is-err{color:var(--fs-warn-text)}
.fsu-page .fso-bill .fso-code{font-family:var(--fs-font-mono);text-transform:uppercase;letter-spacing:.04em}
.fsu-page .fso-bill .req{color:var(--fs-err-text)}

/* Link und Schluessel getrennt kopieren (views/dashboard/index.php, views/vault/index.php: fsLinkDialog) */
.fsl-ov{position:fixed;inset:0;z-index:10000;background:rgba(8,20,22,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.fsl-box{width:100%;max-width:520px;background:var(--fs-bg);color:var(--fs-text);border:1px solid var(--fs-border);border-radius:var(--fs-radius-lg);box-shadow:var(--fs-shadow-lg);padding:22px 22px 18px}
.fsl-t{font-size:18px;font-weight:700;margin:0 0 6px}
.fsl-hint{font-size:13px;color:var(--fs-text-muted);margin:0 0 12px;line-height:1.5}
.fsl-lbl{display:block;font-size:12px;font-weight:600;margin:10px 0 4px}
.fsl-row{display:flex;gap:8px;align-items:center}
.fsl-row .fsl-in{flex:1;min-width:0;margin:0;font-family:'JetBrains Mono',monospace;font-size:12px}
.fsl-act{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:480px){.fsl-row{flex-direction:column;align-items:stretch}}
/* Empfangsseite: Schluessel von Hand eingeben, wenn #key fehlt */
.fsd-page .fsd-keyform{margin-top:10px}
.fsd-page .fsd-keyrow{display:flex;gap:8px;align-items:center}
.fsd-page .fsd-keyrow .fld-input{flex:1;min-width:0;margin:0;font-family:'JetBrains Mono',monospace;font-size:12px}
.fsd-page .fsd-keyerr{margin-top:6px;font-size:12px;font-weight:600;color:var(--fs-danger,#B42318)}
@media(max-width:480px){.fsd-page .fsd-keyrow{flex-direction:column;align-items:stretch}}
/* Mein Konto: gemerkte 2FA-Geraete */
.fsk-devices{margin-top:18px;padding-top:16px;border-top:1px solid var(--fs-border)}
.fsk-devices .fsu-list{margin:8px 0 12px}
.fsk-devices-all{display:flex;justify-content:flex-end}
/* 2FA-Abfrage: sechs Kaestchen als Anzeige, darueber das eine echte Eingabefeld (transparent, fuer Einfuegen/Autofill) */
.fsa-page .fsa-otp{position:relative;width:max-content;max-width:100%;margin:6px auto 16px}
.fsa-page .fsa-otp-boxes{margin:0;pointer-events:none}
.fsa-page .fsa-otp-box{display:inline-flex;align-items:center;justify-content:center}
.fsa-page .fsa-otp-box.is-active{border-color:var(--fs-teal,#0A6E6E);box-shadow:0 0 0 3px rgba(10,110,110,.18)}
.fsa-page .fsa-otp-input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:transparent;font-size:16px;letter-spacing:2.2em;cursor:text}
.fsa-page .fsa-otp-input::selection{background:transparent}
.fsa-page .fsa-nodev{margin:0 0 4px}

/* Startseite: Abschnitte unter der Upload-Karte (views/home/_sections.php) und Einsatzfaelle auf /funktionen */
.fhx{background:var(--fs-surface-soft);color:var(--fs-text)}
.fhx-sec{max-width:1080px;margin:0 auto;padding:56px 24px}
.fhx-tint{max-width:none;background:var(--fs-bg);border-top:1px solid var(--fs-border)}
.fhx .fhx-tint>*{max-width:1032px;margin-left:auto;margin-right:auto}
.fhx-h2{margin:0 0 8px;font-size:28px;font-weight:700;letter-spacing:-.01em;text-align:center}
.fhx-sub{margin:0 0 28px;text-align:center;color:var(--fs-text-muted);font-size:16px}
.fhx-h2+.fhx-facts,.fhx-h2+.fhx-steps,.fhx-h2+.fhx-plans{margin-top:28px}
.fhx-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--fs-soft);color:var(--fs-primary)}
.fhx-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fhx-fact{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);background:var(--fs-card)}
.fhx-fact-t{font-weight:700;font-size:16px}
.fhx-fact-d{color:var(--fs-text-muted);font-size:14px;line-height:1.5}
.fhx-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:none}
.fhx-step{display:flex;flex-direction:column;gap:8px;padding:4px}
.fhx-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--fs-primary);color:var(--fs-on-primary);font-weight:700}
.fhx-step-t{font-weight:700;font-size:17px}
.fhx-step-d{color:var(--fs-text-muted);font-size:15px;line-height:1.55}
.fhx-more{margin:28px 0 0;text-align:center}
.fhx-more a{display:inline-flex;align-items:center;gap:6px;color:var(--fs-primary);font-weight:600;text-decoration:none}
.fhx-more a:hover{text-decoration:underline}
.fhx-cases,.fhx-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fhx-case,.fhx-plan-card{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);background:var(--fs-card)}
.fhx-case-t,.fhx-plan-n{margin:0;font-size:18px;font-weight:700}
.fhx-case-d{margin:0;color:var(--fs-text-muted);font-size:15px;line-height:1.55}
.fhx-case-l{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.fhx-case-l li{display:flex;gap:8px;align-items:flex-start}
.fhx-case-l li svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
.fhx-plan{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:var(--fs-radius-pill);background:var(--fs-soft);color:var(--fs-primary);font-size:12px;font-weight:600}
.fhx-plan-card.is-hl{border-color:var(--fs-primary);box-shadow:var(--fs-shadow-md)}
.fhx-cases-sub{margin:-4px 0 20px}
.fhx-plan-p{font-size:24px;font-weight:700;color:var(--fs-primary)}
@media(max-width:900px){.fhx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fhx-cases,.fhx-plans,.fhx-steps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.fhx-sec{padding:40px 16px}.fhx-h2{font-size:23px}.fhx-facts{grid-template-columns:minmax(0,1fr)}.fhx-fact,.fhx-case,.fhx-plan-card{padding:18px}}

/* Hilfebereich /hilfe (views/pages/hilfe.php): Suche, Kategorie-Kacheln, Artikel als <details> */
.fhc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fhc-search{position:relative;width:100%;max-width:560px;margin-top:6px}
.fhc-search input{width:100%;padding:14px 16px 14px 46px;border:1px solid var(--fs-border-strong);border-radius:var(--fs-radius-pill);background:var(--fs-card);color:var(--fs-text);font:inherit;font-size:16px;outline:none}
.fhc-search input:focus{border-color:var(--fs-primary);box-shadow:0 0 0 3px var(--fs-soft)}
.fhc-search-ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--fs-text-muted);pointer-events:none}
.fhc-count{margin:0;min-height:1.4em;color:var(--fs-text-muted);font-size:14px}
.fhc-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fhc-cat{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);background:var(--fs-card);color:var(--fs-text);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.fhc-cat:hover,.fhc-cat:focus-visible{border-color:var(--fs-primary);box-shadow:var(--fs-shadow-md);color:var(--fs-text)}
.fsi-page a.fhc-cat,.fsi-page a.fhc-cat:hover,.fsi-page a.fhc-cat:visited{color:var(--fs-text)}
.fhc-cat-t{font-weight:700;font-size:16px}
.fhc-cat-d{color:var(--fs-text-muted);font-size:14px;line-height:1.5;flex:1}
.fhc-cat-n{color:var(--fs-primary);font-size:13px;font-weight:600}
.fhc-sec{scroll-margin-top:90px}
.fhc-list{display:flex;flex-direction:column;gap:10px}
.fhc-art{border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);background:var(--fs-card);scroll-margin-top:90px}
.fhc-art[open]{border-color:var(--fs-border-strong)}
.fhc-art summary{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;font-weight:600;color:var(--fs-text)}
.fhc-art summary::-webkit-details-marker{display:none}
.fhc-art summary:focus-visible{outline:2px solid var(--fs-primary);outline-offset:-2px;border-radius:var(--fs-radius-md)}
.fhc-art-ic{display:inline-flex;color:var(--fs-primary);flex-shrink:0}
.fhc-art-q{flex:1;min-width:0;overflow-wrap:anywhere}
.fhc-art-chev{display:inline-flex;color:var(--fs-text-muted);transition:transform .2s;flex-shrink:0}
.fhc-art[open] .fhc-art-chev{transform:rotate(180deg)}
.fhc-art-body{padding:0 18px 18px 48px;color:var(--fs-text-soft);font-size:15px;line-height:1.65}
.fhc-art-body p{margin:0 0 10px}
.fhc-art-body p:last-child{margin-bottom:0}
.fhc-steps{margin:0 0 12px;padding:0;list-style:none;counter-reset:fhc}
.fhc-steps li{counter-increment:fhc;position:relative;padding:4px 0 8px 36px}
.fhc-steps li::before{content:counter(fhc);position:absolute;left:0;top:3px;width:24px;height:24px;border-radius:50%;background:var(--fs-soft);color:var(--fs-primary);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.fhc-go a{display:inline-flex;align-items:center;gap:6px;color:var(--fs-primary);font-weight:600;text-decoration:none}
.fhc-go a:hover{text-decoration:underline}
.fhc-empty{margin:0;padding:24px;text-align:center;color:var(--fs-text-muted);border:1px dashed var(--fs-border-strong);border-radius:var(--fs-radius-md)}
.fhc-mail{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:600}
.fhc-mail a{color:var(--fs-primary)}
@media(max-width:900px){.fhc-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.fhc-cats{gap:10px}.fhc-cat{padding:14px;gap:6px}.fhc-cat .fhx-ic{width:36px;height:36px;border-radius:12px}.fhc-cat-t{font-size:15px;overflow-wrap:anywhere}.fhc-cat-d{display:none}.fhc-art summary{padding:14px}.fhc-art-body{padding:0 14px 16px}.fhc-art summary .fhx-plan{display:none}}

/* Hilfe-Icon neben Seitentiteln (fs_help('<artikel>') -> /hilfe#a-<artikel>) */
.fs-help{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:8px;border-radius:50%;color:var(--fs-text-muted);vertical-align:middle;text-decoration:none;transition:color .15s,background .15s}
.fs-help:hover,.fs-help:focus-visible{color:var(--fs-primary);background:var(--fs-soft)}
.fs-help svg{width:18px;height:18px}

/* Option "Mit Zugangscode schuetzen" unter der Versandart (fairsend.js codeToggleHTML) und Hinweis im Formular */
.fsh-code{display:flex;align-items:flex-start;gap:10px;margin:12px 0 0;padding:12px 14px;border:1px solid var(--fs-border);border-radius:var(--fs-radius-md);background:var(--fs-card);color:var(--fs-text);cursor:pointer;text-align:left}
.fsh-code input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--fs-primary)}
.fsh-code-txt{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:14px}
.fsh-code-hint{color:var(--fs-text-muted);font-size:13px;line-height:1.5;font-weight:400}
.fsh-code.is-locked{cursor:not-allowed;opacity:.75}
.fsh-code-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:10px 12px;border-radius:var(--fs-radius-md);background:var(--fs-soft);color:var(--fs-text);font-size:12.5px;line-height:1.5}
.fsh-code-note svg{flex-shrink:0;margin-top:2px;color:var(--fs-primary)}
/* Banner "Verschluesselte Nachricht" auf /send so breit wie die Karte (680 px + Rand) */
.fss-page .fsh-msg{max-width:728px}
/* Schalter "Zusaetzlich mit Zugangscode schuetzen" im Sendeformular (fairsend.js codeSwitchHTML): kompakt, Erklaerung klappt beim Einschalten auf */
.fsh-cs{margin:2px 0 12px}
.fsh-cs-row{display:flex;align-items:center;gap:10px;min-height:44px}
.fsh-cs-label{flex:1;min-width:0;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--fs-text,var(--navy));cursor:pointer;line-height:1.35}
.fsh-cs-label svg{flex-shrink:0;color:var(--fs-primary,var(--teal))}
.fsh-cs-info{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 -10px 0 0;padding:0;border:0;border-radius:50%;background:none;color:var(--fs-text-muted,var(--muted));cursor:pointer}
.fsh-cs-info:hover,.fsh-cs-info[aria-expanded="true"]{color:var(--fs-primary,var(--teal))}
.fsh-cs-info:focus-visible{outline:2px solid var(--fs-teal-400,var(--teal));outline-offset:-4px}
.fsh-cs-info-txt{margin:2px 0 0 46px;padding:10px 12px;border-radius:var(--fs-radius-md,8px);background:var(--fs-soft,var(--teal-soft));color:var(--fs-text,var(--navy));font-size:13px;line-height:1.5}
.fsh-cs-info-txt[hidden]{display:none}
.fsh-cs.is-locked .fsh-cs-label{cursor:not-allowed;color:var(--fs-text-muted,var(--muted))}
.fsh-cs.is-locked .opt-toggle{cursor:not-allowed;opacity:.6}
.opt-item[hidden]{display:none}
@media (max-width:640px){.fsh-cs-info-txt{margin-left:0}}
/* paket-zugangscode-oberflaeche: Schalter-Zeilen (fsSwitchRow), Passwort/Zugangscode-Ausschluss, Code-Box auf der Erfolgsseite */
.fsh-sw{margin:0 0 8px}
.fsh-sw-desc{margin:0 0 0 54px;font-size:13px;line-height:1.5;color:var(--fs-text-muted,var(--muted))}
.fsh-sw.is-locked .fsh-cs-label{cursor:default}
.opt-body .fsh-sw{margin:0}
.ab-save-sw{margin:0 0 12px}
.fsh-cs-once,.fsh-cs-diff{display:block;margin-top:6px}
.opt-item.is-locked .opt-toggle{opacity:.5;cursor:not-allowed}
.opt-lock-hint{margin-top:2px;font-size:12px;font-weight:600;color:var(--fs-warn-text,#8A5A0F)}
.opt-head .opt-info{margin:0}
.opt-info-txt{margin:0 14px 12px 42px}
.fss-code-x{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:12px;border:2px solid var(--fs-primary,var(--teal));text-align:left}
.fss-code-x .fss-code-t{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--fs-text,var(--navy))}
.fss-code-x .fss-code-t svg{color:var(--fs-primary,var(--teal))}
.fss-code-val{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;padding:14px 10px;border-radius:8px;background:var(--fs-surface-soft,#F3F8F8);color:var(--fs-text,var(--navy));font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:26px;font-weight:700;letter-spacing:.08em;line-height:1.3;user-select:all;-webkit-user-select:all}
.fss-code-warn{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:8px;background:var(--fs-warn-bg,#FBF3E4);color:var(--fs-warn-text,#8A5A0F);font-size:14px;font-weight:600;line-height:1.45}
.fss-code-warn svg{flex-shrink:0;margin-top:2px}
.fss-code-x .fss-code-copy,.fss-code-x .fss-code-ok{width:100%;justify-content:center;min-height:44px}
.fss-code-x.is-noted{border-color:var(--fs-success,#0F8A5F)}
.fss-code-x.is-noted .fss-code-ok{opacity:1;color:var(--fs-success,#0F8A5F);border-color:var(--fs-success,#0F8A5F);cursor:default}
.fss-code-x .fss-sr,#fssCode.fss-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
@media (max-width:640px){.fsh-sw-desc{margin-left:0}.opt-info-txt{margin-left:14px}}
@media (max-width:420px){.fss-code-val{font-size:22px;letter-spacing:.05em;padding:12px 6px;gap:4px 14px}.fss-code-x{padding:14px}}
/* paket-kontakt: /kontakt und /ueber-uns (Richtung A, fsi-Seitenrahmen + fsu-Formular) */
.fsk-contact-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start;padding-bottom:48px}
.fsk-contact-form{display:flex;flex-direction:column;gap:16px}
.fsk-contact-form form{display:flex;flex-direction:column;gap:16px}
.fsk-contact-form .fsu-field{margin:0}
.fsk-contact-form .fsu-btn{align-self:flex-start}
.fsk-contact-form .fsu-input,.fsk-contact-form .fsu-select,.fsk-contact-form .fsu-textarea{width:100%}
.fsk-opt{font-weight:400;color:var(--fs-text-muted)}
.fsk-help{margin:6px 0 0}
.fsk-privacy a,.fsk-more a{color:var(--fs-primary);text-decoration:underline}
.fsk-contact-side{display:flex;flex-direction:column;gap:24px}
.fsk-dl{display:flex;flex-direction:column;gap:12px;margin:12px 0 0}
.fsk-dl div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px}
.fsk-dl dt{font-size:14px;color:var(--fs-text-muted)}
.fsk-dl dd{margin:0;font-size:15px;color:var(--fs-text);overflow-wrap:anywhere}
.fsk-dl a{color:var(--fs-primary)}
.fsk-links{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.fsk-links a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin:0 -12px;border-radius:var(--fs-radius-md,8px);color:var(--fs-text);text-decoration:none;min-height:44px}
.fsk-links a:hover,.fsk-links a:focus-visible{background:var(--fs-surface-soft)}
.fsk-links strong{font-size:15px;color:var(--fs-primary)}
.fsk-links span{font-size:13px;color:var(--fs-text-muted);line-height:1.45}
.fsk-more{margin-top:12px}
@media (max-width:860px){.fsk-contact-grid{grid-template-columns:minmax(0,1fr)}.fsk-contact-form .fsu-btn{align-self:stretch}}
@media (max-width:480px){.fsk-dl div{grid-template-columns:minmax(0,1fr);gap:2px}}
/* paket-branchen: /fuer/* (Richtung A) */
.fsb-tag{display:inline-block;white-space:nowrap;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;vertical-align:middle;background:var(--fs-primary-soft,rgba(13,148,136,.12));color:var(--fs-primary)}
.fsb-plan{display:flex;flex-direction:column;gap:12px}
.fsb-plan-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.fsb-price{margin:0;font-size:15px;color:var(--fs-text-muted)}
.fsb-price strong{font-size:28px;color:var(--fs-text)}
.fsb-year{margin:0;font-size:14px;color:var(--fs-text-muted);flex-basis:100%}
.fsb-plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fsb-plan-list li{display:flex;gap:8px;align-items:flex-start;font-size:15px;color:var(--fs-text)}
.fsb-plan-list svg{flex:none;margin-top:3px;color:var(--fs-primary)}
.fsb-page .fsi-cta a:not(.fsi-btn){color:var(--fs-primary);text-decoration:underline}
.fsb-chips{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fsb-chips a{display:inline-block;padding:8px 14px;border:1px solid var(--fs-border);border-radius:999px;color:var(--fs-text);text-decoration:none;font-size:14px}
.fsb-chips a:hover{border-color:var(--fs-primary);color:var(--fs-primary)}
.fhx-branchen{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fhx-branchen .fsi-text{margin:0 4px 0 0}

/* paket-optik-send: Sende-Seite ruhiger. Kopf in der Typo-Hierarchie der Karte, AGB als enge Gruppe, Optionen als eine Liste, Erklaerungen aufklappbar */
.fss-page .fsh-hero-inner{padding:32px 24px 56px;gap:14px}
.fss-page .fss-h1{font-size:clamp(26px,2.6vw,32px);line-height:1.15}
.fss-page .fss-lead{font-size:15px;max-width:560px}
.fss-page .fss-steps li{font-size:13px}
.fss-page .fss-step-n{width:24px;height:24px;font-size:12px}
.fsh-page .fss-prog:not(.is-compact){gap:10px;padding:12px 12px 4px}
.fsh-page .fss-prog:not(.is-compact) .fss-ring{width:104px;height:104px}
.fsh-page .fss-prog:not(.is-compact) .fss-ring-in{width:84px;height:84px}
.fsh-page .fss-prog:not(.is-compact) .fss-pct{font-size:24px}
.fsh-page details.fss-note{display:block;margin:10px 0 0;padding:0;background:none;border-radius:0}
.fsh-page .fss-note summary{display:inline-flex;align-items:center;gap:8px;min-height:32px;font-size:13px;font-weight:500;color:var(--fs-text-muted);cursor:pointer;list-style:none}
.fsh-page .fss-note summary::-webkit-details-marker{display:none}
.fsh-page .fss-note summary::after{content:"";width:7px;height:7px;margin:-3px 0 0 2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.fsh-page .fss-note[open] summary::after{margin-top:3px;transform:rotate(-135deg)}
.fsh-page .fss-note summary:hover{color:var(--fs-text)}
.fsh-page .fss-note summary:focus-visible{outline:2px solid var(--fs-teal-400);outline-offset:2px;border-radius:4px}
.fsh-page .fss-note svg{margin-top:0}
.fsh-page .fss-note p{margin:4px 0 0;padding:10px 12px;border-radius:10px;background:var(--fss-row);font-size:13px;line-height:1.5}
.fsh-page .agb-box{margin:10px 0 4px;padding:16px 18px}
.fsh-page .agb-title{font-size:15px}
.fsh-page .agb-box > div[style]{font-size:12.5px!important;margin-bottom:8px!important}
.fsh-page .agb-checks{gap:0;padding:6px 12px;border-radius:10px;border:1px solid var(--fs-border);background:var(--fsh-card-bg)}
.fsh-page .agb-check{min-height:0;align-items:flex-start;gap:10px;padding:4px 0;font-size:13px;line-height:1.4}
.fsh-page .agb-check input{width:18px;height:18px;flex-shrink:0;margin:0}
.fsh-page .agb-accept{height:44px;margin-top:10px;font-size:15px}
.fsh-page .agb-box button[onclick*="_fsCancelUpload"]{min-height:32px;font-size:13px!important}
.fsh-page .agb-box > div[style*="text-align:center"]{margin-top:4px!important;margin-bottom:0!important}
.fss-opts{margin:6px 0 14px;border:1px solid var(--fs-border,var(--border-l));border-radius:14px;overflow:hidden}
.fss-opts .opt-accordion{display:flex;flex-direction:column}
.fsh-page .fss-opts .opt-head{min-height:52px;padding:6px 14px!important}
.fss-opts .opt-item + .opt-item{border-top:1px solid var(--fs-border,var(--border-l))}
.fss-opts > .fsh-cs{margin:0;padding:4px 14px}
.fss-opts > * + *{border-top:1px solid var(--fs-border,var(--border-l))}
.fss-opts .fsh-cs-row{min-height:44px;gap:8px}
.fss-opts .fsh-cs-label{gap:8px}
.fss-opts .fsh-cs-label svg{width:16px;height:16px;margin:0 2px}
.fss-opts .fsh-cs-toggle{order:3}
.fss-opts .fsh-cs-info{order:2;width:32px;height:32px;margin:0}
.fss-opts .opt-head .opt-info{order:0}
.fss-opts .fsh-cs-info-txt{margin:0 0 8px;font-size:13px}
.fss-opts .opt-info-txt{margin:0 14px 10px}
.fss-page #msgF{min-height:72px}
@media(max-width:640px){
  .fss-page .fsh-hero-inner{padding:20px 16px 36px;gap:12px}
  .fss-page .fss-h1{font-size:clamp(22px,6.4vw,26px)}
  .fss-page .fss-lead{font-size:14px}
  .fsh-page .fss-prog:not(.is-compact) .fss-ring{width:84px;height:84px}
  .fsh-page .fss-prog:not(.is-compact) .fss-ring-in{width:68px;height:68px}
  .fsh-page .fss-prog:not(.is-compact) .fss-pct{font-size:20px}
  .fsh-page .agb-box{padding:14px}
}
/* paket-schutz-vereinheitlichen: Passwortschutz im Sendeformular */
.fss-pwlock{display:flex;align-items:center;gap:8px;min-height:52px;padding:6px 14px;color:var(--fs-text-muted,var(--muted));text-decoration:none}
.fss-pwlock:hover{background:var(--fs-soft,var(--teal-soft))}
.fss-pwlock:focus-visible{outline:2px solid var(--fs-teal-400,var(--teal));outline-offset:-2px}
.fss-pwlock svg{flex-shrink:0;width:16px;height:16px;margin:0 2px}
.fss-pwlock-t{flex:1;min-width:0;display:flex;flex-direction:column}
.fss-pwlock-t b{font-size:14px;font-weight:600;color:var(--fs-text,var(--navy))}
.fss-pwlock-t small{font-size:12px;line-height:1.35}
.fss-pwlock-b{flex-shrink:0;padding:3px 10px;border-radius:999px;background:var(--fs-soft,var(--teal-soft));color:var(--fs-primary,var(--teal));font-size:12px;font-weight:600;white-space:nowrap}
.fss-pw-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;font-size:12px;color:var(--fs-text-muted,var(--muted))}
.fss-pw-warn{display:flex;align-items:flex-start;gap:6px;margin:6px 0 0;font-size:12.5px;line-height:1.4;color:var(--fs-warn-text,#8A5A0F)}
.fss-pw-warn svg{flex-shrink:0;margin-top:2px}
/* Sendung loeschen: Zeile gesperrt, Knopf dreht, bis der Server geantwortet hat */
.fsdb-page tr.fsdb-busy{opacity:.45;pointer-events:none}
.fsdb-page .dmenu-btn[aria-busy=true]{color:transparent;position:relative}
.fsdb-page .dmenu-btn[aria-busy=true] svg{visibility:hidden}
.fsdb-page .dmenu-btn[aria-busy=true]::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--fs-primary);border-right-color:transparent;border-radius:50%;animation:fsdbspin .7s linear infinite}
@keyframes fsdbspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fsdb-page .dmenu-btn[aria-busy=true]::after{animation-duration:2.4s}}
