.glass { background: rgba(255,255,255,.54); backdrop-filter: blur(14px); border:1px solid rgba(255,255,255,.65); box-shadow:0 6px 18px rgba(31,38,135,.12); }
    .glass-strong { background: rgba(255,255,255,.74); backdrop-filter: blur(18px); border:1px solid rgba(255,255,255,.72); box-shadow:0 8px 22px rgba(31,38,135,.12); }

    /* Clamp für Vorschau ohne Tailwind-Plugin */
    .clamp-4 {
      display: -webkit-box;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    /* Einheitliche Kartenoptik */
    .day-card {
      min-height: 200px;
      transition: transform .2s ease, box-shadow .2s ease;
      background: rgba(255,255,255,.36);
      backdrop-filter: blur(16px);
      box-shadow: 0 6px 16px rgba(31,38,135,.12);
    }
    .day-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(31,38,135,.14);
    }

    /* Avoid horizontal "shift" on mobile */
    html, body { overflow-x: hidden; }
    main { overflow-x: hidden; }

    /* --- Wochenplan: stabil als Grid (kein Swipe-Snap auf Mobile) --- */
    /* Tailwind-Klassen am Container steuern das Grid (grid-cols-1/md:grid-cols-2/lg:grid-cols-5) */
    #weeklySchedule { overflow: visible; }
    @media (max-width: 639px) {
      .day-card { min-height: 160px; }
      #weeklySchedule .day-card { min-width: auto; }
    }

    /* --- Board / Infoboard mode --- */
    body.board-mode #adminFab { display: none !important; }
    body.board-mode #weekSection { display: none !important; }
    body.board-mode #contactSection { display: none !important; }
    body.board-mode main { max-width: 100% !important; }
    body.board-mode #currentDate { font-size: 4.5rem; }
    body.board-mode #weatherTemp { font-size: 4.5rem; }
    body.board-mode #statusBadge { font-size: 2rem; padding: 1rem 2rem; }
    body.board-mode #upcomingEventsList .glass { font-size: 1.1rem; }

  
    /* --- A11y toggles --- */
    body.a11y-large { font-size: 18px; }
    body.a11y-contrast { background: #f8fafc !important; }
    body.a11y-contrast .glass,
    body.a11y-contrast .glass-strong,
    body.a11y-contrast .day-card {
      background: rgba(255,255,255,.92) !important;
      border-color: rgba(15,23,42,.18) !important;
      box-shadow: 0 4px 14px rgba(2,6,23,.10) !important;
    }

    /* Prefer reduced motion */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    }

    /* Polish: slightly softer shadows */
    .glass { box-shadow:0 5px 14px rgba(31,38,135,.10); }
    .glass-strong { box-shadow:0 6px 16px rgba(31,38,135,.10); }
    .day-card { box-shadow: 0 5px 14px rgba(31,38,135,.10); }
    .day-card:hover { box-shadow: 0 10px 20px rgba(31,38,135,.12); }

    /* Modal micro animation */
    .modal-panel { transform: translateY(6px) scale(.99); opacity: .98; transition: transform .18s ease, opacity .18s ease; }
    .modal-open .modal-panel { transform: translateY(0) scale(1); opacity: 1; }


    /* === Premium-Update 05/2026: Lesbarkeit, Footer, Karten, Admin === */
    main { padding-bottom: 2rem; }
    #legalFooter { position: static !important; margin: 1rem auto 1.5rem; width: 100%; padding: 0 1rem; }
    #legalFooter > div > div { max-width: 80rem; margin: 0 auto; }

    .status-open { background: linear-gradient(135deg,#059669,#10b981); }
    .status-closed { background: linear-gradient(135deg,#dc2626,#ef4444); }
    .status-soon { background: linear-gradient(135deg,#2563eb,#4f46e5); }
    .status-over { background: linear-gradient(135deg,#64748b,#334155); }

    .day-card { min-height: 300px; border-radius: 1.25rem; }
    .day-card.closed-day { background: rgba(248,250,252,.62); }
    .day-card .program-box { border-radius: 1rem; }
    .event-badges { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.65rem; }
    .event-badge { display:inline-flex; align-items:center; gap:.25rem; padding:.25rem .55rem; border-radius:999px; font-size:.72rem; font-weight:700; background:rgba(255,255,255,.72); border:1px solid rgba(148,163,184,.28); color:#334155; }

    .notice-banner-premium{border-radius:1.5rem;padding:1rem 1.15rem;border:1px solid rgba(148,163,184,.35);box-shadow:0 10px 26px rgba(15,23,42,.08);display:flex;gap:.9rem;align-items:flex-start;}
    .notice-banner-premium .notice-ico{width:2.6rem;height:2.6rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:rgba(255,255,255,.65);flex-shrink:0;}
    .notice-info{background:linear-gradient(135deg,#eff6ff,#f8fbff);border-color:#bfdbfe;color:#1e3a8a;}
    .notice-warning{background:linear-gradient(135deg,#fff7ed,#fffaf3);border-color:#fed7aa;color:#9a3412;}
    .notice-urgent{background:linear-gradient(135deg,#fef2f2,#fff7f7);border-color:#fecaca;color:#991b1b;}
    .notice-success{background:linear-gradient(135deg,#ecfdf5,#f7fffb);border-color:#bbf7d0;color:#065f46;}
    .event-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;}
    @media(max-width:640px){.event-detail-actions{grid-template-columns:1fr}.notice-banner-premium{padding:.9rem}}
    .admin-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
    @media(max-width:900px){.admin-feature-grid{grid-template-columns:1fr}}
    .change-log-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:.75rem .9rem;}
    .weekday-rule-row{display:grid;grid-template-columns:110px 110px 1fr;gap:.65rem;align-items:center;}
    @media(max-width:720px){.weekday-rule-row{grid-template-columns:1fr}.weekday-rule-row>*{width:100%}}

    .admin-card { background: rgba(255,255,255,.64); border:1px solid rgba(226,232,240,.9); border-radius:1.25rem; box-shadow:0 5px 16px rgba(15,23,42,.08); }
    .admin-btn { transition: transform .12s ease, box-shadow .12s ease, background .12s ease; }
    .admin-btn:hover { transform: translateY(-1px); box-shadow:0 8px 18px rgba(15,23,42,.10); }
    .password-toggle-wrap { position: relative; }
    .password-toggle-wrap input { padding-right: 3.25rem !important; }
    .password-toggle-btn {
      position:absolute; right:.45rem; top:50%; transform:translateY(-50%);
      width:2.35rem; height:2.35rem; border-radius:.75rem;
      display:inline-flex; align-items:center; justify-content:center;
      border:1px solid rgba(203,213,225,.9); background:rgba(248,250,252,.96);
      color:#334155; cursor:pointer; transition: all .16s ease;
    }
    .password-toggle-btn:hover { background:#eef2ff; color:#1d4ed8; border-color:#bfdbfe; }
    .password-toggle-btn:focus-visible { outline:3px solid rgba(59,130,246,.32); outline-offset:2px; }

    .health-ok { color:#047857; background:#dcfce7; border-color:#bbf7d0; }
    .health-warn { color:#b45309; background:#fffbeb; border-color:#fde68a; }
    .health-error { color:#b91c1c; background:#fee2e2; border-color:#fecaca; }

    @media (max-width: 640px) {
      main { padding-bottom: 1rem; }
      #adminBottomNav { bottom: .75rem; }
      .day-card { min-height: auto; }
      #legalFooter { margin-bottom: 5.5rem; }
      body:not(.board-mode) #adminModal .glass-strong { max-height: 96vh; }
    }



    /* --- Premium Kontakt-/Adressbereich --- */
    #contactSection {
      align-items: stretch;
    }
    .info-card-premium {
      position: relative;
      overflow: hidden;
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(226,232,240,.95);
      border-radius: 22px;
      padding: 22px;
      box-shadow: 0 12px 30px rgba(15,23,42,.07), 0 2px 10px rgba(15,23,42,.04);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .info-card-premium::before {
      content: '';
      position: absolute;
      inset: 0 0 auto 0;
      height: 4px;
      background: linear-gradient(90deg, #60a5fa, #a78bfa, #34d399);
      opacity: .85;
    }
    .info-card-premium:hover {
      transform: translateY(-2px);
      border-color: rgba(147,197,253,.9);
      box-shadow: 0 18px 42px rgba(15,23,42,.10), 0 6px 16px rgba(15,23,42,.06);
    }
    .info-card-head {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 16px;
    }
    .info-card-icon {
      width: 46px;
      height: 46px;
      border-radius: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      background: linear-gradient(135deg, rgba(239,246,255,.95), rgba(248,250,252,.9));
      border: 1px solid rgba(219,234,254,.9);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
      flex: 0 0 auto;
    }
    .info-card-title {
      margin: 0;
      font-size: 1.08rem;
      line-height: 1.2;
      font-weight: 800;
      color: #1e293b;
    }
    .info-card-subtitle {
      margin: 3px 0 0;
      font-size: .88rem;
      color: #64748b;
      font-weight: 500;
    }
    .info-box-soft {
      background: rgba(248,251,255,.9);
      border: 1px solid rgba(226,232,240,.9);
      border-radius: 18px;
      padding: 15px 16px;
      margin-bottom: 14px;
    }
    .info-label-soft {
      display: block;
      color: #64748b;
      font-size: .82rem;
      font-weight: 800;
      letter-spacing: .02em;
      text-transform: uppercase;
      margin-bottom: 5px;
    }
    .info-main-soft {
      color: #1e293b;
      font-size: 1rem;
      line-height: 1.55;
      font-weight: 650;
      word-break: break-word;
    }
    .info-actions-premium {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 14px;
    }
    .info-action-btn {
      appearance: none;
      border: 0;
      border-radius: 14px;
      padding: 11px 14px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: .92rem;
      font-weight: 800;
      text-decoration: none;
      cursor: pointer;
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
    }
    .info-action-primary {
      color: #fff;
      background: linear-gradient(135deg, #2563eb, #4f46e5);
      box-shadow: 0 10px 22px rgba(37,99,235,.18);
    }
    .info-action-primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 26px rgba(37,99,235,.24);
    }
    .info-action-secondary {
      color: #1e293b;
      background: rgba(241,245,249,.9);
      border: 1px solid rgba(203,213,225,.95);
    }
    .info-action-secondary:hover {
      background: rgba(226,232,240,.95);
      transform: translateY(-1px);
    }
    .contact-stack-premium {
      display: grid;
      gap: 10px;
    }
    .contact-mini-row {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
    }
    .contact-mini-row a {
      color: #1e293b;
      font-weight: 750;
      text-decoration: none;
    }
    .contact-mini-row a:hover {
      text-decoration: underline;
    }
    @media (max-width: 860px) {
      .info-card-premium { padding: 18px; border-radius: 20px; }
      .info-actions-premium { flex-direction: column; }
      .info-action-btn { width: 100%; }
      .contact-mini-row { display: block; }
    }



    /* === Admin Premium Ausbau 05/2026: Backend-Look, Editor, Stats === */
    #adminModal { padding: clamp(.5rem, 2vw, 1.5rem); }
    #adminModal > .glass-strong {
      max-width: 1320px !important;
      width: min(1320px, 100%) !important;
      max-height: 96vh !important;
      border-radius: 28px !important;
      background: linear-gradient(135deg, rgba(248,250,252,.97), rgba(239,246,255,.94)) !important;
      box-shadow: 0 30px 90px rgba(15,23,42,.35) !important;
      border: 1px solid rgba(226,232,240,.92) !important;
    }
    #adminPanel { position: relative; }
    .admin-topbar-premium {
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(226,232,240,.95);
      border-radius: 20px;
      padding: 14px;
      box-shadow: 0 12px 30px rgba(15,23,42,.06);
    }
    .admin-section-tabs {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 10px;
      background: rgba(255,255,255,.58);
      border: 1px solid rgba(226,232,240,.95);
      border-radius: 22px;
      padding: 10px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 12px 30px rgba(15,23,42,.05);
    }
    .admin-tab-btn {
      border: 1px solid rgba(226,232,240,.95);
      background: rgba(255,255,255,.82);
      color: #334155;
      border-radius: 16px;
      padding: 12px 10px;
      font-weight: 800;
      font-size: .88rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 3px;
      transition: all .16s ease;
    }
    .admin-tab-btn small { font-size: .68rem; font-weight: 700; color: #64748b; }
    .admin-tab-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(15,23,42,.08); }
    .admin-tab-btn.is-active {
      background: linear-gradient(135deg, #1d4ed8, #2563eb);
      color: white;
      border-color: rgba(37,99,235,.8);
      box-shadow: 0 12px 28px rgba(37,99,235,.22);
    }
    .admin-tab-btn.is-active small { color: rgba(255,255,255,.82); }

    .notice-banner-premium{border-radius:1.5rem;padding:1rem 1.15rem;border:1px solid rgba(148,163,184,.35);box-shadow:0 10px 26px rgba(15,23,42,.08);display:flex;gap:.9rem;align-items:flex-start;}
    .notice-banner-premium .notice-ico{width:2.6rem;height:2.6rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:rgba(255,255,255,.65);flex-shrink:0;}
    .notice-info{background:linear-gradient(135deg,#eff6ff,#f8fbff);border-color:#bfdbfe;color:#1e3a8a;}
    .notice-warning{background:linear-gradient(135deg,#fff7ed,#fffaf3);border-color:#fed7aa;color:#9a3412;}
    .notice-urgent{background:linear-gradient(135deg,#fef2f2,#fff7f7);border-color:#fecaca;color:#991b1b;}
    .notice-success{background:linear-gradient(135deg,#ecfdf5,#f7fffb);border-color:#bbf7d0;color:#065f46;}
    .event-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;}
    @media(max-width:640px){.event-detail-actions{grid-template-columns:1fr}.notice-banner-premium{padding:.9rem}}
    .admin-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
    @media(max-width:900px){.admin-feature-grid{grid-template-columns:1fr}}
    .change-log-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:.75rem .9rem;}
    .weekday-rule-row{display:grid;grid-template-columns:110px 110px 1fr;gap:.65rem;align-items:center;}
    @media(max-width:720px){.weekday-rule-row{grid-template-columns:1fr}.weekday-rule-row>*{width:100%}}

    .admin-card {
      background: rgba(255,255,255,.78) !important;
      border: 1px solid rgba(226,232,240,.95) !important;
      border-radius: 22px !important;
      box-shadow: 0 14px 36px rgba(15,23,42,.07) !important;
    }
    .editor-premium-grid { display:grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 16px; align-items:start; }
    .editor-group {
      background: rgba(248,250,252,.86);
      border: 1px solid rgba(226,232,240,.98);
      border-radius: 18px;
      padding: 14px;
      margin-top: 12px;
    }
    .editor-group-title { font-size:.85rem; font-weight:900; color:#334155; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
    .day-preview-card {
      position: sticky; top: 84px;
      background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.94));
      border: 1px solid rgba(191,219,254,.95);
      border-radius: 22px;
      padding: 16px;
      box-shadow: 0 18px 42px rgba(37,99,235,.10);
    }
    .day-preview-title { font-size:1rem; font-weight:900; color:#172033; }
    .day-preview-meta { font-size:.8rem; color:#64748b; margin-top:2px; }
    .day-preview-badge { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:6px 10px; font-size:.78rem; font-weight:900; margin-top:12px; }
    .day-preview-badge.open { background:#dcfce7; color:#047857; }
    .day-preview-badge.closed { background:#fee2e2; color:#b91c1c; }
    .day-preview-box { margin-top:12px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:16px; padding:12px; color:#1e3a8a; font-size:.9rem; }
    .day-preview-box.warning { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
    .stats-grid-premium { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; }
    .stat-tile-premium { background:rgba(255,255,255,.75); border:1px solid rgba(226,232,240,.95); border-radius:18px; padding:14px; }
    .stat-number-premium { font-size:1.75rem; line-height:1; font-weight:900; color:#1d4ed8; }
    .stat-label-premium { margin-top:6px; font-size:.76rem; color:#64748b; font-weight:800; }
    .stat-list-premium { background:rgba(248,250,252,.85); border:1px solid rgba(226,232,240,.95); border-radius:18px; padding:14px; }
    .admin-section-titlebar { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
    .admin-section-titlebar h4 { font-size:1.25rem; font-weight:900; color:#172033; }
    @media (max-width: 960px){
      .admin-section-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .editor-premium-grid { grid-template-columns:1fr; }
      .day-preview-card { position:relative; top:auto; }
      .stats-grid-premium { grid-template-columns: repeat(2, minmax(0,1fr)); }
    }
    @media (max-width: 640px){
      #adminModal { padding:0; }
      #adminModal > .glass-strong { border-radius:0 !important; max-height:100vh !important; height:100vh; }
      .admin-section-tabs { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .admin-tab-btn { padding:10px 8px; }
    }

  

    /* === Admin UX v4.12: klare Struktur, weniger Sucherei === */
    .admin-ux-header{
      display:flex;align-items:center;justify-content:space-between;gap:1rem;
      padding:1rem 1.1rem;border-radius:24px;
      background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(239,246,255,.78));
      border:1px solid rgba(191,219,254,.9);box-shadow:0 16px 38px rgba(15,23,42,.08);
    }
    .admin-ux-title{font-size:1.25rem;font-weight:950;letter-spacing:-.035em;color:#172033;line-height:1.05;}
    .admin-ux-subtitle{font-size:.84rem;color:#64748b;font-weight:700;margin-top:.2rem;}
    .admin-ux-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;}
    .admin-ux-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.42rem .7rem;background:#ecfdf5;border:1px solid #bbf7d0;color:#047857;font-size:.78rem;font-weight:950;}

    .admin-section-tabs.admin-nav-panel{
      display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
      background:transparent;border:0;box-shadow:none;padding:0;
    }
    .admin-nav-group{
      background:rgba(255,255,255,.72);border:1px solid rgba(226,232,240,.95);border-radius:24px;
      padding:12px;box-shadow:0 14px 34px rgba(15,23,42,.06);
    }
    .admin-nav-group-title{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.035em;color:#64748b;margin:2px 4px 10px;}
    .admin-nav-items{display:grid;grid-template-columns:1fr;gap:8px;}
    .admin-tab-btn{
      min-height:64px !important;align-items:flex-start !important;text-align:left !important;justify-content:center !important;
      border-radius:18px !important;padding:11px 12px !important;gap:4px !important;
      background:rgba(248,250,252,.88) !important;border-color:rgba(226,232,240,.95) !important;
      box-shadow:none !important;
    }
    .admin-tab-btn span{font-size:.94rem;font-weight:950;color:#172033;line-height:1.1;}
    .admin-tab-btn small{font-size:.72rem !important;line-height:1.18;color:#64748b !important;font-weight:800 !important;}
    .admin-tab-btn:hover{transform:translateY(-1px);background:#fff !important;box-shadow:0 12px 26px rgba(15,23,42,.08) !important;}
    .admin-tab-btn.is-active{background:linear-gradient(135deg,#1d4ed8,#4f46e5) !important;border-color:rgba(37,99,235,.8) !important;box-shadow:0 16px 34px rgba(37,99,235,.22) !important;}
    .admin-tab-btn.is-active span{color:#fff;}
    .admin-tab-btn.is-active small{color:rgba(255,255,255,.82) !important;}

    .admin-home-hero{
      position:relative;overflow:hidden;border-radius:28px;padding:1.15rem;
      background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(255,255,255,.92));
      border:1px solid rgba(191,219,254,.95);box-shadow:0 16px 42px rgba(37,99,235,.10);
    }
    .admin-home-hero::after{content:'';position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border-radius:999px;background:rgba(96,165,250,.16);pointer-events:none;}
    .admin-task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative;z-index:1;}
    .admin-task-card{
      min-height:122px;border-radius:22px;padding:1rem;text-align:left;
      background:rgba(255,255,255,.78);border:1px solid rgba(226,232,240,.95);
      box-shadow:0 12px 28px rgba(15,23,42,.06);transition:all .16s ease;
    }
    .admin-task-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.10);border-color:rgba(147,197,253,.95);}
    .admin-task-icon{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#eff6ff;border:1px solid #bfdbfe;font-size:1.18rem;margin-bottom:.7rem;}
    .admin-task-title{font-weight:950;color:#172033;letter-spacing:-.02em;line-height:1.1;}
    .admin-task-text{font-size:.78rem;color:#64748b;font-weight:700;line-height:1.35;margin-top:.35rem;}
    .admin-home-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;align-items:start;}
    .admin-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
    .admin-flow-group{border-radius:22px;background:rgba(248,250,252,.86);border:1px solid rgba(226,232,240,.95);padding:14px;}
    .admin-flow-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;font-weight:950;color:#64748b;margin-bottom:.75rem;}
    .admin-flow-buttons{display:grid;gap:8px;}
    .admin-flow-buttons .admin-btn{width:100%;text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:.55rem;padding:.8rem .9rem !important;border-radius:16px !important;background:rgba(255,255,255,.86) !important;}
    .admin-section-titlebar{
      position:sticky;top:0;z-index:10;background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(248,250,252,.78));
      backdrop-filter:blur(14px);border:1px solid rgba(226,232,240,.9);border-radius:20px;padding:.75rem;margin-bottom:1rem;
    }
    #adminSectionTitle{font-size:1.2rem;font-weight:950;color:#172033;letter-spacing:-.025em;}
    #adminBackBtn{background:#fff !important;border:1px solid rgba(203,213,225,.95) !important;}

    @media(max-width:1100px){
      .admin-section-tabs.admin-nav-panel{grid-template-columns:1fr;}
      .admin-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
      .admin-home-grid,.admin-flow-grid{grid-template-columns:1fr;}
    }
    @media(max-width:640px){
      .admin-ux-header{display:block;padding:.9rem;border-radius:20px;}
      .admin-ux-actions{justify-content:flex-start;margin-top:.8rem;}
      .admin-task-grid{grid-template-columns:1fr;}
      .admin-task-card{min-height:98px;}
      .admin-nav-group{border-radius:20px;padding:10px;}
      .admin-tab-btn{min-height:58px !important;}
    }


    /* FIX: Admin-Bottom-Navigation darf Desktop nicht verdecken + mehr Luft am Ende */
    #adminPanel { padding-bottom: 7.5rem; }
    #adminSections { padding-bottom: 7.5rem; }
    @media (min-width: 768px) {
      #adminBottomNav { display: none !important; }
      #adminPanel, #adminSections { padding-bottom: 0; }
    }
    @media (max-width: 767px) {
      #adminModal > .glass-strong { padding-bottom: 7rem; }
      #adminSections > div:last-child { margin-bottom: 7rem; }
    }

    .notice-settings-card {
      background: linear-gradient(135deg, rgba(239,246,255,.92), rgba(255,255,255,.92));
      border: 1px solid rgba(191,219,254,.95);
      border-radius: 1.25rem;
      padding: 1rem;
      box-shadow: 0 8px 22px rgba(15,23,42,.05);
    }
    .notice-settings-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
    .notice-settings-head h5 { font-weight: 900; color:#172033; font-size: 1.05rem; margin:0; }
    .notice-settings-head p { color:#64748b; font-size:.85rem; margin:.15rem 0 0; }
    .notice-preview-mini {
      border-radius: 1rem;
      border: 1px dashed rgba(148,163,184,.65);
      background: rgba(255,255,255,.7);
      padding: .75rem .9rem;
      color:#334155;
      font-size:.9rem;
    }


    /* Clean Header / Mini-Branding */
    .site-brand-header{
      border-bottom:1px solid rgba(226,232,240,.78);
      background:rgba(248,250,252,.88);
      backdrop-filter:blur(16px);
    }
    .brand-header-inner{
      min-height:104px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1.25rem;
    }
    .brand-main{
      display:flex;
      align-items:center;
      gap:1.05rem;
      min-width:0;
    }
    .brand-logo-shell{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      justify-content:center;
      width:94px;
      min-height:66px;
      background:transparent;
      border:0;
      padding:0;
      box-shadow:none;
    }
    .brand-logo-img{
      display:block;
      max-height:66px;
      width:auto;
      max-width:112px;
      object-fit:contain;
      filter:saturate(.88) brightness(.99) contrast(1.04);
      opacity:.98;
    }
    .brand-copy{min-width:0;}
    .brand-title{
      margin:0;
      color:#172033;
      letter-spacing:-.035em;
      line-height:1.02;
      font-size:clamp(1.85rem,3vw,2.65rem);
      font-weight:950;
      white-space:nowrap;
    }
    .brand-subtitle{
      margin-top:.38rem;
      color:#64748b;
      font-size:.94rem;
      font-weight:750;
      letter-spacing:.015em;
    }
    .brand-actions{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:.55rem;
      flex:0 0 auto;
    }
    .brand-action-btn{
      width:40px;
      height:40px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:14px;
      border:1px solid rgba(226,232,240,.9);
      background:rgba(255,255,255,.72);
      box-shadow:0 8px 20px rgba(15,23,42,.06);
      color:#172033;
      font-size:.78rem;
      font-weight:850;
      transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
    }
    .brand-action-btn:hover{transform:translateY(-1px);background:#fff;box-shadow:0 12px 24px rgba(15,23,42,.08)}
    .feripro-link-wrap{
      background:rgba(248,250,252,.88);
      border-bottom:1px solid rgba(226,232,240,.78);
    }
    .feripro-link{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin:0 auto 1rem;
      padding:.85rem 1rem;
      border:1px solid rgba(34,197,94,.32);
      border-radius:18px;
      color:#14532d;
      text-decoration:none;
      background:linear-gradient(135deg,rgba(240,253,244,.96),rgba(236,253,245,.86));
      box-shadow:0 10px 28px rgba(22,101,52,.08);
      transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
    }
    .feripro-link:hover{
      transform:translateY(-1px);
      border-color:rgba(34,197,94,.55);
      box-shadow:0 14px 32px rgba(22,101,52,.13);
    }
    .feripro-link-main{display:flex;align-items:center;gap:.8rem;min-width:0;}
    .feripro-link-icon{
      width:42px;height:42px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
      border-radius:14px;background:#dcfce7;border:1px solid #bbf7d0;font-size:1.15rem;
    }
    .feripro-link-title{display:block;font-size:.95rem;font-weight:950;letter-spacing:-.015em;line-height:1.15;}
    .feripro-link-text{display:block;margin-top:.18rem;color:#4b6655;font-size:.78rem;font-weight:750;line-height:1.25;}
    .feripro-link-action{display:flex;align-items:center;gap:.45rem;flex:0 0 auto;font-size:.82rem;font-weight:900;}
    .feripro-link-arrow{
      width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:10px;
      background:#23813b;color:#fff;box-shadow:0 7px 16px rgba(22,101,52,.2);
    }
    @media(max-width:640px){
      .brand-header-inner{min-height:88px;align-items:center;gap:.75rem;padding-top:.8rem;padding-bottom:.8rem}
      .brand-main{gap:.75rem;min-width:0;}
      .brand-logo-shell{width:70px;min-height:50px;}
      .brand-logo-img{max-height:50px;max-width:82px;}
      .brand-title{font-size:1.55rem;white-space:normal;}
      .brand-subtitle{font-size:.8rem;margin-top:.25rem;}
      .brand-actions{gap:.4rem;}
      .brand-action-btn{width:36px;height:36px;border-radius:12px;}
      .feripro-link{margin-bottom:.75rem;padding:.72rem .78rem;border-radius:16px;gap:.6rem;}
      .feripro-link-main{gap:.65rem;}
      .feripro-link-icon{width:38px;height:38px;border-radius:12px;}
      .feripro-link-title{font-size:.88rem;}
      .feripro-link-text{font-size:.72rem;}
      .feripro-link-action > span:first-child{display:none;}
    }
    .event-detail-actions .whatsapp-action{background:linear-gradient(135deg,#ecfdf5,#f8fffb);border-color:#bbf7d0;color:#065f46}


    .auto-link{ color:#1d4ed8; font-weight:700; text-decoration:underline; text-underline-offset:2px; word-break:break-word; }
    .auto-link:hover{ color:#1e40af; }
    .a11y-contrast .auto-link{ color:#0f3d91; text-decoration-thickness:2px; }
    .auto-image-link{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      width:max-content;
      max-width:100%;
      padding:.28rem .62rem;
      border-radius:999px;
      background:rgba(239,246,255,.92);
      border:1px solid rgba(191,219,254,.9);
      color:#1d4ed8;
      font-weight:850;
      text-decoration:none;
      font-size:.86em;
    }
    .auto-image-link::before{content:'🖼️';}
    .auto-image-link:hover{background:#dbeafe;text-decoration:none;}
    .event-media-list{display:grid;gap:.65rem;margin-top:.65rem;}
    .event-image-card{
      display:block;
      overflow:hidden;
      border-radius:18px;
      border:1px solid rgba(191,219,254,.95);
      background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,246,255,.82));
      box-shadow:0 10px 24px rgba(37,99,235,.08);
      cursor:pointer;
    }
    .event-image-preview{
      display:block;
      width:100%;
      height:auto;
      max-height:180px;
      object-fit:contain;
      background:rgba(255,255,255,.92);
    }
    .event-media-list.compact .event-image-preview{max-height:145px;}
    .event-media-list.upcoming .event-image-preview{max-height:220px;}
    .event-media-list.notice .event-image-preview{max-height:220px;}
    .event-media-list.preview .event-image-preview{max-height:220px;}
    .event-media-list.detail .event-image-preview{max-height:430px;}
    .event-media-caption{
      padding:.45rem .7rem;
      color:#475569;
      font-size:.75rem;
      font-weight:800;
      background:rgba(248,250,252,.84);
      border-top:1px solid rgba(226,232,240,.9);
    }
    @media(max-width:640px){
      .event-media-list.compact .event-image-preview{max-height:125px;}
      .event-media-list.upcoming .event-image-preview{max-height:180px;}
      .event-media-list.detail .event-image-preview{max-height:320px;}
    }


    /* === Jugendhaus Schlitz Premium v3: freundlicher, klarer, mobiler === */
    :root{
      --jh-blue:#2563eb;
      --jh-indigo:#4f46e5;
      --jh-teal:#14b8a6;
      --jh-green:#10b981;
      --jh-ink:#172033;
      --jh-muted:#64748b;
      --jh-card:rgba(255,255,255,.76);
      --jh-border:rgba(226,232,240,.92);
    }
    html{scroll-behavior:smooth;}
    body{
      background:
        radial-gradient(circle at 8% 9%, rgba(37,99,235,.16), transparent 31%),
        radial-gradient(circle at 88% 15%, rgba(20,184,166,.15), transparent 30%),
        radial-gradient(circle at 52% 92%, rgba(168,85,247,.13), transparent 34%),
        linear-gradient(135deg,#f8fbff 0%,#eef5ff 48%,#ecfeff 100%) !important;
      color:var(--jh-ink);
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(37,99,235,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37,99,235,.035) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.65), transparent 72%);
      z-index:-1;
    }
    main.max-w-7xl{max-width:86rem;}
    .site-brand-header{
      position:sticky;
      top:0;
      z-index:30;
      background:rgba(248,250,252,.78) !important;
      border-bottom:1px solid rgba(226,232,240,.72) !important;
      box-shadow:0 10px 30px rgba(15,23,42,.04);
    }
    .brand-header-inner{min-height:86px !important;}
    .brand-title{letter-spacing:-.045em;}
    .brand-subtitle::before{content:"●"; color:var(--jh-green); margin-right:.45rem; font-size:.72rem; vertical-align:.08rem;}
    .brand-action-btn{background:rgba(255,255,255,.84) !important;}

    .glass-strong{
      background:rgba(255,255,255,.76) !important;
      border:1px solid rgba(255,255,255,.88) !important;
      box-shadow:0 18px 55px rgba(15,23,42,.09), 0 3px 12px rgba(37,99,235,.05) !important;
    }
    .glass{
      background:rgba(255,255,255,.66) !important;
      border:1px solid rgba(226,232,240,.82) !important;
      box-shadow:0 8px 24px rgba(15,23,42,.06) !important;
    }

    #heroSection.hero-premium{
      position:relative;
      overflow:hidden;
      border-radius:32px !important;
      padding:clamp(1.35rem,4vw,3.25rem) !important;
      background:
        radial-gradient(circle at 13% 21%, rgba(59,130,246,.20), transparent 34%),
        radial-gradient(circle at 86% 23%, rgba(16,185,129,.18), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(239,246,255,.82) 56%, rgba(240,253,250,.82)) !important;
    }
    #heroSection.hero-premium::before{
      content:"Jugendhaus";
      position:absolute;
      right:-2.6rem;
      bottom:-1.2rem;
      color:rgba(37,99,235,.055);
      font-size:clamp(4rem,10vw,9rem);
      font-weight:950;
      letter-spacing:-.08em;
      line-height:.8;
      pointer-events:none;
    }
    #heroSection.hero-premium > div{position:relative; z-index:1; align-items:center;}
    #currentDate{
      letter-spacing:-.055em;
      line-height:.9;
      background:linear-gradient(135deg,#172033,#1d4ed8 72%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }
    #currentDay{font-weight:750; color:#475569 !important;}
    #statusBadge{
      box-shadow:0 18px 36px rgba(37,99,235,.18), inset 0 1px 0 rgba(255,255,255,.22) !important;
      transform:translateZ(0);
    }
    #statusReason{max-width:36rem; margin-left:auto; margin-right:auto; color:#475569 !important; font-weight:650;}
    #statusCountdown{display:inline-flex; align-items:center; justify-content:center; padding:.48rem .85rem; border-radius:999px; background:rgba(255,255,255,.65); border:1px solid rgba(226,232,240,.9);}
    #nextEventBtn{border-radius:18px !important; background:rgba(255,255,255,.78) !important;}
    #weatherDisplay{
      min-width:min(100%,22rem);
      padding:1.3rem 1.45rem;
      border-radius:28px;
      background:rgba(255,255,255,.62);
      border:1px solid rgba(226,232,240,.78);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 12px 28px rgba(15,23,42,.06);
    }
    #weatherIcon{filter:drop-shadow(0 8px 12px rgba(251,191,36,.18));}
    #weatherTemp{letter-spacing:-.055em; color:#172033;}

    .today-overview-grid{
      display:grid;
      grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);
      gap:1.1rem;
      align-items:stretch;
    }
    .today-focus-card,
    .today-next-card{
      position:relative;
      overflow:hidden;
      border-radius:28px;
      border:1px solid rgba(255,255,255,.88);
      background:rgba(255,255,255,.75);
      box-shadow:0 16px 44px rgba(15,23,42,.08);
      padding:clamp(1.1rem,2.4vw,1.6rem);
    }
    .today-focus-card::before,
    .today-next-card::before{
      content:"";
      position:absolute;
      inset:0 0 auto 0;
      height:5px;
      background:linear-gradient(90deg,#2563eb,#7c3aed,#14b8a6);
      opacity:.78;
    }
    .today-kicker{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      border-radius:999px;
      padding:.45rem .72rem;
      background:#eff6ff;
      color:#1d4ed8;
      border:1px solid #bfdbfe;
      font-size:.78rem;
      font-weight:950;
      letter-spacing:.01em;
    }
    .today-title{font-size:clamp(1.35rem,2.4vw,2rem); font-weight:950; letter-spacing:-.035em; color:#172033; margin-top:.85rem;}
    .today-time{font-size:1rem; color:#334155; font-weight:850; margin-top:.35rem;}
    .today-text{margin-top:1rem; color:#334155; line-height:1.65; font-weight:560;}
    .today-note{margin-top:.8rem; border-radius:16px; background:#fffbeb; color:#92400e; border:1px solid #fde68a; padding:.75rem .9rem; font-size:.92rem; font-weight:700;}
    .today-actions{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem;}
    .today-action{
      display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
      min-height:44px; padding:.72rem 1rem; border-radius:16px;
      font-weight:900; font-size:.92rem; transition:all .16s ease;
    }
    .today-action-primary{background:linear-gradient(135deg,#2563eb,#4f46e5); color:white; box-shadow:0 14px 28px rgba(37,99,235,.22);}
    .today-action-secondary{background:rgba(241,245,249,.92); color:#172033; border:1px solid rgba(203,213,225,.95);}
    .today-action:hover{transform:translateY(-1px);}
    .today-chips{display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem;}
    .today-chip{display:inline-flex; align-items:center; gap:.28rem; border-radius:999px; padding:.36rem .64rem; background:#f8fafc; border:1px solid #e2e8f0; color:#334155; font-size:.78rem; font-weight:850;}
    .today-next-date{font-size:.88rem; font-weight:900; color:#64748b; margin-top:.75rem;}
    .today-next-title{font-size:1.25rem; line-height:1.18; font-weight:950; letter-spacing:-.025em; color:#172033; margin-top:.3rem;}
    .today-next-meta{margin-top:.55rem; color:#475569; font-weight:700;}

    #weekSection,
    #upcomingSection,
    #newsSection{
      border-radius:28px !important;
      padding:clamp(1.1rem,2.4vw,1.75rem) !important;
    }
    #weekSection h2,
    #upcomingTitle,
    #newsSection h2{letter-spacing:-.03em; color:#172033;}

    .news-head-premium{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem;max-width:1180px;margin-left:auto;margin-right:auto;}
    .news-kicker{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.45rem .75rem;background:rgba(239,246,255,.92);border:1px solid rgba(191,219,254,.95);color:#1d4ed8;font-size:.8rem;font-weight:950;margin-bottom:.7rem;}
    .news-subtitle{color:#64748b;font-weight:700;margin-top:.25rem;}
    .news-layout-harmonic{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:stretch;}
    .news-layout-harmonic.has-side{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);}
    .news-feature-shell{min-width:0;}
    .news-side-stack{display:grid;gap:1rem;min-width:0;}
    .news-more-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.1rem;}
    .news-list-toggle-wrap{grid-column:1/-1;display:flex;justify-content:center;margin-top:.15rem;}
    .news-list-toggle{min-width:min(100%,280px);}
    .news-card-premium{position:relative;overflow:hidden;border-radius:24px;padding:1rem;border:1px solid rgba(226,232,240,.95);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.86));box-shadow:0 12px 30px rgba(15,23,42,.07);height:100%;}
    .news-card-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;}
    .news-card-premium.news-feature .news-card-inner{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:1.15rem;align-items:stretch;}
    .news-card-premium.news-feature-main{padding:1.15rem;}
    .news-card-premium.news-feature-main .news-title-premium{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.08;}
    .news-card-premium.news-feature-main .news-content-premium{font-size:1rem;line-height:1.65;}
    .news-card-premium.news-compact{border-radius:20px;padding:.9rem;box-shadow:0 8px 20px rgba(15,23,42,.055);}
    .news-card-premium.news-compact .news-title-premium{font-size:1.05rem;margin-top:.6rem;}
    .news-card-premium.news-compact .news-content-premium{font-size:.88rem;line-height:1.5;margin-top:.55rem;}
    .news-card-premium.news-compact .news-media-premium{display:none;}
    .news-card-premium.news-compact .news-action-primary{min-height:38px;padding:.52rem .75rem;border-radius:12px;font-size:.86rem;}
    .news-copy-premium{min-width:0;}
    .news-media-premium{min-width:0;position:relative;display:grid;place-items:center;align-self:start;overflow:hidden;border-radius:19px;border:1px solid rgba(226,232,240,.95);background:linear-gradient(135deg,#f1f5f2,#fff);isolation:isolate;}
    .news-media-premium:empty{display:none;}
    .news-card-premium::before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#60a5fa,#a78bfa,#34d399);opacity:.85;}
    .news-card-premium.news-high::before{background:linear-gradient(90deg,#f97316,#ef4444);}
    .news-card-premium.news-urgent::before{background:linear-gradient(90deg,#dc2626,#7f1d1d);}
    .news-priority-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.32rem .62rem;font-size:.72rem;font-weight:950;border:1px solid rgba(203,213,225,.9);background:rgba(255,255,255,.82);color:#334155;}
    .news-title-premium{margin-top:.75rem;font-size:1.25rem;line-height:1.15;font-weight:950;letter-spacing:-.025em;color:#172033;}
    .news-content-premium{margin-top:.7rem;color:#334155;font-size:.95rem;line-height:1.6;font-weight:650;}
    .news-content-collapsible{position:relative;transition:max-height .28s ease;}
    .news-content-collapsible.is-collapsed{max-height:10.8rem;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);}
    .news-content-collapsible.is-expanded{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none;}
    .news-read-more{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.55rem;min-height:40px;padding:.55rem .8rem;border-radius:13px;border:1px solid #cfe1d2;background:#f3faf4;color:#14532d;font-size:.86rem;font-weight:950;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;}
    .news-read-more:hover{background:#e7f6e9;border-color:#acd6b4;transform:translateY(-1px);}
    .news-read-more:focus-visible{outline:3px solid rgba(34,197,94,.28);outline-offset:2px;}
    .news-read-more-icon{font-size:1rem;line-height:1;}
    .news-img-backdrop{position:absolute;z-index:-1;inset:-28px;width:calc(100% + 56px);height:calc(100% + 56px);object-fit:cover;filter:blur(24px) saturate(.8);opacity:.2;transform:scale(1.08);}
    .news-img-premium{position:relative;display:block;width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:17px;margin:0;background:rgba(255,255,255,.72);}
    .news-media-premium.is-portrait .news-img-premium{width:auto;max-width:100%;}
    .news-card-premium.news-feature .news-img-premium{margin:0;height:auto;min-height:0;max-height:720px;object-fit:contain;box-shadow:0 10px 24px rgba(15,23,42,.08);}
    .news-actions-premium{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;}
    .news-action-primary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;border-radius:14px;padding:.65rem .9rem;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;font-weight:900;text-decoration:none;box-shadow:0 12px 24px rgba(37,99,235,.18);}
    .news-action-primary:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 16px 30px rgba(37,99,235,.24);}
    .news-empty-card{border-radius:20px;border:1px dashed rgba(148,163,184,.75);background:rgba(248,250,252,.82);padding:1rem;color:#475569;font-weight:750;max-width:760px;margin:0 auto;}
    .news-admin-status{border-radius:18px;padding:.85rem 1rem;border:1px solid rgba(226,232,240,.95);background:rgba(248,250,252,.9);}
    .news-admin-status.ok{background:#ecfdf5;border-color:#bbf7d0;color:#065f46;}
    .news-admin-status.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412;}
    .news-admin-card{border-radius:18px;border:1px solid rgba(226,232,240,.95);background:rgba(255,255,255,.85);padding:1rem;}
    .news-list-admin-card{border-radius:18px;border:1px solid rgba(226,232,240,.95);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,250,252,.85));padding:.9rem;}
    .media-upload-box{border:2px dashed rgba(147,197,253,.9);background:linear-gradient(135deg,rgba(239,246,255,.88),rgba(255,255,255,.92));border-radius:22px;padding:1rem;}
    .media-grid-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
    .media-card-admin{border:1px solid rgba(226,232,240,.95);background:rgba(255,255,255,.9);border-radius:20px;overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.06);}
    .media-card-admin img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:linear-gradient(135deg,#f1f5f2,#fff);border-bottom:1px solid rgba(226,232,240,.9);padding:.35rem;}
    .media-card-body{padding:.85rem;}
    .media-url-box{font-size:.72rem;font-weight:800;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.5rem;word-break:break-all;}
    @media(max-width:980px){.media-grid-admin{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media(max-width:640px){.media-grid-admin{grid-template-columns:1fr;}}
    @media(max-width:980px){.news-layout-harmonic.has-side{grid-template-columns:1fr}.news-more-grid{grid-template-columns:1fr}.news-card-premium.news-feature .news-card-inner{grid-template-columns:1fr}.news-card-premium.news-feature .news-img-premium{min-height:0;max-height:min(720px,72vh);}}
    @media(max-width:860px){.news-head-premium{display:block}.news-img-premium{max-height:min(680px,72vh)}.news-card-premium.news-feature .news-img-premium{max-height:min(680px,72vh)}.news-card-premium.news-feature-main .news-title-premium{font-size:1.35rem;}.news-content-collapsible.is-collapsed{max-height:9.3rem}.news-read-more{width:100%;}}
    #weekTabs .week-tab,
    #prevWeek,#currentWeekBtn,#nextWeek{
      min-height:42px;
      border-radius:15px !important;
      font-weight:850;
    }
    #currentWeekBtn{box-shadow:0 12px 24px rgba(37,99,235,.18);}
    #weekDisplay{
      display:inline-flex;
      justify-content:center;
      align-items:center;
      width:100%;
      color:#64748b !important;
      font-size:.95rem !important;
      font-weight:850 !important;
    }
    #weeklySchedule{gap:1rem !important;}
    .day-card{
      border-radius:24px !important;
      padding:1rem !important;
      background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,250,252,.72)) !important;
      border:1px solid rgba(226,232,240,.92) !important;
      box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
      min-height:275px;
    }
    .day-card:hover{transform:translateY(-4px); box-shadow:0 18px 45px rgba(15,23,42,.10) !important;}
    .day-card.closed-day{background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(248,250,252,.62)) !important; opacity:.88;}
    .day-card .program-box,
    .day-card .bg-amber-50,
    .day-card .bg-yellow-50{
      border-radius:18px !important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
    }
    .event-badge,.day-card span.rounded-full{box-shadow:inset 0 1px 0 rgba(255,255,255,.55);}
    .upcoming-card{
      border-radius:22px !important;
      background:linear-gradient(135deg,rgba(239,246,255,.94),rgba(255,255,255,.82)) !important;
      border:1px solid rgba(191,219,254,.95) !important;
      box-shadow:0 12px 30px rgba(37,99,235,.08) !important;
    }
    .upcoming-card:hover{transform:translateY(-2px); box-shadow:0 18px 42px rgba(37,99,235,.12) !important;}
    .info-card-premium{background:rgba(255,255,255,.78) !important; border-radius:26px !important;}

    .mobile-quick-nav{
      position:fixed;
      left:.85rem;
      right:.85rem;
      bottom:.85rem;
      z-index:39;
      display:none;
      grid-template-columns:repeat(4,1fr);
      gap:.4rem;
      padding:.45rem;
      border-radius:22px;
      background:rgba(255,255,255,.82);
      backdrop-filter:blur(18px);
      border:1px solid rgba(226,232,240,.95);
      box-shadow:0 18px 50px rgba(15,23,42,.16);
    }
    .mobile-quick-nav a{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:.12rem;
      min-height:48px;
      border-radius:16px;
      color:#334155;
      font-size:.72rem;
      font-weight:900;
      text-decoration:none;
    }
    .mobile-quick-nav a:first-child{background:linear-gradient(135deg,#2563eb,#4f46e5); color:#fff;}
    .mobile-quick-nav span{font-size:1rem; line-height:1;}

    body.board-mode .today-overview-grid,
    body.board-mode .mobile-quick-nav{display:none !important;}
    @media(max-width:860px){
      .today-overview-grid{grid-template-columns:1fr;}
      #heroSection.hero-premium .grid{gap:1.2rem;}
    }
    @media(max-width:640px){
      main{padding-top:1rem !important; padding-bottom:6.5rem !important; gap:1rem;}
      .site-brand-header{position:relative;}
      #heroSection.hero-premium{border-radius:24px !important;}
      #statusBadge{width:100%; justify-content:center;}
      #weatherDisplay{min-width:100%;}
      .today-actions{flex-direction:column;}
      .today-action{width:100%;}
      #weekSection .flex.items-center.justify-between{align-items:flex-start;}
      #weekTabs{display:grid !important; grid-template-columns:1fr 1fr;}
      #weekTabs .week-tab{width:100%;}
      .mobile-quick-nav{display:grid;}
      #adminFab{bottom:5.8rem !important; right:1rem !important; width:3rem !important; height:3rem !important;}
    }
    body.a11y-contrast .today-focus-card,
    body.a11y-contrast .today-next-card{background:#fff !important; border-color:#94a3b8 !important;}

  

    /* === Premium v4: Public Visual Polish + Admin Cockpit === */
    body{background:
      radial-gradient(circle at 8% 8%, rgba(59,130,246,.16), transparent 28%),
      radial-gradient(circle at 90% 12%, rgba(16,185,129,.12), transparent 28%),
      radial-gradient(circle at 50% 100%, rgba(168,85,247,.10), transparent 34%),
      linear-gradient(135deg,#eff6ff 0%,#f8fafc 48%,#eef2ff 100%) !important;}
    .admin-cockpit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
    .cockpit-tile{position:relative;overflow:hidden;border-radius:22px;padding:16px;background:rgba(255,255,255,.78);border:1px solid rgba(226,232,240,.95);box-shadow:0 14px 34px rgba(15,23,42,.07);}
    .cockpit-tile:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#10b981);opacity:.9;}
    .cockpit-kicker{font-size:.75rem;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.03em;}
    .cockpit-title{font-size:1.4rem;font-weight:950;color:#172033;line-height:1.1;margin-top:5px;}
    .cockpit-meta{font-size:.86rem;color:#475569;margin-top:8px;line-height:1.35;}
    .cockpit-action{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:.55rem .75rem;font-weight:900;font-size:.82rem;border:1px solid rgba(203,213,225,.9);background:rgba(248,250,252,.86);}
    @media(max-width:960px){.admin-cockpit-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media(max-width:620px){.admin-cockpit-grid{grid-template-columns:1fr;}}

    .month-calendar-shell{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,250,252,.86));border:1px solid rgba(226,232,240,.95);border-radius:24px;padding:16px;box-shadow:0 16px 40px rgba(15,23,42,.07);}
    .month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
    .month-weekday{font-size:.73rem;font-weight:950;color:#64748b;text-align:center;text-transform:uppercase;letter-spacing:.04em;padding:.3rem;}
    .month-day{min-height:94px;border-radius:18px;border:1px solid rgba(226,232,240,.95);background:rgba(255,255,255,.74);padding:9px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;position:relative;overflow:hidden;}
    .month-day:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,23,42,.10);border-color:#93c5fd;}
    .month-day.other-month{opacity:.42;background:#f8fafc;}
    .month-day.today{outline:3px solid rgba(59,130,246,.22);border-color:#60a5fa;}
    .month-date{font-weight:950;color:#172033;font-size:.92rem;}
    .month-status{font-size:.72rem;font-weight:900;margin-top:.25rem;display:inline-flex;padding:.16rem .48rem;border-radius:999px;}
    .month-status.open{background:#dcfce7;color:#047857}.month-status.closed{background:#fee2e2;color:#b91c1c}.month-status.event{background:#ede9fe;color:#6d28d9}.month-status.note{background:#fef3c7;color:#92400e}
    .month-mini{font-size:.68rem;color:#475569;margin-top:.28rem;line-height:1.18;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
    @media(max-width:640px){.month-grid{gap:5px}.month-day{min-height:76px;border-radius:14px;padding:7px}.month-status{font-size:.62rem}.month-mini{display:none}}

    .quality-item{border-radius:18px;padding:12px 14px;border:1px solid rgba(226,232,240,.95);background:rgba(255,255,255,.78);display:flex;gap:10px;align-items:flex-start;}
    .quality-item.warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.quality-item.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.quality-item.ok{border-color:#bbf7d0;background:#ecfdf5;color:#065f46}
    .template-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
    .template-gallery-card{border:1px solid rgba(226,232,240,.95);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,250,252,.88));border-radius:20px;padding:14px;text-align:left;box-shadow:0 10px 24px rgba(15,23,42,.06);transition:transform .15s ease,box-shadow .15s ease;}
    .template-gallery-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.10);}
    .template-gallery-icon{font-size:1.45rem;margin-bottom:6px}.template-gallery-title{font-weight:950;color:#172033}.template-gallery-meta{font-size:.76rem;color:#64748b;margin-top:3px;}
    @media(max-width:900px){.template-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(max-width:560px){.template-gallery{grid-template-columns:1fr;}}

    .safe-save-bar{position:fixed;left:50%;bottom:1.05rem;transform:translateX(-50%);z-index:95;width:min(720px,calc(100% - 1.5rem));border-radius:22px;padding:10px;background:rgba(15,23,42,.92);color:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28);backdrop-filter:blur(16px);}
    .safe-save-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;}.safe-save-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.safe-save-actions button{border-radius:14px;padding:.55rem .8rem;font-weight:900;font-size:.82rem;background:rgba(255,255,255,.14)}.safe-save-actions .primary{background:#2563eb}.safe-save-actions .danger{background:#475569}
    @media(max-width:640px){.safe-save-inner{align-items:stretch;flex-direction:column}.safe-save-actions button{flex:1}}

    .come-by-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;}.come-by-card{position:relative;overflow:hidden;border-radius:28px;padding:22px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(239,246,255,.82));border:1px solid rgba(219,234,254,.95);box-shadow:0 18px 44px rgba(30,64,175,.09);}.come-by-card:after{content:"";position:absolute;right:-48px;bottom:-60px;width:190px;height:190px;border-radius:999px;background:rgba(59,130,246,.09)}.come-by-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.come-by-tag{font-weight:950;font-size:.83rem;border-radius:999px;padding:.45rem .75rem;background:rgba(255,255,255,.75);border:1px solid rgba(226,232,240,.9);color:#334155}
    @media(max-width:860px){.come-by-grid{grid-template-columns:1fr}}

    .timeline{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}.timeline-step{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .65rem;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(226,232,240,.9);font-size:.78rem;font-weight:900;color:#334155}.timeline-line{height:2px;min-width:18px;background:#cbd5e1;flex:0 0 18px}.mini-timeline{display:flex;align-items:center;gap:.3rem;margin:.55rem 0 .25rem;flex-wrap:wrap}.mini-timeline .timeline-step{font-size:.66rem;padding:.24rem .45rem}.mini-timeline .timeline-line{min-width:10px;flex-basis:10px}

    .day-card.type-open{border-color:#93c5fd !important}.day-card.type-ferien{border-color:#fbbf24 !important}.day-card.type-trip{border-color:#38bdf8 !important}.day-card.type-kjp{border-color:#a78bfa !important}.day-card.type-evening{border-color:#f59e0b !important}.day-card.type-closed{border-color:#e2e8f0 !important}.day-card.type-note{border-color:#facc15 !important}
    .type-pill{font-size:.68rem;font-weight:950;padding:.22rem .55rem;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;display:inline-flex;margin-top:.35rem}.season-summer{background:linear-gradient(135deg,#fffbeb,#ecfeff)!important}.season-winter{background:linear-gradient(135deg,#eff6ff,#f8fafc)!important}.season-holiday{background:linear-gradient(135deg,#fef3c7,#fff7ed)!important}



    /* --- Ferien & Feiertage Anzeige --- */
    .holiday-info-section{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(239,246,255,.78));border:1px solid rgba(226,232,240,.9);}
    .holiday-info-section::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#f59e0b,#22c55e,#3b82f6);opacity:.9;}
    .holiday-info-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;align-items:stretch;}
    .holiday-info-card{background:rgba(255,255,255,.72);border:1px solid rgba(226,232,240,.95);border-radius:1.35rem;padding:1rem;box-shadow:0 10px 24px rgba(15,23,42,.06);}
    .holiday-info-card.current{background:linear-gradient(135deg,#fff7ed,#eff6ff);border-color:#fed7aa;}
    .holiday-list{display:grid;gap:.65rem;}
    .holiday-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;background:rgba(248,250,252,.88);border:1px solid rgba(226,232,240,.95);border-radius:1rem;padding:.75rem .85rem;}
    .holiday-item strong{display:block;color:#172033;font-weight:900;line-height:1.2;}
    .holiday-item span{display:block;color:#64748b;font-size:.82rem;font-weight:700;margin-top:.2rem;}
    .holiday-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:950;white-space:nowrap;}
    .holiday-pill.vacation{background:#dcfce7;color:#047857;border:1px solid #bbf7d0;}
    .holiday-pill.holiday{background:#fef3c7;color:#92400e;border:1px solid #fde68a;}
    .holiday-countdown-card{position:relative;overflow:hidden;border-radius:1.15rem;padding:1rem;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid rgba(191,219,254,.95);box-shadow:0 10px 22px rgba(37,99,235,.08);}
    .holiday-countdown-card.active{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#bbf7d0;box-shadow:0 10px 22px rgba(16,185,129,.08);}
    .holiday-countdown-label{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.3rem .6rem;background:rgba(255,255,255,.78);border:1px solid rgba(226,232,240,.95);color:#2563eb;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.03em;}
    .holiday-countdown-card.active .holiday-countdown-label{color:#047857;}
    .holiday-countdown-name{display:block;margin-top:.75rem;color:#172033;font-size:1.08rem;line-height:1.15;font-weight:950;}
    .holiday-countdown-number{margin-top:.8rem;color:#172033;font-size:clamp(2.2rem,5vw,4rem);line-height:.95;font-weight:950;letter-spacing:-.06em;}
    .holiday-countdown-unit{margin-top:.25rem;color:#334155;font-size:1rem;font-weight:900;}
    .holiday-countdown-date{margin-top:.75rem;color:#64748b;font-size:.86rem;font-weight:750;}
    .week-holiday-banner{display:flex;align-items:flex-start;gap:.65rem;border-radius:1rem;padding:.75rem .85rem;border:1px solid rgba(253,224,71,.8);background:linear-gradient(135deg,#fffbeb,#fff7ed);color:#78350f;box-shadow:0 8px 18px rgba(245,158,11,.08);}
    .week-holiday-banner.vacation{border-color:#bbf7d0;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);color:#065f46;}
    .week-holiday-icon{width:2rem;height:2rem;border-radius:.8rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.9);flex:0 0 auto;}
    .week-holiday-title{font-size:.76rem;font-weight:950;line-height:1.15;text-transform:uppercase;letter-spacing:.02em;opacity:.8;}
    .week-holiday-name{font-size:.92rem;font-weight:950;line-height:1.2;margin-top:.1rem;}
    .holiday-admin-group{border:1px solid rgba(226,232,240,.95);background:rgba(248,250,252,.88);border-radius:1rem;padding:.8rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;}
    .holiday-admin-dates{font-size:.78rem;color:#64748b;font-weight:750;margin-top:.2rem;}
    @media(max-width:860px){.holiday-info-grid{grid-template-columns:1fr}.holiday-item{display:block}.holiday-pill{margin-top:.55rem}}

    /* === Phase 1: ruhige, mobile-first öffentliche Oberfläche === */
    :root{
      --public-green:#23813b;
      --public-green-dark:#14532d;
      --public-green-soft:#eef9ef;
      --public-surface:#ffffff;
      --public-bg:#f3f7f3;
      --public-border:#dce7de;
      --public-text:#17251b;
      --public-muted:#607066;
    }
    body:not(.board-mode){
      color:var(--public-text);
      background:
        radial-gradient(circle at 10% 7%,rgba(74,222,128,.12),transparent 27%),
        radial-gradient(circle at 92% 17%,rgba(250,204,21,.09),transparent 26%),
        linear-gradient(180deg,#f7faf7 0%,var(--public-bg) 100%) !important;
    }
    .site-brand-header{background:rgba(255,255,255,.93);border-color:var(--public-border);}
    .brand-header-inner{min-height:92px;}
    .brand-title{color:var(--public-text);}
    .brand-subtitle{color:var(--public-muted);}
    .jh-desktop-nav{gap:.2rem;}
    .jh-desktop-nav a{border-radius:12px;padding:.62rem .72rem;color:#36493c;}
    .jh-desktop-nav a:hover{background:var(--public-green-soft);color:var(--public-green-dark);}
    .jh-desktop-nav .nav-feripro{
      margin-left:.3rem;background:var(--public-green);color:#fff !important;
      box-shadow:0 8px 20px rgba(35,129,59,.18);
    }
    .jh-desktop-nav .nav-feripro:hover{background:#1d6f33;color:#fff !important;transform:translateY(-1px);}
    .brand-action-btn{box-shadow:none;background:#f7faf7;border-color:var(--public-border);color:var(--public-green-dark);}

    main{max-width:1180px !important;}
    #heroSection,
    .today-focus-card,.today-next-card,
    #weekSection,#upcomingSection,#newsSection,
    .come-by-card,.holiday-info-section{
      background:rgba(255,255,255,.94) !important;
      border:1px solid var(--public-border) !important;
      box-shadow:0 12px 34px rgba(25,66,36,.065) !important;
    }
    #heroSection{padding:clamp(1.2rem,3vw,2rem) !important;border-radius:26px !important;}
    #heroSection::before{opacity:.18 !important;}
    .hero-kicker-v2,.today-kicker,.news-kicker{
      background:var(--public-green-soft) !important;border-color:#c7e7cd !important;color:var(--public-green-dark) !important;
    }
    #statusBadge{box-shadow:0 10px 24px rgba(35,129,59,.16) !important;}
    #weatherTemp,.today-title,.today-next-title,#weekSection h2,#upcomingTitle,#newsSection h2{color:var(--public-text) !important;}
    .today-focus-card::before,.today-next-card::before,.news-card-premium::before{
      background:linear-gradient(90deg,var(--public-green),#55b968) !important;
    }
    .today-focus-card{border-left:5px solid #36d63b !important;}
    .today-action-primary,.news-action-primary,#currentWeekBtn{
      background:var(--public-green) !important;color:#fff !important;
      box-shadow:0 10px 24px rgba(35,129,59,.18) !important;
    }
    .today-action-primary:hover,.news-action-primary:hover,#currentWeekBtn:hover{background:#1d6f33 !important;}
    .today-action-secondary{background:#f5f8f5;border-color:var(--public-border);color:var(--public-text);}

    .feripro-promo{scroll-margin-top:1rem;}
    .feripro-link{
      margin:0;padding:clamp(1rem,2.4vw,1.35rem);border-radius:24px;
      background:linear-gradient(135deg,#eaf8ec 0%,#f8fcf8 62%,#fff7d6 100%);
      border:1px solid #bfe2c5;box-shadow:0 12px 30px rgba(35,129,59,.09);
    }
    .feripro-link-icon{width:48px;height:48px;border-radius:16px;background:#d7f3dc;border-color:#b5dfbe;}
    .feripro-link-title{font-size:1.05rem;color:var(--public-green-dark);}
    .feripro-link-text{font-size:.84rem;color:#536a59;}
    .feripro-link-arrow{background:var(--public-green);}
    .feripro-promo.is-registration-open .feripro-link{
      border-color:#70c780;
      background:linear-gradient(135deg,#dcfce7 0%,#f5fff7 62%,#fef3c7 100%);
      box-shadow:0 15px 36px rgba(35,129,59,.15);
    }
    .feripro-promo.is-registration-open .feripro-link-icon{animation:feriproPulse 2.4s ease-in-out infinite;}
    @keyframes feriproPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
    @media(prefers-reduced-motion:reduce){.feripro-promo.is-registration-open .feripro-link-icon{animation:none}}
    body.is-standalone #installAppBtn{display:none !important;}
    #installAppBtn{background:#eaf8ec;border-color:#bfe2c5;color:#14532d;}

    #weekSection{scroll-margin-top:1rem;}
    #weekTabs{padding:.3rem;border-radius:17px;background:#f4f7f4;border:1px solid var(--public-border);width:max-content;max-width:100%;}
    #weekTabs .week-tab{border:0 !important;box-shadow:none !important;background:transparent !important;}
    #weekTabs .week-tab.bg-blue-600,#weekTabs .week-tab.text-white{background:#fff !important;color:var(--public-green-dark) !important;box-shadow:0 5px 14px rgba(25,66,36,.09) !important;}
    .day-card{background:#fff !important;border-color:var(--public-border) !important;box-shadow:0 8px 22px rgba(25,66,36,.055) !important;}
    .day-card:hover{box-shadow:0 12px 28px rgba(25,66,36,.09) !important;}
    .upcoming-card{background:#f6faf6 !important;border-color:var(--public-border) !important;box-shadow:0 8px 22px rgba(25,66,36,.055) !important;}
    .info-card-premium{border-color:var(--public-border) !important;box-shadow:none !important;}

    .mobile-quick-nav{grid-template-columns:repeat(5,1fr);border-color:var(--public-border);background:rgba(255,255,255,.94);}
    .mobile-quick-nav a:first-child{background:var(--public-green);color:#fff;}
    .mobile-quick-nav .mobile-feripro{color:var(--public-green-dark);background:var(--public-green-soft);}

    @media(max-width:860px){
      .brand-header-inner{min-height:82px;}
      .today-overview-grid{gap:.8rem;}
      .today-focus-card,.today-next-card{border-radius:22px;padding:1rem;}
    }
    @media(max-width:640px){
      main{padding-top:.85rem !important;padding-bottom:6.6rem !important;}
      #heroSection{padding:1rem !important;}
      #heroSection .grid{grid-template-columns:minmax(0,1fr) !important;}
      #currentDate{font-size:2rem !important;margin-bottom:.1rem !important;}
      #currentDay{font-size:1rem !important;margin-bottom:.7rem !important;}
      #statusBadge{font-size:1.25rem !important;padding:.75rem 1rem !important;}
      #statusReason{font-size:.95rem !important;margin-top:.65rem !important;}
      #statusCountdown{font-size:.82rem !important;}
      #weatherDisplay{padding-top:.8rem;border-top:1px solid var(--public-border);}
      #weatherIcon{font-size:2.35rem !important;}
      #weatherTemp{font-size:2.35rem !important;}
      #weatherDescription{font-size:.95rem !important;}
      .today-title{font-size:1.35rem;}
      .today-text{line-height:1.5;margin-top:.7rem;}
      .today-next-card .today-actions{margin-top:.75rem;}
      .feripro-link{padding:.85rem;border-radius:19px;}
      .feripro-link-icon{width:42px;height:42px;}
      .feripro-link-title{font-size:.92rem;}
      .feripro-link-text{font-size:.74rem;}
      #weekSection,#upcomingSection,#newsSection{border-radius:22px !important;padding:1rem !important;}
      #weekSection > .flex:first-child{margin-bottom:.8rem !important;}
      #weekSection > .flex:first-child h2{font-size:1.35rem;}
      #weekSection > .flex:first-child > div{display:grid;grid-template-columns:1fr 1.15fr 1fr;width:100%;gap:.35rem;}
      #prevWeek,#currentWeekBtn,#nextWeek{padding:.62rem .35rem !important;font-size:.76rem;min-width:0;}
      #weekTabs{display:flex !important;overflow-x:auto;width:100%;padding:.25rem;flex-wrap:nowrap !important;scrollbar-width:none;}
      #weekTabs::-webkit-scrollbar{display:none;}
      #weekTabs .week-tab{flex:0 0 auto;width:auto !important;min-height:38px;padding:.55rem .7rem !important;font-size:.76rem;}
      #weeklySchedule{display:block !important;}
      #weeklySchedule .day-card{min-height:0 !important;margin-bottom:.55rem;padding:.85rem !important;border-radius:17px !important;}
      #weeklySchedule .day-card:hover{transform:none;}
      .mobile-quick-nav{left:.5rem;right:.5rem;bottom:.5rem;padding:.35rem;gap:.18rem;border-radius:19px;}
      .mobile-quick-nav a{min-height:50px;border-radius:14px;font-size:.63rem;}
      .mobile-quick-nav span{font-size:.95rem;}
    }

    /* === Phase 2: aufgabenorientierter Adminmodus === */
    #adminModal > .glass-strong{max-width:1380px;width:min(1380px,96vw);background:#f6f8f6;border:1px solid #dce7de;}
    #adminModal > .glass-strong > .sticky{background:rgba(255,255,255,.95);border-color:#dce7de;}
    #adminPanel{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;align-items:start;}
    #adminPanel.hidden{display:none !important;}
    #adminPanel > *{margin-top:0 !important;}
    #adminPanel .admin-ux-header{grid-column:1/-1;}
    #adminPanel .admin-section-tabs{grid-column:1;position:sticky;top:76px;display:block !important;padding:.65rem;background:#edf3ee;border:1px solid #d8e5da;border-radius:22px;box-shadow:none;}
    #adminPanel #adminHome,#adminPanel #adminSections{grid-column:2;min-width:0;}
    #adminPanel .admin-nav-group{padding:.5rem;background:transparent;border:0;border-radius:0;box-shadow:none;}
    #adminPanel .admin-nav-group + .admin-nav-group{border-top:1px solid #d6e2d8;margin-top:.45rem;padding-top:.8rem;}
    #adminPanel .admin-nav-group-title{font-size:.68rem;color:#6b7d70;margin-bottom:.45rem;}
    #adminPanel .admin-nav-items{gap:.28rem;}
    #adminPanel .admin-tab-btn{min-height:0 !important;padding:.66rem .7rem !important;border-radius:13px !important;background:transparent !important;border:1px solid transparent !important;box-shadow:none !important;}
    #adminPanel .admin-tab-btn span{font-size:.84rem;color:#2d3e31;}
    #adminPanel .admin-tab-btn small{display:none;}
    #adminPanel .admin-tab-btn:hover{background:#fff !important;border-color:#d6e2d8 !important;transform:none;}
    #adminPanel .admin-tab-btn.is-active{background:#23813b !important;border-color:#23813b !important;box-shadow:0 8px 18px rgba(35,129,59,.18) !important;}
    #adminPanel .admin-tab-btn.is-active span{color:#fff;}
    .admin-ux-header{background:#fff;border:1px solid #dce7de;box-shadow:0 10px 28px rgba(25,66,36,.06);}
    .admin-ux-pill{background:#eaf8ec !important;color:#14532d !important;border-color:#bfe2c5 !important;}
    .admin-save-state{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.45rem .7rem;background:#eef9ef;border:1px solid #c7e7cd;color:#14532d;font-size:.75rem;font-weight:900;white-space:nowrap;}
    .admin-save-state.dirty{background:#fff7ed;border-color:#fed7aa;color:#9a3412;}
    #adminHome{display:flex;flex-direction:column;gap:1rem;}
    #adminHome.hidden{display:none !important;}
    #adminCockpitCard{order:1;}
    #adminPrimaryTasks{order:2;}
    #adminQuickActionsCard{order:3;}
    #adminDashboardCard{order:4;}
    #adminCopyCard{order:5;}
    #adminAutosaveCard{order:6;}
    #adminToolsCard{order:7;}
    .admin-home-hero{background:#fff;border-color:#dce7de;box-shadow:0 10px 28px rgba(25,66,36,.06);}
    .admin-home-hero::after{background:rgba(74,222,128,.10);}
    .admin-home-hero .text-blue-700{color:#14532d !important;border-color:#c7e7cd !important;}
    .admin-task-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
    .admin-task-card{min-height:108px;border-color:#dce7de;background:#f8faf8;box-shadow:none;}
    .admin-task-card:nth-child(2){order:-1;}
    .admin-task-card:nth-child(5){display:none;}
    .admin-task-card:hover{border-color:#9ed5aa;box-shadow:0 10px 24px rgba(25,66,36,.08);}
    .admin-task-icon{background:#eaf8ec;border-color:#c7e7cd;}
    .admin-card{background:#fff !important;border-color:#dce7de !important;box-shadow:0 8px 24px rgba(25,66,36,.055) !important;}
    .cockpit-tile{border-color:#dce7de !important;background:#f8faf8 !important;box-shadow:none !important;}
    .cockpit-action{color:#17672e !important;}
    .admin-btn.bg-blue-600,#monthTodayBtn,#saveDayBtn,#saveDayBtnSticky,#saveSettingsBtn,#insertTemplateBtn,#insertWeekTemplateBtn{background:#23813b !important;color:#fff !important;}
    .admin-section-titlebar{top:0;background:rgba(246,248,246,.96);border-color:#dce7de;display:flex;align-items:center;gap:.8rem;}
    #adminSectionTitle{color:#17251b;}
    .month-calendar-shell{border-color:#dce7de;background:#fff;}
    .month-day{border-color:#dce7de;}
    .month-day:hover{border-color:#79bd87;box-shadow:0 8px 20px rgba(35,129,59,.10);}
    .editor-premium-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem;align-items:start;}
    .editor-group{border-color:#dce7de;background:#f9fbf9;box-shadow:none;}
    .editor-group-title{color:#28432f;}
    .day-preview-card{position:sticky;top:78px;border-color:#bfe2c5;background:linear-gradient(180deg,#fff,#f2faf3);box-shadow:0 12px 30px rgba(35,129,59,.08);}
    #adminSectionDayEdit input,#adminSectionDayEdit select,#adminSectionDayEdit textarea,
    #adminSectionSettings input,#adminSectionSettings select,#adminSectionSettings textarea{border-color:#cddbd0;background:#fff;}
    #adminSectionDayEdit input:focus,#adminSectionDayEdit select:focus,#adminSectionDayEdit textarea:focus,
    #adminSectionSettings input:focus,#adminSectionSettings select:focus,#adminSectionSettings textarea:focus{outline:3px solid rgba(74,222,128,.18);border-color:#58a86a;}
    .settings-jump-nav{display:flex;gap:.45rem;overflow-x:auto;padding:.4rem;margin-bottom:1rem;border-radius:16px;background:#edf3ee;border:1px solid #d8e5da;scrollbar-width:none;}
    .settings-jump-nav::-webkit-scrollbar{display:none;}
    .settings-jump-nav button{flex:0 0 auto;border:0;border-radius:12px;padding:.65rem .8rem;background:transparent;color:#36523d;font-size:.78rem;font-weight:900;}
    .settings-jump-nav button:hover,.settings-jump-nav button:focus{background:#fff;color:#14532d;}
    .feripro-visibility-control{position:relative;display:flex;align-items:center;gap:.7rem;min-width:min(100%,310px);padding:.7rem .8rem;border:1px solid #b7ddbf;border-radius:16px;background:#f3fbf4;color:#14532d;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;}
    .feripro-visibility-control:hover{border-color:#86c793;box-shadow:0 8px 20px rgba(20,83,45,.08);}
    .feripro-visibility-control input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
    .feripro-switch-track{position:relative;flex:0 0 auto;width:46px;height:26px;border-radius:999px;background:#cbd5e1;box-shadow:inset 0 1px 3px rgba(15,23,42,.18);transition:background .18s ease;}
    .feripro-switch-track span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.24);transition:transform .18s ease;}
    .feripro-visibility-control input:checked + .feripro-switch-track{background:#23823b;}
    .feripro-visibility-control input:checked + .feripro-switch-track span{transform:translateX(20px);}
    .feripro-visibility-control input:focus-visible + .feripro-switch-track{outline:3px solid rgba(34,197,94,.28);outline-offset:3px;}
    .feripro-switch-copy{display:grid;gap:.1rem;line-height:1.2;}
    .feripro-switch-copy strong{font-size:.84rem;font-weight:950;}
    .feripro-switch-copy small{font-size:.72rem;font-weight:800;color:#387049;}
    .feripro-visibility-control.is-off{background:#f8fafc;border-color:#d7dee7;color:#475569;}
    .feripro-visibility-control.is-off .feripro-switch-copy small{color:#64748b;}
    .settings-focus-flash{animation:settingsFlash 1.2s ease;}
    @keyframes settingsFlash{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 4px rgba(74,222,128,.28)}}
    #adminDirtyBar .safe-save-inner{background:#17251b;border-color:#31583b;}
    #adminBottomNav > div{background:rgba(255,255,255,.96);border-color:#cddbd0;}
    #adminBottomNav .grid{grid-template-columns:repeat(5,1fr);}
    #adminBottomNav button{border:0;background:transparent;box-shadow:none;}
    #adminBottomNav button.admin-nav-active{background:#eaf8ec !important;color:#14532d !important;}
    #navDay{background:#23813b !important;color:#fff !important;transform:translateY(-5px);box-shadow:0 8px 18px rgba(35,129,59,.22) !important;}
    #navDay span{color:#fff !important;}
    @media(max-width:1050px){
      #adminPanel{grid-template-columns:210px minmax(0,1fr);}
      .admin-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    }
    @media(max-width:767px){
      #adminModal{padding:0 !important;}
      #adminModal > .glass-strong{width:100vw;max-width:none;border-radius:0 !important;border:0;}
      #adminPanel{display:block;}
      #adminPanel .admin-section-tabs{display:none !important;}
      #adminPanel #adminHome,#adminPanel #adminSections{width:100%;}
      .admin-ux-header{border-radius:18px;padding:.8rem;}
      .admin-ux-subtitle{display:none;}
      .admin-ux-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;}
      .admin-search-v2{grid-column:1/-1;}
      .admin-save-state{grid-column:1/-1;width:max-content;}
      .admin-task-grid{grid-template-columns:1fr 1fr;gap:.55rem;}
      .admin-task-card{min-height:92px;padding:.75rem;}
      .admin-task-text{display:none;}
      .admin-cockpit-grid{grid-template-columns:1fr 1fr;gap:.55rem;}
      .cockpit-tile{padding:.8rem !important;}
      .editor-premium-grid{grid-template-columns:1fr;}
      .day-preview-card{position:relative;top:auto;order:-1;}
      .admin-section-titlebar{position:sticky;top:0;z-index:25;padding:.55rem;}
      #adminSectionTitle{font-size:1rem;}
      #adminBottomNav{left:.45rem;right:.45rem;bottom:.45rem;}
      #adminBottomNav .glass-strong{padding:.35rem;border-radius:18px;}
      #adminBottomNav .grid{gap:.18rem;}
      #adminBottomNav button{min-height:50px;padding:.35rem .1rem;}
    }
