        :root {
            /* Paleta z logo COMPAAN (CMYK + szarość) */
            --c-cyan:    #00A0E0;
            --c-magenta: #E6007E;
            --c-yellow:  #FFF200;
            --c-gray:    #A0A0A0;

            /* Akcent marki 7minut/COMPAAN */
            --accent: var(--c-cyan);
            --accent-alt: var(--c-magenta);
            --accent-soft: rgba(0,160,224,0.16);

            /* Panele i ramki */
            --panel: #111523;
            --panel-alt: #0d101b;
            --border: rgba(255,255,255,0.14);

            /* Dark theme – wartości domyślne */
            --bg: #0C0E12;
            --bg-soft: #151824;
            --bg-softer: #191C27;
            --text: #F6F7FB;
            --text-soft: #E3E4EB;
            --muted: #9DA1B2;
            --border-soft: rgba(255,255,255,0.08);
            --shadow-strong: 0 18px 40px rgba(0,0,0,0.7);
            --shadow-soft: 0 12px 30px rgba(0,0,0,0.55);
        }

        :root[data-theme="light"] {
            --bg: #F5F6FA;
            --bg-soft: #FFFFFF;
            --bg-softer: #EDF0F7;
            --text: #13141A;
            --text-soft: #2E3140;
            --muted: #6E7282;
            --panel: #FFFFFF;
            --panel-alt: #F6F7FB;
            --border: rgba(0,0,0,0.12);
            --border-soft: rgba(0,0,0,0.08);
            --shadow-strong: 0 16px 30px rgba(0,0,0,0.12);
            --shadow-soft: 0 10px 20px rgba(0,0,0,0.08);
        }

        * {
            box-sizing: border-box;
        }

        html {
            scrollbar-gutter: stable;
        }

        body {
            margin: 0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            background:
                radial-gradient(circle at top left, rgba(0,160,224,0.22) 0, transparent 38%),
                radial-gradient(circle at top right, rgba(230,0,126,0.20) 0, transparent 42%),
                var(--bg);
            color: var(--text);
        }

        :root[data-theme="light"] body {
            background:
                radial-gradient(circle at top left, rgba(0,160,224,0.18) 0, transparent 40%),
                radial-gradient(circle at top right, rgba(255,242,0,0.18) 0, transparent 42%),
                var(--bg);
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        a:hover {
            text-decoration: underline;
        }

        .page {
            min-height: 100vh;
            max-width: 1120px;
            margin: 0 auto;
            padding: 24px 16px 40px;
        }

        @media (min-width: 900px) {
            .page {
                padding: 32px 24px 56px;
            }
        }

        /* HEADER */

        header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        .brand-left {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        /* Ramki na logotypy 7minut i COMPAAN */
        .brand-logo {
            width: 96px;
            height: 68px;
            border-radius: 20px;
            padding: 6px 8px;
            background:
                radial-gradient(circle at top, rgba(255,242,0,0.18), transparent 60%),
                #eef1f8; /* jasne tło także w dark, żeby loga były czytelne */
            border: 1px solid var(--border-soft);
            box-shadow: var(--shadow-soft);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        :root[data-theme="light"] .brand-logo {
            background:
                radial-gradient(circle at top, rgba(255,242,0,0.16), transparent 60%),
                #eef1f8; /* jasne, ale nie czyste białe */
        }

        /* Obrazki w ramkach – bazowo tylko blokowe */
        .brand-logo img {
            display: block;
        }

        /* Logo 7minut (po lewej) – 100% w ramce */
        .brand-left .brand-logo:first-child img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center;
        }

        /* Logo COMPAAN (po prawej) – 150% w ramce, przycięte */
        .brand-left .brand-logo:last-child img {
            width: 150%;
            height: 150%;
            object-fit: cover;
            object-position: center;
        }

        .brand-text-wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 2px;
            flex: 1 1 auto;
            min-width: 0;
        }

        .brand-text-main {
            font-size: 16px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .brand-text-sub {
            font-size: 13px;
            color: var(--muted);
        }

        @media (max-width: 640px) {
            .brand-left {
                gap: 10px;
            }

            .brand-logo {
                width: 82px;
                height: 60px;
            }

            .brand-text-main {
                font-size: 14px;
            }

            .brand-text-sub {
                font-size: 12px;
            }
        }

        .header-right {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .lang-toggle {
            display: inline-flex;
            align-items: center;
            padding: 6px 14px;
            border: 1px solid var(--border-soft);
            border-radius: 999px;
            background: linear-gradient(135deg, rgba(0,160,224,0.16), rgba(230,0,126,0.08));
            color: var(--text);
            font-size: 12px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            cursor: pointer;
            transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
        }

        .lang-toggle:focus-visible {
            outline: 2px solid var(--accent);
            outline-offset: 2px;
        }

        .lang-toggle:active {
            transform: translateY(1px);
        }

        .lang-toggle-label {
            color: var(--text);
            min-width: 26px;
            text-align: center;
        }

        :root[data-theme="light"] .lang-toggle {
            background: linear-gradient(135deg, rgba(0,160,224,0.12), rgba(230,0,126,0.06));
        }

        .header-pill {
            padding: 6px 14px;
            border-radius: 999px;
            border: 1px solid var(--border-soft);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--muted);
            background:
            linear-gradient(135deg, rgba(0,160,224,0.12), rgba(230,0,126,0.14));
            white-space: nowrap;
            text-align: center;     /* <<< DODANE */
        }


        /* Theme toggle */

        .theme-toggle {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 4px 8px;
            border-radius: 999px;
            border: 1px solid var(--border-soft);
            font-size: 11px;
            cursor: pointer;
            user-select: none;
            background: rgba(0,0,0,0.06);
        }

        :root[data-theme="light"] .theme-toggle {
            background: rgba(255,255,255,0.8);
        }

        .theme-toggle-switch {
            width: 34px;
            height: 18px;
            border-radius: 999px;
            background: var(--bg-softer);
            border: 1px solid var(--border-soft);
            position: relative;
            overflow: hidden;
        }

        .theme-toggle-knob {
            position: absolute;
            top: 1px;
            left: 1px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: linear-gradient(135deg, var(--accent), var(--accent-alt));
            box-shadow: 0 0 10px rgba(0,160,224,0.8);
            transition: transform 0.18s ease-out;
        }

        .theme-toggle[data-mode="light"] .theme-toggle-knob {
            transform: translateX(14px);
        }

        .theme-toggle[data-mode="dark"] .theme-toggle-knob {
            transform: translateX(0);
        }

        .theme-toggle-emoji {
            font-size: 13px;
        }

        @media (max-width: 640px) {
    header {
        flex-direction: column;
        align-items: flex-start;
    }

    .header-right {
        align-self: stretch;
        justify-content: space-between;
    }

    .header-pill {
        max-width: 100%;
        text-align: center;
        white-space: normal;
        align-self: center;
    }

    /* WYŚRODKOWANY TYTUŁ HERO NA MOBILE */
    .hero-title {
        text-align: center;
    }
}


        /* HERO */

        .hero {
            margin-top: 40px;
            display: grid;
            gap: 32px;
        }

        @media (min-width: 900px) {
            .hero {
                margin-top: 56px;
                grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
                align-items: center;
            }
        }

        .hero-kicker {
            font-size: 12px;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 10px;
        }

        .hero-title {
            font-size: clamp(32px, 4vw, 40px);
            line-height: 1.1;
            margin: 0 0 16px;
        }


        /* =========== Oryginalny początkowy rozmiar liter tytułu ============

        .hero-title span {
            background: linear-gradient(135deg, var(--accent), var(--accent-alt));
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }

        ============== Koniec oryginalnego formatowania tytułu ============= */ 

        /* ============ CMYK-owy kolor i wielkość liter tutułu ============= */  

        .hero-title span {
        background: linear-gradient(135deg,#00c8ff 0%,#00c8ff 25%,#ffe600 45%,#ff2aa6 85%,#ff2aa6 100%);
        -webkit-background-clip:text;
        background-clip:text;
        color:transparent;
        white-space:nowrap;
        }

        /* ======== koniec: CMYK-owy kolor i wielkość liter tutułu ========= */


        .hero-lead {
            font-size: 16px;
            color: var(--muted);
            max-width: 520px;
            margin-bottom: 20px;
        }

        .hero-bullets {
            list-style: none;
            padding: 0;
            margin: 0 0 24px;
            display: grid;
            gap: 8px;
        }

        .hero-bullets li {
            font-size: 14px;
            color: var(--muted);
            display: flex;
            align-items: flex-start;
            gap: 8px;
        }

        .hero-bullets li::before {
            content: "";
            display: inline-block;
            margin-top: 6px;
            width: 7px;
            height: 7px;
            border-radius: 999px;
            background: linear-gradient(135deg, var(--accent), var(--accent-alt));
            box-shadow: 0 0 10px rgba(0,160,224,0.8);
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 16px;
        }

.btn {
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
}

.admin-shell .btn {
    background: transparent;
    border-color: var(--border);
    color: var(--text);
    box-shadow: none;
    padding: 8px 14px;
}

.admin-shell .btn-primary {
    background: transparent;
    border-color: var(--accent);
    color: var(--text);
}

.admin-shell .btn-primary:hover,
.admin-shell .btn-ghost:hover {
    background: var(--border-soft);
    text-decoration: none;
}

.admin-shell .btn-ghost {
    background: transparent;
    color: var(--text);
    border-color: var(--border);
}

        /* ================== BUTTON: PRIMARY ================== */
        .btn-primary {
            background: linear-gradient(
                135deg,
                var(--c-cyan) 0%,
                var(--c-cyan) 25%,   /* więcej cyanu po lewej */
                var(--c-yellow) 45%, /* wąski żółty środek */
                var(--c-magenta) 85%,
                var(--c-magenta) 100% /* więcej magenty po prawej */
            );
            color: #0a0b0e; /* light theme */
            box-shadow: var(--shadow-soft);
        }

        /* W dark theme tekst jasny */
        :root[data-theme="dark"] .btn-primary {
            color: #ffffff;
        }

        /* Hover – bez poświaty, tylko rozjaśnienie środka */
        .btn-primary:hover {
            filter: brightness(1.12);
            text-decoration: none;
        }

        .btn-ghost {
            background: transparent;
            color: var(--muted);
            border-color: var(--border-soft);
        }

        .btn-ghost:hover {
            border-color: var(--accent);
            color: var(--text-soft);
        }

        .hero-hours {
            font-size: 13px;
            color: var(--muted);
        }

        .hero-hours strong {
            color: var(--text-soft);
        }

        /* HERO IMAGE / BOX */

        .hero-aside {
            position: relative;
        }

        .hero-card {
            border-radius: 24px;
            overflow: hidden;
            background:
                radial-gradient(circle at top left, rgba(0,160,224,0.28), transparent 60%),
                radial-gradient(circle at top right, rgba(230,0,126,0.22), transparent 60%),
                #05070b;
            border: 1px solid var(--border-soft);
            box-shadow: var(--shadow-strong);
            position: relative;
            padding: 14px;
        }

        :root[data-theme="light"] .hero-card {
            background:
                radial-gradient(circle at top left, rgba(0,160,224,0.14), transparent 60%),
                radial-gradient(circle at top right, rgba(255,242,0,0.16), transparent 60%),
                #ffffff;
        }

        .hero-photo {
            border-radius: 18px;
            overflow: hidden;
            max-height: 260px;
        }

        .hero-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transform: scale(1.02);
        }

        .hero-overlay {
            position: absolute;
            inset: auto 18px 18px auto;
            border-radius: 16px;
            background: rgba(15,17,21,0.92);
            border: 1px solid rgba(255,255,255,0.12);
            padding: 10px 12px;
            font-size: 11px;
            max-width: 220px;
            color: var(--muted);
        }

        :root[data-theme="light"] .hero-overlay {
            background: rgba(245,245,247,0.96);
            border-color: rgba(0,0,0,0.08);
        }

        .hero-overlay strong {
            color: var(--text-soft);
        }

        .hero-overlay span {
            background: linear-gradient(135deg, var(--accent), var(--accent-alt));
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }

        /* SEKCJE */

        .section {
            margin-top: 40px;
            padding-top: 24px;
            border-top: 2px solid rgba(255,255,255,0.14);
        }

        :root[data-theme="light"] .section {
            border-top-color: rgba(0,0,0,0.14);
        }

        @media (min-width: 900px) {
            .section {
                margin-top: 48px;
            }
        }

        .section-kicker {
            font-size: 11px;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 6px;
        }

        .section-title {
            font-size: 22px;
            margin: 0 0 10px;
        }

        .section-lead {
            font-size: 14px;
            color: var(--muted);
            max-width: 620px;
        }

        .cards {
            margin-top: 20px;
            display: grid;
            gap: 14px;
        }

        @media (min-width: 720px) {
            .cards {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        .card {
            border-radius: 18px;
            background: var(--bg-soft);
            border: 1px solid var(--border-soft);
            padding: 14px 16px;
            font-size: 13px;
        }

        .card-title {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 6px;
        }

        .card-tag {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--muted);
            margin-bottom: 8px;
        }

        .card-tag-dot {
            width: 6px;
            height: 6px;
            border-radius: 999px;
            background: linear-gradient(135deg, var(--accent), var(--accent-alt));
            box-shadow: 0 0 8px rgba(0,160,224,0.9);
        }

        .card p {
            margin: 0;
            color: var(--muted);
        }

        .section-grid {
            display: grid;
            gap: 20px;
            margin-top: 20px;
        }

        @media (min-width: 780px) {
            .section-grid {
                grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
                align-items: flex-start;
            }
        }

        .section-box {
            border-radius: 18px;
            background: var(--bg-soft);
            border: 1px solid var(--border-soft);
            padding: 16px 18px;
            font-size: 13px;
        }

        .section-box h3 {
            margin-top: 0;
            font-size: 15px;
            margin-bottom: 8px;
        }

        .section-box ul {
            padding-left: 18px;
            margin: 8px 0;
        }

        .section-box li {
            color: var(--muted);
            margin-bottom: 4px;
        }

        /* FAQ */

        .faq-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-top: 16px;
        }

        .faq-item {
            border-radius: 14px;
            border: 1px solid var(--border-soft);
            background: var(--bg-soft);
            box-shadow: var(--shadow-soft);
            overflow: hidden;
        }

        .faq-item summary {
            list-style: none;
            cursor: pointer;
            padding: 14px 16px 14px 44px;
            margin: 0;
            font-weight: 600;
            color: var(--text);
            position: relative;
        }

        .faq-item summary::marker {
            content: "";
        }

        .faq-item summary::before {
            content: '▸';
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--accent);
            transition: transform 0.18s ease-out;
        }

        .faq-item[open] summary::before {
            transform: translateY(-50%) rotate(90deg);
        }

        .faq-item summary:focus-visible {
            outline: 2px solid var(--accent);
            outline-offset: 2px;
            border-radius: 12px;
        }

        .faq-item p {
            margin: 0;
            padding: 0 16px 16px 44px;
            color: var(--muted);
        }

        .faq-item a {
            color: inherit;
            font-weight: 600;
        }

        /* KONTAKT */

        .contact-cols {
            display: grid;
            gap: 20px;
            margin-top: 20px;
        }

        @media (min-width: 720px) {
            .contact-cols {
                grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
            }
        }

        .contact-row {
            font-size: 14px;
            color: var(--muted);
            margin-bottom: 8px;
        }

        .contact-label {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: var(--muted);
        }

        .contact-main {
            font-size: 15px;
            color: var(--text-soft);
        }

        .contact-main a {
            text-decoration: underline;
            text-decoration-style: dotted;
            text-decoration-thickness: 1px;
        }

        .contact-main a:hover {
            text-decoration-style: solid;
        }

        .map-link {
            margin-top: 10px;   /* 🔥 odstęp między adresem a przyciskiem */
            display: block;
            font-size: 13px;
            color: var(--muted);
        }

        /* FOOTER */

        footer {
            margin-top: 32px;
            padding-top: 16px;
            border-top: 1px solid rgba(255,255,255,0.08);
            font-size: 11px;
            color: var(--muted);
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            justify-content: space-between;
        }

        :root[data-theme="light"] footer {
            border-top-color: rgba(0,0,0,0.08);
        }

        footer a {
            color: var(--muted);
        }

    /* ==========PRZYCISK PRZEWIJANIA STRONY========== */

    .scroll-top {
        position: fixed;
        bottom: 28px;
        right: 28px;
        min-width: 64px;
        height: 34px;
        padding: 0 14px;
        border-radius: 999px; /* pałeczka jak inne przyciski */
        border: none;
        cursor: pointer;

        display: flex;
        align-items: center;
        justify-content: center;

        font-size: 18px;
        font-weight: 600;

        /* ten sam spokojniejszy CMY gradient co w .btn-primary */
        background: linear-gradient(
            135deg,
            var(--c-cyan) 0%,
            var(--c-cyan) 25%,
            var(--c-yellow) 45%,
            var(--c-magenta) 85%,
            var(--c-magenta) 100%
        );
        color: #000; /* baza pod light theme */
        box-shadow: var(--shadow-soft); /* neutralny cień, bez „aury” */

        opacity: 0;
        pointer-events: none;
        transform: translateY(8px);
        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            filter 0.25s ease;
    }

    /* Dark theme – jasny tekst */
    :root[data-theme="dark"] .scroll-top {
        color: #fff;
    }

    /* Hover – tylko rozjaśnienie, bez zewnętrznej poświaty */
    .scroll-top:hover {
        filter: brightness(1.12);
    }
.card-actions {
    margin-top: 16px;
}

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

.upload-hero {
    padding-bottom: 24px;
}

.upload-section {
    margin-top: 0;
}

.upload-form-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.16);
}

.upload-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
}

.upload-form.is-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    backdrop-filter: blur(2px);
    z-index: 2;
}

.upload-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

.upload-dropzone {
    border: 2px dashed var(--border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    background: linear-gradient(145deg, rgba(89, 103, 255, 0.08), rgba(255, 255, 255, 0.02));
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 180px;
}

.upload-dropzone.is-dragging {
    border-color: var(--primary);
    transform: translateY(-2px);
    background: linear-gradient(145deg, rgba(89, 103, 255, 0.14), rgba(255, 255, 255, 0.04));
}

.dropzone-lead {
    font-weight: 700;
    margin-bottom: 6px;
}

.dropzone-sub {
    color: var(--muted);
    font-size: 14px;
}

.file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.upload-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.form-field span {
    font-weight: 700;
    display: block;
    margin-bottom: 6px;
}

.form-field input,
.form-field textarea {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid var(--border-soft);
    background: var(--bg-softer);
    color: var(--text);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.04);
}

.form-field textarea {
    resize: vertical;
}

.form-field input:focus,
.form-field textarea:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(0, 160, 224, 0.18);
    background: var(--bg-softer);
}

.form-field.optional span::after {
    content: ' (opcjonalnie)';
    color: var(--muted);
    font-weight: 400;
}

[data-lang="en"] .form-field.optional span::after {
    content: ' (optional)';
}

.form-checkbox {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 15px;
}

.form-checkbox input {
    margin-top: 4px;
}

.upload-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}

.mobile-file-trigger {
    display: none;
}

.upload-helper {
    color: var(--muted);
    font-size: 13px;
}

.upload-file-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    color: var(--text);
}

.upload-selected-files {
    display: grid;
    gap: 8px;
}

.upload-selected-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--panel-alt);
}

.upload-selected-file-name {
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.4;
}

.upload-file-remove {
    flex: 0 0 auto;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: transparent;
    color: var(--text);
    padding: 5px 9px;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.upload-file-remove:hover,
.upload-file-remove:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
}

.form-message {
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--panel-alt);
    color: var(--text);
}

.form-message .copy-ticket {
    margin-top: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 14px;
}

.form-message.error {
    border-color: #ff7b8a;
    background: rgba(255, 123, 138, 0.16);
    color: #ffd6dc;
}

.form-message.success {
    border-color: #7ce0a3;
    background: rgba(124, 224, 163, 0.16);
    color: #d5ffe7;
}

.panel-notice-slot {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8px 0 12px;
}

.panel-notice-message {
    width: fit-content;
    max-width: min(100%, 760px);
    margin: 0 auto;
    text-align: center;
    opacity: 1;
    transition: opacity 0.18s ease;
}

.panel-notice-message.is-leaving {
    opacity: 0;
}

:root[data-theme="light"] .form-message.error {
    background: #fff2f4;
    border-color: #e3445f;
    color: #7c1225;
}

:root[data-theme="light"] .form-message.success {
    background: #eefaf1;
    border-color: #49b271;
    color: #11552c;
}


.upload-alert-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(0, 0, 0, 0.48);
    backdrop-filter: blur(3px);
    z-index: 90;
}

.upload-alert-modal.is-open {
    display: flex;
}

.upload-alert-modal-content {
    width: min(420px, 100%);
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--panel);
    color: var(--text);
    text-align: center;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.38);
}

.upload-alert-modal-content p {
    margin: 0 0 18px;
    font-weight: 700;
    line-height: 1.5;
}

.form-checkbox.needs-attention {
    outline: 2px solid var(--primary);
    outline-offset: 5px;
    border-radius: 8px;
}

.upload-progress {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(0, 0, 0, 0.08);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 120;
}

.upload-progress.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

body.upload-in-progress {
    overflow: hidden;
}

.upload-progress-dialog {
    width: min(300px, calc(100vw - 28px));
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel);
    color: var(--text);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.32);
}

.upload-progress-spinner {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,0.3);
    border-top-color: var(--accent);
    animation: spin 1s linear infinite;
}

.upload-progress-text {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.upload-progress-title {
    font-weight: 700;
}

.upload-progress-bar {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: var(--panel-alt);
    overflow: hidden;
    border: 1px solid var(--border);
}

.upload-progress-bar span {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(135deg, var(--c-cyan), var(--c-yellow), var(--c-magenta));
    transition: width 0.2s ease;
}

.upload-progress-detail {
    color: var(--muted);
    font-size: 13px;
}

@media (max-width: 420px) {
    .upload-progress {
        padding: 10px;
        background: rgba(0, 0, 0, 0.06);
    }

    .upload-progress-dialog {
        width: min(260px, calc(100vw - 24px));
        padding: 12px 14px;
        gap: 9px;
        border-radius: 11px;
    }

    .upload-progress-spinner {
        width: 26px;
        height: 26px;
        border-width: 3px;
    }

    .upload-progress-title {
        font-size: 14px;
    }

    .upload-progress-detail {
        font-size: 12px;
    }
}

.hp-field {
    position: absolute;
    left: -9999px;
}

.upload-admin-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.upload-admin-card {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel);
    padding: 0;
    overflow: hidden;
}

.upload-admin-card summary {
    list-style: none;
}

.upload-admin-card summary::-webkit-details-marker {
    display: none;
}

.upload-admin-summary {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 14px;
    cursor: pointer;
    background: var(--panel);
}

.upload-admin-summary:hover {
    background: var(--panel-alt);
}

.summary-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.summary-top {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: flex-start;
    gap: 12px;
}

.summary-left {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-width: 0;
}

.summary-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    white-space: nowrap;
    flex-shrink: 0;
}

.summary-right-line {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    white-space: nowrap;
}

.summary-right-status {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.summary-label {
    font-weight: 700;
    white-space: nowrap;
}

.summary-ticket {
    font-weight: 800;
    letter-spacing: 0.02em;
}

.summary-value {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.summary-notes .summary-value {
    white-space: normal;
}

.summary-notes {
    align-items: flex-start;
}

.upload-admin-content {
    padding: 0 16px 16px;
    border-top: 1px solid var(--border);
    margin-top: 4px;
}

.upload-admin-card:not([open]) .upload-admin-content {
    display: none;
}

.upload-admin-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.upload-admin-title {
    font-size: 17px;
    font-weight: 700;
}

.upload-admin-meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    color: var(--muted);
    font-size: 13px;
}

.upload-admin-meta .meta-label {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: var(--text);
}

.upload-admin-meta .meta-value {
    font-weight: 700;
}

.upload-admin-meta .badge {
    padding: 4px 8px;
    border-radius: 12px;
    border: 1px solid var(--border);
    font-size: 12px;
}

.upload-admin-body p {
    margin: 4px 0;
}

.upload-admin-files {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.file-item {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px 10px;
    background: var(--panel-alt);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.file-name {
    font-weight: 700;
    word-break: break-all;
}

.file-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.upload-card-footer {
    margin-top: 14px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.upload-card-footer-right {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-left: auto;
}

.ticket-actions {
    display: inline-flex;
    gap: 8px;
    margin: 0;
}

.btn-small {
    padding: 8px 12px;
    font-size: 14px;
}

.admin-shell .btn-small {
    padding: 5px 9px;
    font-size: 13px;
}

.ticket-filter-inputs .btn {
    padding: 5px 9px;
    min-height: 0;
    line-height: 1.2;
    font-size: 13px;
}

.upload-bottom-actions {
    margin-top: 14px;
    display: flex;
    justify-content: center;
}

.logout-form {
    margin: 0;
}

.ticket-controls {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 6px;
}

.login-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 32px 16px;
    background: radial-gradient(circle at 20% 20%, rgba(89, 103, 255, 0.12), transparent 30%),
                radial-gradient(circle at 80% 0%, rgba(74, 222, 222, 0.10), transparent 30%),
                var(--bg);
}

.login-shell header {
    max-width: 1080px;
    margin: 0 auto 12px;
    padding: 0 6px;
    gap: 12px;
    align-items: center;
}

.login-shell .brand-left {
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    gap: 10px;
}

.login-shell .header-right {
    gap: 10px;
}

.login-shell .header-right .header-pill {
    white-space: nowrap;
}

.login-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 26px;
    width: min(480px, 100%);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.20);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.login-brand {
    display: grid;
    grid-template-columns: 64px 1fr 64px;
    gap: 12px;
    align-items: center;
}

.login-brand img {
    width: 64px;
    height: auto;
}

.login-brand-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.login-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.login-actions {
    display: flex;
    justify-content: center;
}

.login-card h1,
.login-note {
    text-align: center;
}

.login-divider {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, rgba(0,160,224,0.6), rgba(230,0,126,0.5));
    margin: 8px 0 12px;
    border-radius: 999px;
}

.ticket-filter {
    margin: 12px 0 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 480px;
}

.ticket-filter label {
    font-weight: 700;
}

.ticket-filter-inputs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ticket-filter input[type="text"],
.ticket-filter input[type="search"] {
    flex: 1 1 180px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--panel);
    color: var(--text);
}

.ticket-filter input[type="text"]:focus,
.ticket-filter input[type="search"]:focus {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}


.ticket-view-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0 18px;
    flex-wrap: wrap;
}

.ticket-view-tab {
    min-width: 124px;
    justify-content: center;
}

.ticket-view-count {
    display: inline-flex;
    min-width: 24px;
    height: 24px;
    margin-left: 6px;
    padding: 0 7px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    font-size: 0.82em;
    line-height: 1;
}

.ticket-view-tab.btn-ghost .ticket-view-count {
    background: var(--panel-soft, rgba(127,127,127,0.12));
}

.ticket-view-panel[hidden],
.upload-admin-card[hidden],
.ticket-filter-empty[hidden],
.customer-admin-row[hidden],
.customer-filter-empty[hidden],
#ticket-controls[hidden] {
    display: none !important;
}

.customer-controls {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    max-width: 620px;
}
.customer-controls label,
.customer-admin-label {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--muted);
}
.customer-controls input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--panel);
    color: var(--text);
}
.customer-controls input:focus {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}
.customer-admin-list {
    display: grid;
    gap: 10px;
}
.customer-admin-row {
    display: grid;
    grid-template-columns: minmax(170px,1.2fr) minmax(190px,1.3fr) minmax(160px,1fr) minmax(230px,1.4fr);
    gap: 18px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel);
}
.customer-admin-contact,
.customer-admin-dates {
    display: grid;
    gap: 4px;
    min-width: 0;
    overflow-wrap: anywhere;
}
.customer-admin-name {
    min-width: 0;
    overflow-wrap: anywhere;
}
.customer-consent-ok {
    color: var(--accent);
    font-weight: 600;
}

@media (max-width: 900px) {
    .customer-admin-row {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 620px) {
    .customer-admin-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

@media (max-width: 720px) {
    .login-shell {
        align-items: flex-start;
        padding: 20px 12px;
    }

    .login-card {
        padding: 20px;
        width: 100%;
        border-radius: 14px;
    }

    .login-brand {
        grid-template-columns: 78px 1fr 78px;
        gap: 10px;
    }

    .login-card .brand-logo {
        width: 78px;
        height: 58px;
        padding: 5px 6px;
    }

    .theme-toggle-standalone {
        justify-content: center;
    }
}

@media (max-width: 520px) {
    .login-brand {
        grid-template-columns: 68px 1fr 68px;
        gap: 8px;
    }

    .login-card .brand-logo {
        width: 70px;
        height: 52px;
        padding: 4px 6px;
    }

    .login-brand-text .brand-text-main {
        font-size: 15px;
    }

    .login-brand-text .brand-text-sub {
        font-size: 13px;
    }
}

.back-home-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 700;
    color: var(--text);
    text-decoration: none;
    border: 1px solid var(--border);
    background: var(--panel-alt);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.back-home-link:hover,
.back-home-link:focus-visible {
    border-color: var(--primary);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    outline: none;
}

.privacy-section {
    margin-top: 32px;
}

.privacy-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(3px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    z-index: 50;
}

.privacy-modal.is-open {
    display: flex;
}

.privacy-modal-content {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 14px;
    max-width: 720px;
    width: min(720px, 100%);
    padding: 18px;
    color: var(--text);
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}

.privacy-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.privacy-modal-body p {
    margin: 8px 0;
}

.privacy-modal-body {
    overflow-y: auto;
    padding-right: 6px;
    max-height: 65vh;
}

.privacy-close {
    background: transparent;
    border: 1px solid var(--border-soft);
    color: var(--text);
    border-radius: 999px;
    width: 32px;
    height: 32px;
    cursor: pointer;
}

.contact-footer {
    margin-top: 32px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contact-footer-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.contact-footer-title {
    font-weight: 700;
    color: var(--text);
}

.copyright-row {
    font-size: 12px;
}

.attention-pulse {
    animation: pulse-cta 1.4s ease-in-out infinite;
    transform-origin: center;
    box-shadow: 0 0 0 rgba(84, 108, 255, 0.0);
}

.muted {
    color: var(--muted);
}

@media (max-width: 1024px) {
    .upload-grid {
        grid-template-columns: 1fr;
    }

    .upload-dropzone {
        display: none;
    }

    .mobile-file-trigger {
        display: inline-flex;
        align-self: flex-start;
    }

    .privacy-modal-body {
        max-height: 60vh;
    }

    .upload-actions {
        align-items: center;
        width: 100%;
    }

    .upload-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .form-message {
        font-size: 14px;
    }

    .form-message .copy-ticket {
        width: 100%;
        justify-content: center;
    }
}

@keyframes spin {
    from { transform: rotate(var(--rot, 0deg)); }
    to { transform: rotate(360deg); }
}

@keyframes pulse-cta {
    0% {
        filter: brightness(0.95);
        transform: scale(0.98);
        box-shadow: 0 0 0 rgba(84, 108, 255, 0.0);
    }
    50% {
        filter: brightness(1.2);
        transform: scale(1.04);
        box-shadow: 0 0 18px rgba(84, 108, 255, 0.35);
    }
    100% {
        filter: brightness(0.95);
        transform: scale(0.98);
        box-shadow: 0 0 0 rgba(84, 108, 255, 0.0);
    }
}

@media (max-width: 720px) {
    .upload-form-card {
        padding: 20px;
    }

    .upload-admin-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .upload-admin-files {
        grid-template-columns: 1fr;
    }

    .card-actions .btn {
        width: 100%;
    }
}

.theme-toggle-standalone {
    display: flex;
    justify-content: center;
    margin: 10px auto 4px;
}

.admin-shell header {
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-shell .brand-left {
    flex: 1 1 240px;
}

.admin-shell .header-right {
    flex: 1 1 240px;
    justify-content: flex-end;
}

.admin-shell .header-right .header-pill {
    text-align: center;
}

@media (max-width: 900px) and (orientation: landscape) {
    .login-shell .login-card {
        margin-left: auto;
        margin-right: auto;
    }

    .login-shell .login-card {
        align-items: center;
        text-align: center;
    }

    .login-shell .login-form {
        width: 100%;
    }
}

@media (orientation: landscape) and (max-width: 900px) {
    .brand-left {
        justify-content: center;
    }

    .theme-toggle-standalone {
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .admin-shell header {
        flex-direction: row;
    }

    .admin-shell .header-right {
        width: 100%;
        justify-content: flex-end;
        align-items: center;
        gap: 8px;
    }

    .admin-shell .logout-form {
        margin-left: auto;
    }

    .ticket-controls {
        align-items: center;
    }
    
}
.lang-alt {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

/* HOLIDAY TOP BANNER */
.holiday-top{
    width:100%;
    padding:14px 16px 8px;
}
.holiday-top .holiday-card{
    max-width: 450px;
    margin: 0 auto;
    position: relative;
    isolation: isolate;
}

/* NEW YEAR FIREWORKS (subtle particle bursts) */
.newyear-fireworks{
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    overflow: visible;
    mix-blend-mode: screen;
    filter: drop-shadow(0 0 8px rgba(255, 220, 170, .22));
}

.ny-burst{
    position:absolute;
    width:0;
    height:0;
    transform: translate(-50%, -50%);
}

.ny-flash{
    position:absolute;
    left:0;
    top:0;
    width:10px;
    height:10px;
    border-radius:999px;
    transform: translate(-50%, -50%) scale(.4);
    opacity:.0;
    filter: blur(.2px);
    animation: nyFlash 520ms ease-out forwards;
}

@keyframes nyFlash{
    0%{ opacity:0; transform: translate(-50%,-50%) scale(.35); }
    20%{ opacity:.55; transform: translate(-50%,-50%) scale(1.05); }
    100%{ opacity:0; transform: translate(-50%,-50%) scale(1.45); }
}

.ny-spark{
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:5px;
    border-radius:999px;
    transform: translate(-50%, -50%);
    opacity:0;
    box-shadow: 0 0 10px currentColor;
    animation: nySparkFly var(--dur, 900ms) ease-out var(--delay, 0ms) forwards;
    will-change: transform, opacity, filter;
    filter: blur(.0px);
}

.ny-spark::after{
    content:'';
    position:absolute;
    left:50%;
    top:50%;
    width:2px;
    height:12px;
    border-radius:999px;
    transform: translate(-50%,-50%) rotate(0deg);
    background: currentColor;
    opacity:.55;
    filter: blur(.35px);
}

@keyframes nySparkFly{
    0%{
        opacity:0;
        transform: translate(-50%,-50%) translate(0,0) scale(.65);
        filter: blur(.2px);
    }
    12%{
        opacity:.95;
    }
    60%{
        opacity:.85;
    }
    100%{
        opacity:0;
        transform: translate(-50%,-50%) translate(var(--dx), var(--dy)) scale(.95);
        filter: blur(.7px);
    }
}
.holiday-inner{
    border-radius: 18px;
    overflow: hidden;
    position: relative;
}
.holiday-img{
    width:100%;
    height:auto;
    display:block;
}
.holiday-logos{
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 12px;
    display:flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    pointer-events:none;
}
.holiday-logo{
    max-height: 48px;
    width:auto;
    filter: drop-shadow(0 6px 18px rgba(0,0,0,0.55));
}

/* =========================================================
   HOLIDAY LIGHTS – dekoracyjne lampki wokół kartki
   - kolory świąteczne
   - 4 strony (góra / dół / lewa / prawa)
   - blisko krawędzi obrazka, w jego otoczce
   ========================================================= */

/* Otoczka lampek */
.holiday-lights{
    position:absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border-radius: 22px;
    pointer-events:none;
    z-index: 3;
}

/* Kolory świąteczne */
:root{
    --bulb-red:   #e63946;
    --bulb-green: #2ecc71;
    --bulb-gold:  #ffd166;
    --bulb-blue:  #4dabf7;
}

.holiday-bulb{
    position:absolute;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    opacity: .30;
    animation: holidayTwinkle 3.6s ease-in-out infinite;
}
.holiday-bulb.red{
    background: var(--bulb-red);
    box-shadow: 0 0 10px rgba(230,57,70,.70);
}
.holiday-bulb.green{
    background: var(--bulb-green);
    box-shadow: 0 0 10px rgba(46,204,113,.70);
}
.holiday-bulb.gold{
    background: var(--bulb-gold);
    box-shadow: 0 0 10px rgba(255,209,102,.70);
}
.holiday-bulb.blue{
    background: var(--bulb-blue);
    box-shadow: 0 0 10px rgba(77,171,247,.70);
}

@keyframes holidayTwinkle{
    0%,100%{ opacity:.18; transform:scale(.90); }
    45%{ opacity:.70; transform:scale(1.10); }
    65%{ opacity:.32; transform:scale(1.00); }
}

/* ===== GÓRA ===== */
.holiday-bulb.b1{top:4px;left:6%;}
.holiday-bulb.b2{top:4px;left:18%;animation-delay:-1.1s;}
.holiday-bulb.b3{top:4px;left:30%;animation-delay:-2.4s;}
.holiday-bulb.b4{top:4px;left:42%;animation-delay:-0.6s;}
.holiday-bulb.b5{top:4px;left:54%;animation-delay:-1.9s;}
.holiday-bulb.b6{top:4px;left:66%;animation-delay:-3.0s;}
.holiday-bulb.b7{top:4px;left:78%;animation-delay:-1.5s;}
.holiday-bulb.b8{top:4px;left:90%;animation-delay:-2.7s;}

/* ===== DÓŁ ===== */
.holiday-bulb.b9{bottom:4px;left:8%;animation-delay:-2.1s;}
.holiday-bulb.b10{bottom:4px;left:22%;animation-delay:-0.9s;}
.holiday-bulb.b11{bottom:4px;left:36%;animation-delay:-3.3s;}
.holiday-bulb.b12{bottom:4px;left:50%;animation-delay:-1.8s;}
.holiday-bulb.b13{bottom:4px;left:64%;animation-delay:-2.6s;}
.holiday-bulb.b14{bottom:4px;left:78%;animation-delay:-0.4s;}
.holiday-bulb.b15{bottom:4px;left:90%;animation-delay:-1.2s;}

/* ===== LEWA ===== */
.holiday-bulb.b16{left:4px;top:12%;animation-delay:-2.9s;}
.holiday-bulb.b17{left:4px;top:28%;animation-delay:-1.3s;}
.holiday-bulb.b18{left:4px;top:44%;animation-delay:-2.1s;}
.holiday-bulb.b19{left:4px;top:60%;animation-delay:-0.8s;}
.holiday-bulb.b20{left:4px;top:76%;animation-delay:-1.9s;}

/* ===== PRAWA ===== */
.holiday-bulb.b21{right:4px;top:14%;animation-delay:-2.4s;}
.holiday-bulb.b22{right:4px;top:30%;animation-delay:-0.6s;}
.holiday-bulb.b23{right:4px;top:46%;animation-delay:-1.6s;}
.holiday-bulb.b24{right:4px;top:62%;animation-delay:-2.8s;}
.holiday-bulb.b25{right:4px;top:78%;animation-delay:-1.2s;}

/* Mobile sizing */
@media (max-width: 520px){
    .holiday-logo{ max-height: 34px; }
    .holiday-top{ padding:12px 12px 6px; }
    .holiday-lights{ top:-3px; left:-3px; right:-3px; bottom:-3px; }
    .holiday-bulb{ width: 7px; height: 7px; }
}


/* ROOT (/) – strona wyboru języka */
.root-home .page {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.root-home header,
.root-home .root-header {
    width: 100%;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.root-home .brand-left {
    justify-content: center;
}

.root-home .theme-toggle {
    justify-content: center;
}

.root-choice {
    width: 100%;
}

.root-choice-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.root-title {
    font-weight: 700;
    letter-spacing: 0.08em;
    font-size: 22px;
}

.root-subtitle {
    font-weight: 600;
    font-size: 16px;
    opacity: 0.95;
}

.root-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 6px;
}

/* Panel zleceń: własne potwierdzenie trwałego usunięcia */
.ticket-delete-modal {
    position: fixed;
    inset: 0;
    z-index: 220;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(2px);
}

.ticket-delete-modal.is-open {
    display: flex;
}

.ticket-delete-dialog {
    width: min(390px, 100%);
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--panel);
    color: var(--text);
    text-align: center;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.38);
}

.ticket-delete-dialog h2 {
    margin: 0 0 10px;
    font-size: 1.25rem;
}

.ticket-delete-dialog p {
    margin: 0;
    line-height: 1.5;
}

.ticket-delete-dialog .ticket-delete-number {
    display: block;
    margin-bottom: 8px;
    font-weight: 800;
}

.ticket-delete-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
}

@media (max-width: 520px) {
    .ticket-delete-dialog {
        width: min(330px, 100%);
        padding: 20px;
    }

    .ticket-delete-actions {
        flex-direction: column-reverse;
    }

    .ticket-delete-actions .btn {
        width: 100%;
    }
}

/* Panel zleceń: konflikty w książce klientów */
.customer-conflict-tab-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    font-weight: 800;
}

.customer-conflicts {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid rgba(245, 158, 11, 0.55);
    border-radius: 14px;
    background: rgba(245, 158, 11, 0.08);
}

.customer-conflicts-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.customer-conflicts-title span {
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.18);
    font-weight: 800;
}

.customer-conflict-row {
    margin-top: 12px;
    border: 1px solid rgba(245, 158, 11, 0.35);
    border-radius: 12px;
    background: var(--panel);
    overflow: hidden;
}

.customer-conflict-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
}

.customer-conflict-summary::-webkit-details-marker {
    display: none;
}

.customer-conflict-summary::after {
    content: '⌄';
    flex: 0 0 auto;
    font-size: 1.15rem;
    line-height: 1;
    color: var(--muted);
    transition: transform .18s ease;
}

.customer-conflict-row[open] > .customer-conflict-summary::after {
    transform: rotate(180deg);
}

.customer-conflict-summary-main,
.customer-conflict-summary-meta {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 10px;
}

.customer-conflict-summary-main {
    min-width: 0;
    flex: 1 1 auto;
}

.customer-conflict-summary-meta {
    flex: 0 1 auto;
    justify-content: flex-end;
}

.customer-conflict-summary-meta span,
.customer-conflict-preview {
    font-size: 0.88rem;
    opacity: 0.72;
}

.customer-conflict-preview {
    overflow-wrap: anywhere;
}

.customer-conflict-body {
    display: grid;
    gap: 8px;
    padding: 0 14px 14px;
    border-top: 1px solid rgba(245, 158, 11, 0.22);
}

.customer-conflict-body > div:not(.customer-conflict-actions) {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding-top: 10px;
}

/* v0.34 – narzędzia rozwiązywania konfliktów książki klientów */
.customer-conflict-actions {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(127, 127, 127, 0.22);
}

.customer-conflict-action-form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 8px;
}

.customer-conflict-target {
    display: grid;
    gap: 5px;
    min-width: min(320px, 100%);
    flex: 1 1 320px;
}

.customer-conflict-target span {
    font-size: 0.78rem;
    color: var(--muted);
}

.customer-conflict-target select {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--panel);
    color: var(--text);
    padding: 7px 10px;
}

.customer-conflict-help {
    margin: 8px 0 0;
    font-size: 0.78rem;
    color: var(--muted);
}

@media (max-width: 680px) {
    .customer-conflict-action-form {
        align-items: stretch;
    }

    .customer-conflict-action-form .btn,
    .customer-conflict-target {
        width: 100%;
    }
}

/* v0.36 – zarządzanie książką klientów */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.customer-bulk-form {
    display: grid;
    gap: 12px;
}

.customer-bulk-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel);
}

.customer-select-all,
.customer-row-select {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    cursor: pointer;
}

.customer-select-all input,
.customer-row-select input {
    width: 18px;
    height: 18px;
    accent-color: var(--accent);
    cursor: pointer;
}

.customer-selected-count {
    color: var(--muted);
    font-size: 0.86rem;
}

.customer-bulk-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-left: auto;
}

.customer-admin-row {
    grid-template-columns: 34px minmax(170px,1.2fr) minmax(190px,1.3fr) minmax(160px,1fr) minmax(230px,1.4fr);
}

.customer-admin-row.is-editing {
    border-color: rgba(46, 125, 50, .5);
    box-shadow: 0 0 0 2px rgba(46, 125, 50, .08);
}

.customer-display-value {
    display: grid;
    gap: 4px;
}

.customer-edit-field {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.customer-edit-field[hidden],
.customer-edit-actions[hidden],
.customer-display-value[hidden] {
    display: none !important;
}

.customer-edit-field input,
.customer-edit-field textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--panel);
    color: var(--text);
    padding: 8px 10px;
    font: inherit;
}

.customer-edit-field textarea {
    resize: vertical;
    line-height: 1.35;
}

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

.customer-edit-help {
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.35;
}

.customer-edit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.customer-row-select {
    min-height: 24px;
    align-self: start;
    padding-top: 1px;
}

@media (max-width: 900px) {
    .customer-admin-row {
        grid-template-columns: 34px 1fr 1fr;
    }
    .customer-admin-dates {
        grid-column: 2 / -1;
    }
}

@media (max-width: 620px) {
    .customer-bulk-actions {
        width: 100%;
        margin-left: 0;
    }
    .customer-bulk-actions .btn {
        flex: 1 1 180px;
    }
    .customer-admin-row {
        grid-template-columns: 30px 1fr;
    }
    .customer-admin-name,
    .customer-admin-contact,
    .customer-admin-dates {
        grid-column: 2;
    }
}

/* v0.39 — jawne tworzenie odrębnego klienta przy konflikcie */
.customer-conflict-separate {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(120, 120, 120, .28);
}
.customer-conflict-check {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 8px 0;
    cursor: pointer;
}
.customer-conflict-check input {
    margin-top: .2em;
}

/* v0.40 — rotacja zleceń, zlecenia cykliczne i wiadomości do klienta */
.ticket-operational-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(46, 125, 50, .28);
    border-radius: 12px;
    background: rgba(46, 125, 50, .045);
}

.ticket-recurring-form {
    margin: 0;
}

.ticket-recurring-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 600;
}

.ticket-recurring-label input {
    width: 18px;
    height: 18px;
}

.badge.recurring {
    margin-left: 8px;
    border-color: rgba(46, 125, 50, .45);
}

.badge.notified {
    margin-left: 0;
}

.retention-settings-card {
    max-width: 760px;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--panel, rgba(255,255,255,.04));
}

.retention-settings-card h2 {
    margin-top: 0;
}

.retention-settings-form {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.retention-settings-form > label {
    display: grid;
    gap: 7px;
    font-weight: 600;
}

.retention-input {
    display: flex;
    align-items: center;
    gap: 10px;
}

.retention-input input {
    width: 120px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface, transparent);
    color: inherit;
}

.completion-message-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0,0,0,.58);
}

.completion-message-modal.is-open {
    display: flex;
}

.completion-message-modal-content {
    width: min(680px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 24px;
    border-radius: 16px;
    background: var(--bg, #fff);
    border: 1px solid var(--border);
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.completion-message-modal-content h2 {
    margin-top: 0;
}

.completion-message-modal-content .form-field {
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
}

.completion-message-modal-content .form-field input,
.completion-message-modal-content .form-field textarea {
    width: 100%;
}

.completion-message-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.completion-sender-note {
    margin: 14px 0 0;
    font-size: .9rem;
}

@media (max-width: 720px) {
    .ticket-operational-tools {
        align-items: stretch;
        flex-direction: column;
    }
    .ticket-operational-tools .btn {
        width: 100%;
    }
}

/* v0.46 — czytelny status powiadomienia i blokada wielokrotnego wysyłania */
.badge.notified {
    display: inline-flex;
    align-items: center;
    margin-left: 0;
    padding: 4px 9px;
    border: 1px solid #9ccdab;
    border-radius: 999px;
    background: #f2f8f3;
    color: #2f8a4d;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
}

:root[data-theme="dark"] .badge.notified {
    border-color: #476f52;
    background: #1e2b22;
    color: #9dd7ad;
}

#completion-message-form[aria-busy="true"] button[type="submit"] {
    cursor: wait;
    opacity: .72;
}


/* v0.54 — podgląd wpisywanego hasła */
.password-input-wrap{
    position:relative;
    display:block;
    width:100%;
}
.password-input-wrap > input{
    width:100%;
    padding-right:44px !important;
}
.password-toggle{
    position:absolute;
    top:50%;
    right:7px;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:7px;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
}
.password-toggle:hover,
.password-toggle:focus-visible{
    background:rgba(127,127,127,.12);
    color:var(--text);
    outline:none;
}
.password-toggle svg{
    width:20px;
    height:20px;
    display:block;
}


/* v0.55 — trwałe ostrzeżenie o niewysłanym mailu początkowym */
.mail-failure-badges{
    gap:6px;
    flex-wrap:wrap;
}
.badge.mail-failed{
    display:inline-flex;
    align-items:center;
    padding:4px 9px;
    border:1px solid #e0ad7a;
    border-radius:999px;
    background:#fff6ed;
    color:#9a4f08;
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    white-space:nowrap;
}
.mail-status-alert{
    margin:0 0 16px;
    padding:11px 13px;
    border:1px solid #e0ad7a;
    border-radius:12px;
    background:#fff8f1;
    color:#6f3b0a;
    line-height:1.45;
}
:root[data-theme="dark"] .badge.mail-failed{
    border-color:#7d5a39;
    background:#34281d;
    color:#f0bc83;
}
:root[data-theme="dark"] .mail-status-alert{
    border-color:#705134;
    background:#2e251d;
    color:#efc392;
}

/* ======================================================================
   7minut.pl public front — v1.0.0-beta.2
   Evolution of the temporary 7minut.pl visual language: warm gradients,
   framed imagery, small cards and a quiet rhythm. Scoped to .seven-public.
   ====================================================================== */

.seven-public{
    --seven-cyan:#00a0e0;
    --seven-cyan-hot:#00c8ff;
    --seven-magenta:#e6007e;
    --seven-magenta-hot:#ff2aa6;
    --seven-yellow:#fff200;
    --seven-bg:#0c0e12;
    --seven-surface:#111523;
    --seven-surface-2:#171b28;
    --seven-text:#f6f7fb;
    --seven-text-soft:#e3e4eb;
    --seven-muted:#a5a9b8;
    --seven-line:rgba(255,255,255,.12);
    --seven-line-soft:rgba(255,255,255,.075);
    --seven-glass:rgba(16,19,29,.74);
    --seven-shadow:0 18px 42px rgba(0,0,0,.48);
    --seven-shadow-soft:0 10px 28px rgba(0,0,0,.28);
    margin:0;
    min-height:100vh;
    color:var(--seven-text);
    background:
        radial-gradient(900px 700px at -5% -2%,rgba(0,160,224,.24),transparent 62%),
        radial-gradient(900px 650px at 104% 2%,rgba(230,0,126,.20),transparent 65%),
        radial-gradient(700px 600px at 52% 44%,rgba(255,242,0,.035),transparent 70%),
        var(--seven-bg);
    background-attachment:fixed;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    text-rendering:optimizeLegibility;
}
:root[data-theme="light"] .seven-public{
    --seven-bg:#f5f6fa;
    --seven-surface:#fff;
    --seven-surface-2:#f2f4f9;
    --seven-text:#15161b;
    --seven-text-soft:#303340;
    --seven-muted:#6d7280;
    --seven-line:rgba(20,23,32,.13);
    --seven-line-soft:rgba(20,23,32,.075);
    --seven-glass:rgba(255,255,255,.78);
    --seven-shadow:0 18px 40px rgba(30,38,65,.13);
    --seven-shadow-soft:0 10px 25px rgba(30,38,65,.09);
    background:
        radial-gradient(900px 720px at -6% -2%,rgba(0,160,224,.18),transparent 62%),
        radial-gradient(900px 650px at 106% 0%,rgba(230,0,126,.12),transparent 64%),
        radial-gradient(760px 620px at 54% 43%,rgba(255,242,0,.12),transparent 72%),
        var(--seven-bg);
    background-attachment:fixed;
}
.seven-public *, .seven-public *::before,.seven-public *::after{box-sizing:border-box}
.seven-public a{color:inherit;text-decoration:none}
.seven-public button,.seven-public input,.seven-public textarea,.seven-public select{font:inherit}
.seven-public img{max-width:100%}
.seven-public ::selection{background:rgba(0,200,255,.3)}
.seven-skip{position:fixed;left:12px;top:-70px;z-index:1000;background:#fff;color:#111!important;padding:10px 14px;border-radius:0 0 10px 10px;transition:top .15s}
.seven-skip:focus{top:0}

.seven-page{width:min(1160px,calc(100% - 28px));margin:0 auto;padding:24px 0 42px}
.seven-header{display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:40}
.seven-brand-block{display:flex;align-items:center;gap:14px;min-width:0}
.seven-logo-frame{
    width:94px;height:66px;flex:0 0 94px;border-radius:20px;padding:6px 8px;overflow:hidden;
    display:flex;align-items:center;justify-content:center;background:
        radial-gradient(circle at 50% 0,rgba(255,242,0,.18),transparent 62%),#eef1f8;
    border:1px solid rgba(90,100,120,.18);box-shadow:var(--seven-shadow-soft);
    transition:transform .22s ease,box-shadow .22s ease;
}
.seven-brand-block:hover .seven-logo-frame:first-child{transform:translateY(-2px) rotate(-.5deg)}
.seven-logo-frame img{display:block;width:100%;height:100%;object-fit:contain}
.seven-logo-compaan img{width:145%;height:145%;max-width:none;object-fit:cover}
.seven-brand-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:180px}
.seven-brand-copy strong{font-size:15px;letter-spacing:.09em;font-weight:700}
.seven-brand-copy small{font-size:12px;color:var(--seven-muted);line-height:1.35}
.seven-header-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.seven-lang,.seven-theme,.seven-menu-toggle{
    min-height:38px;border:1px solid var(--seven-line);border-radius:999px;background:var(--seven-glass);
    color:var(--seven-text);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 12px;
    font-weight:720;font-size:12px;letter-spacing:.045em;cursor:pointer;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
    box-shadow:0 5px 18px rgba(0,0,0,.09);transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.seven-lang:hover,.seven-theme:hover,.seven-menu-toggle:hover{transform:translateY(-1px);border-color:rgba(0,160,224,.48)}
.seven-menu-toggle i{width:16px;height:10px;position:relative;display:block;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.seven-menu-toggle i::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:2px solid currentColor}
.seven-theme-label{font-weight:650}

.seven-nav{margin:18px 0 0;position:relative;z-index:35}
.seven-nav-inner{
    display:flex;align-items:center;gap:5px;min-height:52px;padding:6px;border:1px solid var(--seven-line-soft);border-radius:17px;
    background:var(--seven-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 28px rgba(0,0,0,.10)
}
.seven-nav a,.seven-nav-parent{border:0;background:transparent;color:var(--seven-text-soft);padding:10px 12px;border-radius:11px;font-size:13px;font-weight:680;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.seven-nav a:hover,.seven-nav-parent:hover{background:rgba(255,255,255,.055);color:var(--seven-text);transform:translateY(-1px)}
:root[data-theme="light"] .seven-nav a:hover,:root[data-theme="light"] .seven-nav-parent:hover{background:rgba(20,23,32,.055)}
.seven-nav-upload{margin-left:auto!important;background:linear-gradient(110deg,rgba(0,160,224,.18),rgba(230,0,126,.15))!important;border:1px solid rgba(0,160,224,.22)!important}
.seven-nav-group{position:relative}
.seven-nav-parent{display:flex;align-items:center;gap:7px}
.seven-nav-parent span{font-size:15px;line-height:1;transition:transform .18s ease}.seven-nav-group.is-open .seven-nav-parent span{transform:rotate(180deg)}
.seven-submenu{position:absolute;top:calc(100% + 9px);left:0;min-width:230px;padding:7px;display:none;border:1px solid var(--seven-line);border-radius:15px;background:var(--seven-surface);box-shadow:var(--seven-shadow);z-index:60}
.seven-nav-group.is-open .seven-submenu,.seven-nav-group:hover .seven-submenu{display:grid;gap:2px}
.seven-submenu a{white-space:normal}

.seven-public main{padding:0 2px}
.seven-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:52px;align-items:center;padding:72px 18px 68px;min-height:570px}
.seven-hero:not(.has-media){grid-template-columns:minmax(0,820px);min-height:420px;padding-top:88px;padding-bottom:78px}
.seven-hero-copy{min-width:0}
.seven-kicker,.seven-mini-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--seven-muted);font-weight:800;margin-bottom:10px}
.seven-hero-title{margin:0;font-size:clamp(46px,6.1vw,86px);line-height:.98;letter-spacing:-.055em;max-width:850px}
.seven-hero-title span,.seven-title.huge{
    background:linear-gradient(105deg,var(--seven-cyan-hot) 0%,var(--seven-cyan-hot) 27%,#5d8ee9 48%,var(--seven-magenta-hot) 83%,var(--seven-magenta-hot) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.seven-lead{font-size:clamp(18px,2vw,24px);line-height:1.52;color:var(--seven-text-soft);max-width:720px;margin-top:24px}
.seven-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.seven-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--seven-line);background:var(--seven-glass);color:var(--seven-text);font-size:13px;font-weight:760;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.seven-btn:hover{transform:translateY(-2px);border-color:rgba(0,160,224,.52);box-shadow:0 9px 25px rgba(0,0,0,.12)}
.seven-btn.primary{background:linear-gradient(120deg,rgba(0,160,224,.94),rgba(71,135,215,.95) 52%,rgba(230,0,126,.90));border-color:transparent;color:white;box-shadow:0 10px 28px rgba(0,160,224,.16)}
.seven-btn.small{min-height:38px;padding:8px 13px;font-size:12px}
.seven-photo-frame{position:relative;padding:14px;border-radius:28px;border:1px solid var(--seven-line);background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.025));box-shadow:var(--seven-shadow);isolation:isolate;transform:rotate(.65deg)}
:root[data-theme="light"] .seven-photo-frame{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,242,249,.88))}
.seven-photo-glow{position:absolute;inset:-30px;z-index:-1;background:radial-gradient(circle at 30% 25%,rgba(0,160,224,.22),transparent 48%),radial-gradient(circle at 75% 75%,rgba(230,0,126,.18),transparent 45%);filter:blur(24px)}
.seven-photo{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.seven-photo-mark{position:absolute;left:28px;bottom:26px;padding:7px 11px;border-radius:999px;background:rgba(7,10,16,.74);color:#f8f9fc;font-size:11px;font-weight:760;letter-spacing:.04em;backdrop-filter:blur(10px)}

.seven-section{position:relative;padding:58px 18px 66px;border-top:1px solid var(--seven-line-soft)}
.seven-section::before{content:"";position:absolute;width:90px;height:1px;left:18px;top:-1px;background:linear-gradient(90deg,var(--seven-cyan),var(--seven-magenta),transparent)}
.seven-section.compact{padding-top:30px}
.seven-title{font-size:clamp(31px,4.4vw,56px);line-height:1.03;letter-spacing:-.04em;margin:0;max-width:930px}
.seven-copy{font-size:clamp(16px,1.8vw,20px);line-height:1.65;color:var(--seven-text-soft);max-width:850px;margin-top:18px}
/* 5.04: link w treści ma być częścią tekstu; ujawnia się ruchem, nie „żarówką”. */
.seven-public .seven-copy a,.seven-public .seven-article-body a,.seven-public .seven-lead a{
    color:color-mix(in srgb,var(--seven-text) 82%,var(--seven-cyan) 18%);
    font-weight:inherit;text-decoration:none;display:inline-block;
    transform:translate(0,0) scale(1);transform-origin:center;scale:1;translate:0 0;
    animation:sevenContentLinkOrbit 8s ease-in-out infinite;
    transition:color .24s ease,scale .34s cubic-bezier(.22,.61,.36,1),translate .34s cubic-bezier(.22,.61,.36,1);
    will-change:transform,scale,translate;
}
.seven-public .seven-copy a:nth-of-type(3n+2),.seven-public .seven-article-body a:nth-of-type(3n+2),.seven-public .seven-lead a:nth-of-type(3n+2){animation-delay:-2.6s}
.seven-public .seven-copy a:nth-of-type(3n),.seven-public .seven-article-body a:nth-of-type(3n),.seven-public .seven-lead a:nth-of-type(3n){animation-delay:-5.2s}
.seven-public .seven-copy a:hover,.seven-public .seven-article-body a:hover,.seven-public .seven-lead a:hover{color:var(--seven-text);animation:none;scale:1.075;translate:0 -1px}
.seven-public .seven-copy a:focus-visible,.seven-public .seven-article-body a:focus-visible,.seven-public .seven-lead a:focus-visible{outline:2px solid var(--seven-cyan);outline-offset:3px;border-radius:3px;animation:none}
@keyframes sevenContentLinkOrbit{0%{transform:translate(0,0) scale(1)}25%{transform:translate(1.5px,-1px) scale(1)}50%{transform:translate(0,0) scale(1)}75%{transform:translate(-1.5px,1px) scale(1)}100%{transform:translate(0,0) scale(1)}}
@media (prefers-reduced-motion:reduce){.seven-public .seven-copy a,.seven-public .seven-article-body a,.seven-public .seven-lead a{animation:none!important;transition:color .15s ease!important}.seven-public .seven-copy a:hover,.seven-public .seven-article-body a:hover,.seven-public .seven-lead a:hover{scale:1;translate:0 0}}
.seven-section-action{margin-top:24px}
.seven-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}
.seven-card-grid-auto{grid-template-columns:repeat(3,minmax(0,1fr))}
.seven-card{min-height:150px;border:1px solid var(--seven-line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));padding:20px 21px;box-shadow:0 9px 25px rgba(0,0,0,.08);transition:transform .22s ease,border-color .22s ease,background .22s ease}
:root[data-theme="light"] .seven-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(246,247,251,.85))}
.seven-card:hover{transform:translateY(-3px);border-color:rgba(0,160,224,.33)}
.seven-card h3{font-size:19px;margin:0 0 9px;letter-spacing:-.02em}
.seven-card p{margin:0;color:var(--seven-text-soft);line-height:1.56;font-size:15px}
.seven-card-index{display:block;font-size:11px;color:var(--seven-muted);font-weight:800;letter-spacing:.1em;margin-bottom:18px}
.seven-card-soft:nth-child(3n+2){transform:translateY(8px)}.seven-card-soft:nth-child(3n+2):hover{transform:translateY(5px)}
.seven-section-text,.seven-section-text_media,.seven-section-cta{max-width:980px;margin-left:auto;margin-right:auto}
.seven-section-text .seven-copy,.seven-section-cta .seven-copy{max-width:820px}
.seven-section-cta{margin-top:20px;margin-bottom:20px;padding:34px 36px;border:1px solid var(--seven-line);border-radius:24px;background:linear-gradient(125deg,rgba(0,160,224,.09),rgba(230,0,126,.075))}
.seven-section-cta::before{display:none}
.seven-inline-media{margin-top:28px;padding:10px;border:1px solid var(--seven-line);border-radius:22px;background:rgba(255,255,255,.035)}
.seven-inline-media img{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:16px}

.seven-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.seven-article-card{display:block;min-height:250px;padding:18px;border:1px solid var(--seven-line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));transition:transform .22s ease,border-color .22s ease;overflow:hidden}
:root[data-theme="light"] .seven-article-card{background:rgba(255,255,255,.82)}
.seven-article-card:hover{transform:translateY(-4px);border-color:rgba(230,0,126,.35)}
.seven-article-card img{width:calc(100% + 36px);max-width:none;height:175px;object-fit:cover;margin:-18px -18px 18px;border-bottom:1px solid var(--seven-line-soft)}
.seven-article-card h2,.seven-article-card h3{font-size:21px;line-height:1.15;letter-spacing:-.025em;margin:0 0 10px}
.seven-article-card p{color:var(--seven-muted);line-height:1.52;margin:0 0 18px;font-size:14px}
.seven-card-link{display:inline-flex;margin-top:auto;font-size:12px;font-weight:800;color:var(--seven-text-soft)}
.seven-news-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.seven-news-card{padding:17px 18px;border:1px solid var(--seven-line);border-radius:18px;background:rgba(255,255,255,.035);min-height:160px;transition:transform .2s ease,border-color .2s ease}
.seven-news-card:hover{transform:translateY(-3px);border-color:rgba(0,160,224,.34)}
.seven-news-card h3{font-size:18px;line-height:1.17;margin:0 0 8px}.seven-news-card p{margin:0;color:var(--seven-muted);font-size:13px;line-height:1.48}

.seven-contact-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:16px;margin-top:28px}
.seven-contact-card,.seven-map{border:1px solid var(--seven-line);border-radius:22px;background:rgba(255,255,255,.035);overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.07)}
:root[data-theme="light"] .seven-contact-card,:root[data-theme="light"] .seven-map{background:rgba(255,255,255,.82)}
.seven-contact-card{padding:22px;display:grid;gap:16px;align-content:start}
.seven-contact-card>div{display:grid;gap:3px}.seven-contact-card span{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--seven-muted);font-weight:500}.seven-contact-card strong,.seven-contact-card a{font-size:15px;line-height:1.45;font-weight:400}
.seven-contact-card a:hover{color:var(--seven-cyan-hot)}
.seven-map iframe{display:block;width:100%;height:100%;min-height:360px;border:0;filter:saturate(.9)}

.seven-page-head{padding:82px 18px 44px;max-width:1010px}.seven-page-head .seven-copy{max-width:760px}
.seven-title.huge{font-size:clamp(46px,7vw,88px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:1050px}
.seven-article{max-width:900px;margin:0 auto;padding:82px 18px 80px}
.seven-article-lead{font-size:clamp(19px,2.3vw,26px);line-height:1.5;color:var(--seven-text-soft);margin:24px 0 0;max-width:760px}
.seven-article-image{margin:36px 0;padding:10px;border:1px solid var(--seven-line);border-radius:24px}.seven-article-image img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:17px}
.seven-article-body{margin-top:42px;font-size:18px;line-height:1.72;color:var(--seven-text-soft);max-width:780px}
.seven-article-body h2{color:var(--seven-text);font-size:28px;line-height:1.18;letter-spacing:-.025em;margin:42px 0 14px}.seven-article-body p{margin:0 0 20px}
.seven-back{display:inline-flex;margin-top:35px;padding:9px 13px;border-radius:999px;border:1px solid var(--seven-line);font-size:13px;font-weight:730}
.seven-news-list{display:grid;gap:10px}.seven-news-wide{display:grid;grid-template-columns:100px minmax(0,1fr) 28px;gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--seven-line);border-radius:18px;background:rgba(255,255,255,.03);transition:transform .18s,border-color .18s}
.seven-news-wide:hover{transform:translateX(4px);border-color:rgba(0,160,224,.33)}.seven-news-wide>span{font-size:11px;color:var(--seven-muted);font-weight:800;letter-spacing:.07em}.seven-news-wide h2{font-size:20px;margin:0 0 4px}.seven-news-wide p{margin:0;color:var(--seven-muted);line-height:1.45;font-size:14px}.seven-news-wide b{font-size:21px;font-weight:400}
.seven-state{min-height:540px;padding:100px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:760px}.seven-state-code{font-size:12px;letter-spacing:.15em;color:var(--seven-muted);font-weight:800}.seven-state h1{font-size:clamp(42px,7vw,76px);letter-spacing:-.05em;line-height:1;margin:10px 0 18px}.seven-state p{font-size:18px;line-height:1.6;color:var(--seven-text-soft);max-width:630px;margin:0 0 24px}


@media (max-width:980px){
    .seven-page{width:min(100% - 22px,1160px)}
    .seven-brand-copy{display:none}.seven-logo-frame{width:82px;height:58px;flex-basis:82px;border-radius:17px}
    .seven-nav-inner{overflow-x:auto;scrollbar-width:none}.seven-nav-inner::-webkit-scrollbar{display:none}
    .seven-hero{grid-template-columns:1fr 380px;gap:30px;padding-left:10px;padding-right:10px}.seven-hero-title{font-size:clamp(44px,7vw,68px)}
    .seven-card-grid-auto{grid-template-columns:repeat(2,minmax(0,1fr))}.seven-article-grid,.seven-news-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
    .seven-page{width:calc(100% - 18px);padding-top:10px;padding-bottom:20px}
    .seven-header{align-items:flex-start}.seven-brand-block{gap:7px}.seven-logo-frame{width:62px;height:48px;flex-basis:62px;border-radius:14px;padding:5px}.seven-logo-frame.seven-logo-compaan{display:none}
    .seven-header-tools{gap:5px}.seven-theme-label{display:none}.seven-lang,.seven-theme,.seven-menu-toggle{min-height:36px;padding:6px 10px}.seven-menu-toggle span{display:none}
    .seven-nav{margin-top:10px;display:none}.seven-nav.is-open{display:block}.seven-nav-inner{display:grid;gap:3px;padding:7px;overflow:visible}.seven-nav a,.seven-nav-parent{width:100%;justify-content:space-between;text-align:left;padding:10px}.seven-nav-upload{margin-left:0!important;text-align:center!important}.seven-submenu{position:static;min-width:0;margin:2px 4px 7px;box-shadow:none;background:rgba(255,255,255,.03)}.seven-nav-group:hover .seven-submenu{display:none}.seven-nav-group.is-open .seven-submenu{display:grid}
    .seven-hero,.seven-hero:not(.has-media){grid-template-columns:1fr;min-height:0;padding:54px 8px 48px;gap:32px}.seven-hero-title{font-size:clamp(41px,12vw,58px);line-height:1}.seven-lead{font-size:18px;line-height:1.55;margin-top:18px}.seven-actions{margin-top:22px}
    .seven-photo-frame{width:min(100%,480px);margin:0 auto;padding:10px;border-radius:23px;transform:none}.seven-photo{border-radius:16px}.seven-photo-mark{left:20px;bottom:19px}
    .seven-section{padding:44px 8px 50px}.seven-section::before{left:8px}.seven-title{font-size:34px}.seven-copy{font-size:17px;margin-top:15px}.seven-card-grid,.seven-card-grid-auto,.seven-article-grid,.seven-news-row{grid-template-columns:1fr;gap:10px}.seven-card{min-height:0;padding:18px}.seven-card-soft:nth-child(3n+2),.seven-card-soft:nth-child(3n+2):hover{transform:none}.seven-section-cta{padding:26px 22px;border-radius:20px}
    .seven-contact-grid{grid-template-columns:1fr}.seven-map iframe{min-height:300px}.seven-page-head{padding:58px 8px 26px}.seven-title.huge{font-size:47px}.seven-article{padding:58px 8px}.seven-article-lead{font-size:19px}.seven-article-body{font-size:17px}.seven-article-body h2{font-size:25px}.seven-news-wide{grid-template-columns:72px 1fr 20px;gap:10px;padding:15px}.seven-news-wide p{display:none}
}
@media (max-width:430px){.seven-article-card{min-height:0}.seven-news-wide{grid-template-columns:1fr 20px}.seven-news-wide>span{grid-column:1/-1}.seven-state{min-height:440px;padding:70px 8px}.seven-state h1{font-size:48px}}

/* ======================================================================
   7minut.pl public front — v1.0.0-beta.3.4
   „Nowa strona w starej skórze”: zachowany rytm i ciepło strony tymczasowej,
   nowa architektura pod spodem. Public front only.
   ====================================================================== */

.seven-public{
    --seven-cyan:#00A0E0;
    --seven-cyan-hot:#00c8ff;
    --seven-magenta:#E6007E;
    --seven-magenta-hot:#ff2aa6;
    --seven-bg:#0C0E12;
    --seven-surface:#111523;
    --seven-surface-2:#191C27;
    --seven-text:#F6F7FB;
    --seven-text-soft:#E3E4EB;
    --seven-muted:#9DA1B2;
    --seven-line:rgba(255,255,255,.14);
    --seven-line-soft:rgba(255,255,255,.08);
    --seven-glass:rgba(17,21,35,.86);
    --seven-shadow:0 18px 40px rgba(0,0,0,.70);
    --seven-shadow-soft:0 12px 30px rgba(0,0,0,.55);

    /* Tło NIE jest definiowane tutaj. Body korzysta bezpośrednio z oryginalnych reguł 7minut.pl powyżej. */
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

:root[data-theme="light"] .seven-public{
    --seven-bg:#F5F6FA;
    --seven-surface:#FFFFFF;
    --seven-surface-2:#EDF0F7;
    --seven-text:#13141A;
    --seven-text-soft:#2E3140;
    --seven-muted:#6E7282;
    --seven-line:rgba(0,0,0,.12);
    --seven-line-soft:rgba(0,0,0,.08);
    --seven-glass:rgba(255,255,255,.90);
    --seven-shadow:0 16px 30px rgba(0,0,0,.12);
    --seven-shadow-soft:0 10px 20px rgba(0,0,0,.08);
    /* Bez własnej warstwy tła — obowiązuje oryginalne :root[data-theme="light"] body. */
}

/* Szerokość i marginesy strony odpowiadają staremu home. */
.seven-public .seven-page{
    width:auto;
    max-width:1120px;
    margin:0 auto;
    padding:32px 24px 56px;
}

/* ----------------------------------------------------------------------
   GÓRA: blok 7MINUT / adres / COMPAAN zachowany 1:1 z poprzedniej strony.
   ---------------------------------------------------------------------- */
.seven-public .seven-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    position:relative;
    z-index:80;
}
.seven-public .brand-left{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.seven-public .seven-home-logo{
    color:inherit;
    text-decoration:none;
}
.seven-public .seven-home-logo:hover,
.seven-public .seven-home-logo:focus-visible{
    color:inherit;
    text-decoration:none;
}
.seven-public .brand-logo{
    width:96px;
    height:68px;
    flex:0 0 96px;
    border-radius:20px;
    padding:6px 8px;
    background:
        radial-gradient(circle at top, rgba(255,242,0,0.18), transparent 60%),
        #eef1f8;
    border:1px solid var(--seven-line-soft);
    box-shadow:var(--seven-shadow-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
/* Dokładnie ten sam jasny wariant ramek jak w oryginalnym 7minut.pl. */
:root[data-theme="light"] .seven-public .brand-logo{
    background:
        radial-gradient(circle at top, rgba(255,242,0,0.16), transparent 60%),
        #eef1f8;
}
.seven-public .brand-logo img{display:block}
.seven-public .brand-left .brand-logo:first-child img{
    width:100%;height:100%;object-fit:contain;object-position:center;
}
.seven-public .brand-left .brand-logo:last-child img{
    width:150%;height:150%;max-width:none;object-fit:cover;object-position:center;
}
.seven-public .brand-text-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:2px;
    flex:1 1 auto;
    min-width:0;
}
.seven-public .brand-text-main{
    font-size:16px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.seven-public .brand-text-sub{
    font-size:13px;
    line-height:1.35;
    color:var(--seven-muted);
}

/* Narzędzia po prawej są nowe, ale wizualnie pozostają w języku starego headera. */
.seven-public .seven-header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.seven-public .seven-lang,
.seven-public .seven-theme,
.seven-public .seven-menu-toggle{
    min-height:0;
    border:1px solid var(--seven-line-soft);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(0,160,224,.14),rgba(230,0,126,.08));
    color:var(--seven-text);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    transition:transform .18s ease,border-color .18s ease,filter .18s ease;
}
.seven-public .seven-lang{
    padding:6px 14px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
}
.seven-public .seven-theme{padding:4px 8px;gap:6px;font-size:11px}
.seven-public .seven-theme-emoji{font-size:13px;line-height:1}
.seven-public .seven-theme-switch{
    width:34px;height:18px;border-radius:999px;background:var(--seven-surface-2);
    border:1px solid var(--seven-line-soft);position:relative;overflow:hidden;display:block;
}
.seven-public .seven-theme-switch i{
    position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;
    background:linear-gradient(135deg,var(--seven-cyan),var(--seven-magenta));
    box-shadow:0 0 10px rgba(0,160,224,.55);transition:transform .18s ease-out;
}
:root[data-theme="light"] .seven-public .seven-theme-switch i{transform:translateX(14px)}
.seven-public .seven-menu-toggle{padding:6px 14px;font-size:12px;font-weight:700;letter-spacing:.04em}
.seven-public .seven-menu-toggle i{width:14px;height:9px}
.seven-public .seven-lang:hover,
.seven-public .seven-theme:hover,
.seven-public .seven-menu-toggle:hover{transform:none;filter:brightness(1.08);border-color:rgba(0,160,224,.34)}

/* Menu jest dyskretne: na starej stronie go nie było, więc dopiero je odkrywasz. */
.seven-public .seven-nav{position:relative;margin:0;z-index:70;display:block}
.seven-public .seven-nav-inner{
    position:absolute;
    right:0;
    top:8px;
    width:min(390px,calc(100vw - 48px));
    min-height:0;
    padding:8px;
    display:none;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
    gap:4px;
    border:1px solid var(--seven-line);
    border-radius:16px;
    background:var(--seven-glass);
    box-shadow:var(--seven-shadow);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.seven-public .seven-nav.is-open .seven-nav-inner{display:grid}
.seven-public .seven-nav a,
.seven-public .seven-nav-parent{
    width:100%;
    padding:10px 11px;
    border-radius:10px;
    color:var(--seven-text-soft);
    font-size:13px;
    font-weight:650;
    text-align:left;
    transform:none;
}
.seven-public .seven-nav a:hover,
.seven-public .seven-nav-parent:hover{background:rgba(255,255,255,.06);color:var(--seven-text);transform:none}
:root[data-theme="light"] .seven-public .seven-nav a:hover,
:root[data-theme="light"] .seven-public .seven-nav-parent:hover{background:rgba(0,0,0,.045)}
.seven-public .seven-nav-upload{margin-left:0!important;background:linear-gradient(110deg,rgba(0,160,224,.14),rgba(230,0,126,.12))!important;border:1px solid rgba(0,160,224,.18)!important;text-align:center!important}
.seven-public .seven-nav-group{position:relative}
.seven-public .seven-submenu{
    position:static;
    min-width:0;
    margin:3px 0 0 8px;
    padding:4px;
    display:none;
    border:0;
    border-left:1px solid var(--seven-line-soft);
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.seven-public .seven-nav-group.is-open .seven-submenu,
.seven-public .seven-nav-group:hover .seven-submenu{display:grid;gap:2px}
.seven-public .seven-submenu a{font-size:12px;padding:8px 9px}

/* ----------------------------------------------------------------------
   HOME: proporcje, typografia i zdjęcie wracają do spokojniejszego 7minut.
   ---------------------------------------------------------------------- */
.seven-public main{padding:0}
.seven-public .seven-hero,
.seven-public .seven-hero:not(.has-media){
    margin-top:56px;
    padding:0;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
    gap:32px;
    align-items:center;
}
.seven-public .seven-hero:not(.has-media){grid-template-columns:minmax(0,760px)}
.seven-public .seven-kicker,
.seven-public .seven-mini-kicker{
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--seven-muted);
    font-weight:600;
    margin-bottom:10px;
}
.seven-public .seven-hero-title{
    font-size:clamp(32px,4vw,40px);
    line-height:1.1;
    letter-spacing:0;
    margin:0 0 16px;
    max-width:760px;
}
.seven-public .seven-hero-title span,
.seven-public .seven-title.huge{
    background:linear-gradient(135deg,var(--seven-cyan-hot) 0%,var(--seven-cyan-hot) 30%,#7b69d9 58%,var(--seven-magenta-hot) 88%,var(--seven-magenta-hot) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.seven-public .seven-lead{
    font-size:16px;
    line-height:1.6;
    color:var(--seven-muted);
    max-width:560px;
    margin:0 0 20px;
}
.seven-public .seven-lead p{margin:0 0 12px}
.seven-public .seven-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.seven-public .seven-btn{
    min-height:0;
    border-radius:999px;
    padding:10px 18px;
    font-size:14px;
    font-weight:500;
    box-shadow:var(--seven-shadow-soft);
}
.seven-public .seven-btn.primary{
    background:linear-gradient(135deg,var(--seven-cyan) 0%,#508bd2 53%,var(--seven-magenta) 100%);
    border-color:transparent;
    color:#fff;
    box-shadow:var(--seven-shadow-soft);
}
.seven-public .seven-btn:hover{transform:none;filter:brightness(1.1);box-shadow:var(--seven-shadow-soft)}

.seven-public .seven-photo-frame{
    position:relative;
    padding:14px;
    border-radius:24px;
    border:1px solid var(--seven-line-soft);
    background:
        radial-gradient(circle at top left,rgba(0,160,224,.20),transparent 60%),
        radial-gradient(circle at top right,rgba(230,0,126,.16),transparent 60%),
        #05070b;
    box-shadow:var(--seven-shadow);
    transform:none;
    overflow:hidden;
}
:root[data-theme="light"] .seven-public .seven-photo-frame{
    background:
        radial-gradient(circle at top left,rgba(0,160,224,.12),transparent 60%),
        radial-gradient(circle at top right,rgba(230,0,126,.10),transparent 60%),
        #fff;
}
.seven-public .seven-photo-glow{display:none}
.seven-public .seven-photo{
    display:block;
    width:100%;
    height:260px;
    aspect-ratio:auto;
    object-fit:cover;
    border-radius:18px;
    box-shadow:none;
    transform:scale(1.02);
}
.seven-public .seven-photo-mark{
    left:auto;
    right:18px;
    bottom:18px;
    max-width:220px;
    padding:10px 12px;
    border-radius:16px;
    background:rgba(15,17,21,.90);
    border:1px solid rgba(255,255,255,.12);
    color:#d8dbe3;
    font-size:11px;
    font-weight:600;
    letter-spacing:0;
}

/* Sekcje: małe kafle i ukochana kreska, która zaczyna się wyraźnie i znika. */
.seven-public .seven-section{
    position:relative;
    margin-top:40px;
    padding:24px 0 0;
    border-top:1px solid var(--seven-line-soft);
}
.seven-public .seven-section::before{
    content:"";
    position:absolute;
    left:0;
    top:-1px;
    width:310px;
    height:1px;
    background:linear-gradient(90deg,var(--seven-cyan) 0%,var(--seven-cyan) 18%,var(--seven-magenta) 62%,rgba(230,0,126,.56) 84%,transparent 100%);
}
.seven-public .seven-section.compact{padding-top:24px}
.seven-public .seven-title{
    font-size:22px;
    line-height:1.2;
    letter-spacing:0;
    margin:0 0 10px;
    max-width:820px;
}
.seven-public .seven-copy{
    font-size:14px;
    line-height:1.65;
    color:var(--seven-muted);
    max-width:720px;
    margin-top:0;
}
.seven-public .seven-copy p{margin:0 0 12px}
.seven-public .seven-section-action{margin-top:16px}

.seven-public .seven-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.seven-public .seven-card-grid-auto{grid-template-columns:repeat(3,minmax(0,1fr))}
.seven-public .seven-card{
    min-height:0;
    border:1px solid var(--seven-line-soft);
    border-radius:18px;
    background:var(--seven-surface);
    padding:14px 16px;
    box-shadow:none;
    transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
:root[data-theme="light"] .seven-public .seven-card{background:#fff}
.seven-public .seven-card:hover{transform:translateY(-2px);border-color:rgba(0,160,224,.27)}
.seven-public .seven-card-soft:nth-child(3n+2),
.seven-public .seven-card-soft:nth-child(3n+2):hover{transform:none}
.seven-public .seven-card h3{font-size:15px;margin:0 0 7px;letter-spacing:0}
.seven-public .seven-card p{font-size:13px;line-height:1.55;color:var(--seven-muted)}
.seven-public .seven-card-index{font-size:10px;color:var(--seven-muted);font-weight:700;letter-spacing:.11em;margin-bottom:9px}

.seven-public .seven-section-text,
.seven-public .seven-section-text_media,
.seven-public .seven-section-cta{max-width:none;margin-left:0;margin-right:0}
.seven-public .seven-section-cta{
    margin-top:40px;
    margin-bottom:0;
    padding:24px 0 0;
    border:0;
    border-top:1px solid var(--seven-line-soft);
    border-radius:0;
    background:transparent;
}
.seven-public .seven-section-cta::before{display:block}
.seven-public .seven-inline-media{margin-top:20px;padding:10px;border:1px solid var(--seven-line-soft);border-radius:20px;background:var(--seven-surface)}
.seven-public .seven-inline-media img{border-radius:14px}

.seven-public .seven-article-grid,
.seven-public .seven-news-row{gap:14px;margin-top:20px}
.seven-public .seven-article-card,
.seven-public .seven-news-card,
.seven-public .seven-news-wide,
.seven-public .seven-contact-card,
.seven-public .seven-map{
    border-color:var(--seven-line-soft);
    background:var(--seven-surface);
    box-shadow:none;
}
:root[data-theme="light"] .seven-public .seven-article-card,
:root[data-theme="light"] .seven-public .seven-contact-card,
:root[data-theme="light"] .seven-public .seven-map{background:#fff}

/* Kontakt: mapa ma być częścią strony, nie opcjonalnym dodatkiem. */
.seven-public .seven-contact-grid{margin-top:20px;gap:18px}
.seven-public .seven-contact-card,.seven-public .seven-map{border-radius:18px}
.seven-public .seven-map iframe{min-height:360px;filter:none}


/* Faza 5.01: właściwa stopka 7minut.pl to istniejący układ kontakt + mapa. */
.seven-public .seven-contact-card{gap:15px}
.seven-public .seven-contact-card>div:not(.seven-footer-company){padding-top:1px}
.seven-public .seven-contact-card>div:not(.seven-footer-company)>span{
    font-size:12px;
    letter-spacing:.16em;
    font-weight:400;
}
.seven-public .seven-contact-card strong,
.seven-public .seven-contact-card a{font-size:15px;font-weight:400;color:var(--seven-text-soft)}
.seven-public .seven-contact-card a{text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--seven-muted) 55%,transparent)}
.seven-public .seven-contact-card a:hover{color:var(--seven-text);text-decoration-style:solid}

.seven-public .seven-footer-company{
    gap:8px;
    padding-bottom:16px;
    margin-bottom:1px;
    border-bottom:1px solid var(--seven-line-soft);
}
.seven-public .seven-footer-company-name{margin:0;font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.015em;color:var(--seven-text)}
.seven-public .seven-footer-company-copy{margin:0;max-width:440px;font-size:13px;line-height:1.5;font-weight:400;color:var(--seven-muted)}
.seven-public .seven-footer-brands{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.seven-public .seven-footer-brand{
    width:96px;height:68px;display:flex;align-items:center;justify-content:center;
    border:1px solid var(--seven-line-soft);border-radius:16px;background:#fff;
    overflow:hidden;text-decoration:none!important;
}
.seven-public .seven-footer-brand-logo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-transform:none;letter-spacing:0}
.seven-public .seven-footer-brand-logo img{display:block;max-width:82%;max-height:50px;width:auto;height:auto;object-fit:contain;transform:scale(var(--brand-scale,1));transform-origin:center}

.seven-public .seven-footer-partners{
    margin-top:20px;padding-top:17px;border-top:1px solid var(--seven-line-soft);
}
.seven-public .seven-footer-partners-title{font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.15em;font-weight:400;color:var(--seven-muted);margin-bottom:11px}
.seven-public .seven-footer-partners-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.seven-public .seven-footer-partner{
    flex:0 0 108px;width:108px;height:62px;padding:8px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--seven-line-soft);border-radius:10px;
    background:var(--seven-surface);overflow:hidden;text-decoration:none!important;
    transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.seven-public .seven-footer-partner:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--seven-cyan) 36%,var(--seven-line-soft));background:var(--seven-surface-strong)}
.seven-public .seven-footer-partner-logo{
    width:100%;height:44px;padding:7px;display:flex;align-items:center;justify-content:center;
    border-radius:7px;background:#fff;overflow:hidden;text-transform:none;letter-spacing:0;
}
.seven-public .seven-footer-partner-logo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transform:scale(var(--partner-scale,1));transform-origin:center}
.seven-public .seven-footer-legal-note{margin-top:15px;padding-top:13px;border-top:1px solid var(--seven-line-soft);font-size:11px;line-height:1.5;color:var(--seven-muted)}

/* Wewnętrzne strony pozostają wyraźnie nowym serwisem, ale z tym samym DNA. */
.seven-public .seven-page-head{padding:56px 0 28px;max-width:900px}
.seven-public .seven-title.huge{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.035em;margin:0}
.seven-public .seven-article{max-width:900px;margin:0 auto;padding:56px 0 60px}
.seven-public .seven-state{min-height:500px;padding:70px 0}

/* Przycisk powrotu — ten sam gest co dawniej, tylko C+M. */
.seven-public .seven-scroll-top{
    position:fixed;
    bottom:28px;
    right:28px;
    min-width:64px;
    height:34px;
    padding:0 14px;
    border-radius:999px;
    border:0;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:600;
    background:linear-gradient(135deg,var(--seven-cyan) 0%,#5f7bdc 53%,var(--seven-magenta) 100%);
    color:#fff;
    box-shadow:var(--seven-shadow-soft);
    opacity:0;
    pointer-events:none;
    transform:translateY(8px);
    transition:opacity .25s ease,transform .25s ease,filter .25s ease;
    z-index:90;
}
.seven-public .seven-scroll-top:hover{filter:brightness(1.12)}

@media (max-width:980px){
    .seven-public .seven-page{padding-left:20px;padding-right:20px}
    .seven-public .brand-left{gap:12px}
    .seven-public .brand-logo{width:88px;height:64px;flex-basis:88px}
    .seven-public .brand-text-main{font-size:15px}
    .seven-public .brand-text-sub{font-size:12px}
    .seven-public .seven-hero{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:28px}
}

@media (max-width:760px){
    .seven-public .seven-page{padding:24px 16px 40px}
    .seven-public .seven-header{flex-direction:column;align-items:flex-start}
    .seven-public .brand-left{width:100%;gap:10px}
    .seven-public .brand-logo{width:82px;height:60px;flex-basis:82px}
    .seven-public .brand-text-main{font-size:14px}
    .seven-public .brand-text-sub{font-size:12px}
    .seven-public .seven-header-tools{align-self:stretch;justify-content:space-between}
    .seven-public .seven-nav-inner{right:auto;left:0;width:100%;grid-template-columns:1fr}
    .seven-public .seven-hero,
    .seven-public .seven-hero:not(.has-media){margin-top:40px;grid-template-columns:1fr;gap:30px}
    .seven-public .seven-hero-title{font-size:clamp(32px,9vw,40px)}
    .seven-public .seven-photo{height:min(62vw,300px)}
    .seven-public .seven-card-grid,
    .seven-public .seven-card-grid-auto,
    .seven-public .seven-article-grid,
    .seven-public .seven-news-row{grid-template-columns:1fr}
    .seven-public .seven-section{margin-top:36px;padding-top:22px}
    .seven-public .seven-contact-grid{grid-template-columns:1fr}
    .seven-public .seven-footer-partners-grid{gap:10px}
    .seven-public .seven-footer-partner{flex-basis:96px;width:96px;height:58px}
}

@media (max-width:460px){
    .seven-public .brand-logo{width:72px;height:54px;flex-basis:72px;border-radius:17px}
    .seven-public .brand-text-main{font-size:12px}
    .seven-public .brand-text-sub{font-size:11px}
    .seven-public .seven-lang{padding-left:11px;padding-right:11px}
    .seven-public .seven-theme{padding-left:6px;padding-right:6px}
    .seven-public .seven-menu-toggle{padding-left:11px;padding-right:11px}
}

.seven-public .seven-contact-grid.is-home-compact{
    grid-template-columns:minmax(0,760px);
}

/* Stopka przeniesiona z aktualnego 7minut.pl: układ i styl 1:1. */
.seven-public .seven-footer-legacy{
    margin-top:32px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,0.08);
    font-size:11px;
    color:var(--seven-muted);
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:space-between;
}
:root[data-theme="light"] .seven-public .seven-footer-legacy{
    border-top-color:rgba(0,0,0,0.08);
}
.seven-public .seven-footer-legacy a{color:var(--seven-muted)}
.seven-public .seven-footer-legacy nav{display:flex;flex-wrap:wrap;gap:4px 7px;align-items:center}
.seven-public .seven-footer-legacy a:hover{color:var(--seven-text);text-decoration:underline}


/* ======================================================================
   v1.0.0-beta.3.4 — korekta warstwy tła i eksperyment „żywego tła”
   ====================================================================== */

/*
 * TŁO 7MINUT.PL — wartość chroniona.
 * Te dwie reguły są literalnym odpowiednikiem oryginalnego styles.css.
 * Nadpisują wcześniejszy eksperymentalny background .seven-public,
 * który pozostawał aktywny przez kaskadę CSS mimo zmian w beta.3.3.
 */
body.seven-public {
    background:
        radial-gradient(circle at top left, rgba(0,160,224,0.22) 0, transparent 38%),
        radial-gradient(circle at top right, rgba(230,0,126,0.20) 0, transparent 42%),
        var(--bg) !important;
    background-attachment: scroll !important;
}

:root[data-theme="light"] body.seven-public {
    background:
        radial-gradient(circle at top left, rgba(0,160,224,0.18) 0, transparent 40%),
        radial-gradient(circle at top right, rgba(255,242,0,0.18) 0, transparent 42%),
        var(--bg) !important;
    background-attachment: scroll !important;
}

/*
 * Kreska pozostaje cienka i wyraźna. Zmieniamy tylko długość obszaru C+M:
 * cyan i magenta są „rozciągnięte”, a nie wzmacniane.
 */
.seven-public .seven-section::before {
    width: min(430px, 68vw);
    background: linear-gradient(
        90deg,
        var(--seven-cyan) 0%,
        var(--seven-cyan) 30%,
        var(--seven-magenta) 60%,
        var(--seven-magenta) 84%,
        transparent 100%
    );
}

/*
 * Eksperymentalna warstwa pomiędzy tłem a treścią.
 * Jest całkowicie nieinteraktywna i nie zmienia układu dokumentu.
 */
.seven-galaxy-layer {
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
    contain: strict;
}

.seven-galaxy-logo {
    position: absolute;
    left: 0;
    top: 0;
    width: 140px;
    height: auto;
    opacity: 0;
    will-change: transform, opacity;
    user-select: none;
    -webkit-user-drag: none;
    filter: saturate(.96);
}

body.seven-public > .seven-page,
body:has(.upload-form) > .page {
    position: relative;
    z-index: 1;
}

@media (max-width: 760px) {
    .seven-galaxy-logo { width: 105px; }
}


/* ----------------------------------------------------------------------
   v1.0.0-beta.3.10 — kompletne renderowanie typów sekcji dostępnych w CMS.
   Reguły dotyczą wyłącznie opcjonalnych modułów i nie zmieniają istniejącego
   wyglądu homepage beta.3.8/beta.3.9, jeśli moduły nie są używane.
   ---------------------------------------------------------------------- */
.seven-public .seven-linked-media{display:block;color:inherit;text-decoration:none}
.seven-public .seven-linked-media .seven-photo-frame,
.seven-public .seven-linked-media .seven-inline-media{transition:border-color .2s ease,transform .2s ease}
.seven-public .seven-linked-media:hover .seven-photo-frame,
.seven-public .seven-linked-media:hover .seven-inline-media{transform:translateY(-2px);border-color:rgba(0,160,224,.28)}

.seven-public .seven-experience-grid{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px
}
.seven-public .seven-experience-item{
    min-height:118px;padding:18px;border:1px solid var(--seven-line-soft);border-radius:18px;
    background:var(--seven-surface);display:flex;flex-direction:column;justify-content:flex-end
}
:root[data-theme="light"] .seven-public .seven-experience-item{background:#fff}
.seven-public .seven-experience-item strong{
    font-size:clamp(26px,3.2vw,42px);line-height:1;
    background:linear-gradient(135deg,var(--seven-cyan-hot),var(--seven-magenta-hot));
    -webkit-background-clip:text;background-clip:text;color:transparent
}
.seven-public .seven-experience-item span{margin-top:8px;font-size:13px;color:var(--seven-muted)}

.seven-public .seven-business-grid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px
}
.seven-public .seven-business-card{
    min-height:150px;border:1px solid var(--seven-line-soft);border-radius:18px;overflow:hidden;
    background:var(--seven-surface);display:flex;flex-direction:column;color:inherit;text-decoration:none
}
.seven-public .seven-business-card.no-media{min-height:78px;justify-content:center}
:root[data-theme="light"] .seven-public .seven-business-card{background:#fff}
.seven-public .seven-business-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.seven-public .seven-business-card strong{padding:14px 16px 16px;font-size:14px}
.seven-public a.seven-business-card{transition:transform .2s ease,border-color .2s ease}
.seven-public a.seven-business-card:hover{transform:translateY(-2px);border-color:rgba(0,160,224,.28)}

.seven-public .seven-partners-grid{
    display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;align-items:stretch
}
.seven-public .seven-partner{
    width:150px;min-height:132px;padding:12px;border:1px solid var(--seven-line-soft);border-radius:18px;
    background:var(--seven-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;color:inherit;text-decoration:none
}
:root[data-theme="light"] .seven-public .seven-partner{background:#fff}
.seven-public a.seven-partner{transition:transform .2s ease,border-color .2s ease}
.seven-public a.seven-partner:hover{transform:translateY(-2px);border-color:rgba(0,160,224,.28)}
.seven-public .seven-partner-logo{width:92px;height:62px;display:grid;place-items:center;overflow:visible}
.seven-public .seven-partner-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform:scale(var(--partner-scale,1))}
.seven-public .seven-partner strong{margin-top:10px;font-size:12px}
.seven-public .seven-partner small{margin-top:3px;font-size:10px;color:var(--seven-muted)}

.seven-public .seven-hero-carousel{position:relative;margin-top:20px}
.seven-public .seven-hero-carousel-stage{
    position:relative;overflow:hidden;border:1px solid var(--seven-line-soft);border-radius:20px;
    background:var(--seven-surface);aspect-ratio:16/7
}
.seven-public .seven-hero-carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none}
.seven-public .seven-hero-carousel-slide.is-active{opacity:1;pointer-events:auto}
.seven-public .seven-hero-carousel-slide img{display:block;width:100%;height:100%;object-fit:cover}
.seven-public .seven-hero-carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.seven-public .seven-hero-carousel-dots button{
    width:9px;height:9px;padding:0;border:0;border-radius:999px;background:var(--seven-line-soft,rgba(255,255,255,.18));cursor:pointer;transition:width .2s ease,background .2s ease
}
.seven-public .seven-hero-carousel-dots button.is-active{width:26px;background:linear-gradient(90deg,var(--seven-cyan),var(--seven-magenta))}

@media(max-width:980px){
    .seven-public .seven-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
    .seven-public .seven-experience-grid,.seven-public .seven-business-grid{grid-template-columns:1fr}
    .seven-public .seven-business-card.no-media{min-height:60px}
    .seven-public .seven-partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .seven-public .seven-partner{width:auto}
    .seven-public .seven-hero-carousel-stage{aspect-ratio:4/3}
}

/* ======================================================================
   7minut.pl public front — v1.0.0-beta.3.24
   Desktop: serdelek otwiera się jak kapsułka — dwie jego części fizycznie
   rozjeżdżają się na boki. Główne działy pojawiają się pod nim w jednym
   poziomym rzędzie. Tylko Usługi otwierają pionową listę na zwartej,
   pojedynczej warstwie blur. Żaden element menu nie przesuwa hero/treści.
   Mobile <=760 px zachowuje zachowanie beta.3.12 / beta.3.10.
   ====================================================================== */

.seven-public .seven-menu-shell{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    z-index:125;
}
.seven-public .seven-desktop-nav{display:none}
.seven-public .seven-mobile-menu-toggle{display:none}

@media (min-width:761px){
    .seven-public .seven-mobile-menu-toggle{display:none!important}
    .seven-public .seven-header{overflow:visible}
    .seven-public .seven-header-tools{
        flex-wrap:nowrap;
        overflow:visible;
    }
    .seven-public .seven-mobile-nav{display:none!important}

    /* Cały shell rośnie w layoucie, więc EN i motyw są odsuwane w lewo.
       Widoczny serdelek NIE rozciąga się: jego dwie części rozjeżdżają się. */
    .seven-public .seven-menu-shell{
        --seven-menu-closed:88px;
        --seven-menu-open:112px;
        --seven-menu-h:31px;
        width:var(--seven-menu-closed);
        flex:0 0 var(--seven-menu-closed);
        height:var(--seven-menu-h);
        transition:
            width .30s cubic-bezier(.22,.78,.2,1),
            flex-basis .30s cubic-bezier(.22,.78,.2,1);
    }
    .seven-public .seven-menu-shell.is-open{
        width:var(--seven-menu-open);
        flex-basis:var(--seven-menu-open);
    }

    .seven-public .seven-menu-toggle{
        position:relative;
        z-index:6;
        display:block;
        width:100%;
        height:var(--seven-menu-h);
        min-height:var(--seven-menu-h);
        padding:0;
        border:0;
        border-radius:0;
        background:transparent!important;
        box-shadow:none!important;
        overflow:visible;
        transform:none!important;
        filter:none!important;
    }

    /* Dwie połówki kapsułki. W stanie zamkniętym stykają się i wyglądają
       jak dotychczasowy serdelek. Podczas otwierania lewa zostaje przy lewej
       krawędzi shell'a, prawa jedzie z prawą krawędzią — powstaje realna luka. */
    /* Zamknięty serdelek ma jedną, ciągłą powierzchnię. Podział na dwie
       połówki istnieje tylko konstrukcyjnie i staje się widoczny dopiero
       podczas otwierania kapsułki. */
    .seven-public .seven-menu-toggle::before{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        border:1px solid var(--seven-line-soft);
        border-radius:999px;
        background:linear-gradient(135deg,rgba(0,160,224,.14),rgba(230,0,126,.08));
        opacity:1;
        transition:opacity .13s ease,border-color .18s ease,background .22s ease;
        pointer-events:none;
    }
    .seven-public .seven-menu-half{
        position:absolute;
        top:0;
        z-index:1;
        height:var(--seven-menu-h);
        display:flex;
        align-items:center;
        justify-content:center;
        box-sizing:border-box;
        border:1px solid transparent;
        background:transparent;
        color:var(--seven-text);
        box-shadow:none;
        transition:
            border-color .18s ease,
            background .22s ease,
            box-shadow .22s ease,
            border-radius .26s cubic-bezier(.22,.78,.2,1);
    }
    .seven-public .seven-menu-half-label{
        left:0;
        width:56px;
        border-right:0;
        border-radius:999px 0 0 999px;
        padding-left:2px;
    }
    .seven-public .seven-menu-half-icon{
        right:0;
        width:32px;
        border-left:0;
        border-radius:0 999px 999px 0;
    }
    .seven-public .seven-menu-label{
        font-size:12px;
        font-weight:700;
        letter-spacing:.04em;
        line-height:1;
        white-space:nowrap;
    }
    .seven-public .seven-menu-half-icon i{
        width:14px;
        height:9px;
        position:relative;
        display:block;
        flex:0 0 14px;
        border-top:2px solid currentColor;
        border-bottom:2px solid currentColor;
        transition:transform .23s cubic-bezier(.22,.78,.2,1);
    }
    .seven-public .seven-menu-half-icon i::after{
        content:"";
        position:absolute;
        left:0;
        right:0;
        top:3px;
        border-top:2px solid currentColor;
    }
    .seven-public .seven-menu-toggle:hover::before,
    .seven-public .seven-menu-toggle:focus-visible::before{
        border-color:rgba(0,160,224,.34);
    }
    .seven-public .seven-menu-shell.is-open .seven-menu-toggle::before{
        opacity:0;
    }
    .seven-public .seven-menu-shell.is-open .seven-menu-half{
        border-color:rgba(0,160,224,.30);
        background:linear-gradient(135deg,rgba(0,160,224,.17),rgba(230,0,126,.10));
        box-shadow:0 7px 20px rgba(0,0,0,.035);
    }
    .seven-public .seven-menu-shell.is-open .seven-menu-half-label{
        border-radius:999px 9px 9px 999px;
    }
    .seven-public .seven-menu-shell.is-open .seven-menu-half-icon{
        border-color:rgba(230,0,126,.22);
        border-radius:9px 999px 999px 9px;
    }
    /* Trzy poziome kreski zamkniętego serdelka obracają się razem o 90°,
       więc po otwarciu tworzą trzy pionowe kreski. */
    .seven-public .seven-menu-toggle[aria-expanded="true"] .seven-menu-half-icon i{
        transform:rotate(90deg);
    }

    /* Główne menu: jeden poziomy rząd pod otwartą kapsułką. Overlay — nie
       uczestniczy w wysokości nagłówka i nie przesuwa żadnej treści strony. */
    .seven-public .seven-desktop-nav{
        position:absolute;
        z-index:5;
        display:block;
        top:calc(100% + 6px);
        right:0;
        width:max-content;
        max-width:calc(100vw - 32px);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-7px);
        transform-origin:top right;
        transition:
            opacity .16s ease .10s,
            transform .23s cubic-bezier(.22,.78,.2,1) .08s,
            visibility 0s linear .28s;
    }
    .seven-public .seven-menu-shell.is-open .seven-desktop-nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
        transition-delay:.08s,.06s,0s;
    }

    /* Sam poziomy rząd nie ma kafla. Minimalny blur działa tylko pod tekstami,
       aby menu było czytelne nad hero bez tworzenia dodatkowej powierzchni. */
    .seven-public .seven-desktop-nav-inner{
        position:relative;
        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:flex-end;
        flex-wrap:nowrap;
        gap:4px;
        width:max-content;
        max-width:100%;
        padding:5px 6px;
        border:0;
        border-radius:12px;
        background:transparent;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        white-space:nowrap;
    }
    :root[data-theme="light"] .seven-public .seven-desktop-nav-inner{
        background:transparent;
    }

    .seven-public .seven-desktop-nav a,
    .seven-public .seven-desktop-nav-parent{
        position:relative;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:auto;
        min-height:29px;
        padding:6px 9px;
        border:0;
        border-radius:0;
        background:transparent!important;
        color:var(--seven-text-soft);
        box-shadow:none!important;
        font:inherit;
        font-size:12px;
        font-weight:690;
        line-height:1.15;
        text-align:center;
        text-decoration:none;
        cursor:pointer;
        transform:scale(1);
        transform-origin:center center;
        transition:color .16s ease,transform .17s cubic-bezier(.2,.8,.2,1);
    }
    .seven-public .seven-desktop-nav a::after,
    .seven-public .seven-desktop-nav-parent::after{
        content:"";
        position:absolute;
        left:9px;
        right:9px;
        bottom:2px;
        height:1px;
        background:linear-gradient(90deg,var(--seven-cyan),var(--seven-magenta));
        opacity:0;
        transform:scaleX(.25);
        transform-origin:left center;
        transition:opacity .15s ease,transform .19s ease;
    }
    .seven-public .seven-desktop-nav a:hover,
    .seven-public .seven-desktop-nav a:focus-visible,
    .seven-public .seven-desktop-nav-parent:hover,
    .seven-public .seven-desktop-nav-parent:focus-visible{
        color:var(--seven-text);
        outline:none;
        background:transparent!important;
        transform:scale(1.075);
    }
    .seven-public .seven-desktop-nav a:hover::after,
    .seven-public .seven-desktop-nav a:focus-visible::after,
    .seven-public .seven-desktop-nav-parent:hover::after,
    .seven-public .seven-desktop-nav-parent:focus-visible::after{
        opacity:.9;
        transform:scaleX(1);
    }

    .seven-public .seven-desktop-nav-group{
        position:relative;
        display:inline-flex;
        align-items:center;
        flex:0 0 auto;
    }
    .seven-public .seven-desktop-nav-parent{
        gap:6px;
        color:var(--seven-cyan-hot);
        font-weight:800;
    }
    .seven-public .seven-desktop-nav-parent span{
        font-size:12px;
        line-height:1;
        transition:transform .18s ease;
    }
    .seven-public .seven-desktop-nav-group:hover .seven-desktop-nav-parent span,
    .seven-public .seven-desktop-nav-group:focus-within .seven-desktop-nav-parent span,
    .seven-public .seven-desktop-nav-group.is-open .seven-desktop-nav-parent span{transform:rotate(180deg)}

    /* Wąski, niewidzialny korytarz łączy pozycję Usługi z pionowym submenu.
       Dzięki temu podczas zjazdu kursorem w dół hover nie urywa się w szczelinie. */
    .seven-public .seven-desktop-nav-group::after{
        content:"";
        position:absolute;
        z-index:8;
        left:-8px;
        right:-8px;
        top:100%;
        height:7px;
        pointer-events:auto;
    }

    /* Jedna zwarta warstwa pod samą listą usług. Nie ma drugiego panelu,
       nie ma pustej szerokiej powierzchni. Blur pozostaje czytelny, ale jest łagodniejszy, żeby
       napisy pozostały czytelne także wtedy, gdy lista wchodzi na zdjęcie. */
    .seven-public .seven-desktop-submenu{
        position:absolute;
        z-index:9;
        top:calc(100% + 2px);
        left:-4px;
        width:max-content;
        min-width:0;
        max-width:none;
        padding:6px 7px;
        display:inline-grid;
        grid-template-columns:max-content;
        justify-items:start;
        gap:0;
        border:0;
        border-radius:9px;
        background:rgba(255,255,255,.09);
        box-shadow:none;
        backdrop-filter:blur(10px) brightness(1.16) saturate(.76) contrast(.90);
        -webkit-backdrop-filter:blur(10px) brightness(1.16) saturate(.76) contrast(.90);
        overflow:hidden;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-6px);
        transition:
            opacity .14s ease,
            transform .20s cubic-bezier(.22,.78,.2,1),
            visibility 0s linear .20s;
    }
    /* Blur jest nakładany bezpośrednio na obszar listy. Dzięki temu filtr
       pobiera piksele faktycznej strony pod submenu, zamiast rozmywać
       przezroczystą warstwę wewnątrz innego backdrop-root. */
    .seven-public .seven-desktop-submenu::before{content:none}
    :root[data-theme="light"] .seven-public .seven-desktop-submenu{
        background:rgba(255,255,255,.18);
        backdrop-filter:blur(10px) brightness(1.10) saturate(.78) contrast(.92);
        -webkit-backdrop-filter:blur(10px) brightness(1.10) saturate(.78) contrast(.92);
    }
    .seven-public .seven-desktop-nav-group:hover .seven-desktop-submenu,
    .seven-public .seven-desktop-nav-group:focus-within .seven-desktop-submenu,
    .seven-public .seven-desktop-nav-group.is-open .seven-desktop-submenu{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
        transition-delay:0s;
    }
    .seven-public .seven-desktop-submenu a{
        position:relative;
        z-index:1;
        display:flex;
        justify-content:flex-start;
        min-height:26px;
        width:max-content;
        padding:5px 5px;
        font-size:12px;
        font-weight:720;
        text-align:left;
        white-space:nowrap;
        color:rgba(255,255,255,.99);
        text-shadow:0 1px 5px rgba(0,0,0,.82);
        transform:scale(1);
        transform-origin:left center;
        transition:color .14s ease,transform .16s cubic-bezier(.2,.8,.2,1);
    }
    .seven-public .seven-desktop-submenu a:hover,
    .seven-public .seven-desktop-submenu a:focus-visible{
        transform:scale(1.065);
    }
    :root[data-theme="light"] .seven-public .seven-desktop-submenu a{
        color:#10131a;
        text-shadow:0 1px 4px rgba(255,255,255,.72);
    }
    .seven-public .seven-desktop-submenu a::after{left:7px;right:7px}

    .seven-public .seven-desktop-nav-upload{
        font-weight:800!important;
        color:var(--seven-text)!important;
    }
}

@media (min-width:761px) and (max-width:900px){
    .seven-public .seven-menu-shell{
        --seven-menu-open:106px;
    }
    .seven-public .seven-desktop-nav a,
    .seven-public .seven-desktop-nav-parent{
        padding-left:7px;
        padding-right:7px;
        font-size:11px;
    }
    .seven-public .seven-desktop-nav-inner{gap:1px;padding-left:5px;padding-right:5px}
}


/* beta.3.24 — mobile menu restored as an independent control.
   Desktop capsule/menu logic does not participate below 761 px. */
@media (max-width:760px){
    .seven-public .seven-menu-shell{display:none!important}
    .seven-public .seven-mobile-menu-toggle{display:inline-flex!important}
    .seven-public .seven-mobile-menu-toggle > i{display:block}
    .seven-public .seven-mobile-nav{display:none}
    .seven-public .seven-mobile-nav.is-open{display:block}
}

/* ======================================================================
   7minut.pl public front — v1.0.0-beta.3.25
   Mobile-only correction: full-size menu pill, hamburger state feedback,
   and deterministic tap-to-toggle behaviour for nested navigation.
   Desktop rules above are intentionally untouched.
   ====================================================================== */
@media (max-width:760px){
    /* Menu control has the same visual height/weight as the other header pills. */
    .seven-public .seven-mobile-menu-toggle{
        width:43px;
        height:31px;
        min-width:43px;
        min-height:31px;
        flex:0 0 43px;
        padding:0!important;
        align-items:center;
        justify-content:center;
        line-height:1;
    }
    .seven-public .seven-mobile-menu-toggle > span{display:none!important}

    /* Closed: classic hamburger. Open: clear X. */
    .seven-public .seven-mobile-menu-toggle > i{
        position:relative;
        display:block!important;
        width:15px;
        height:2px;
        border:0!important;
        border-radius:999px;
        background:currentColor;
        transition:background-color .12s ease;
    }
    .seven-public .seven-mobile-menu-toggle > i::before,
    .seven-public .seven-mobile-menu-toggle > i::after{
        content:"";
        position:absolute;
        left:0;
        width:15px;
        height:2px;
        border:0!important;
        border-radius:999px;
        background:currentColor;
        transform-origin:center;
        transition:transform .18s cubic-bezier(.2,.8,.2,1),top .18s cubic-bezier(.2,.8,.2,1);
    }
    .seven-public .seven-mobile-menu-toggle > i::before{top:-5px}
    .seven-public .seven-mobile-menu-toggle > i::after{top:5px}
    .seven-public .seven-mobile-menu-toggle[aria-expanded="true"] > i{background:transparent}
    .seven-public .seven-mobile-menu-toggle[aria-expanded="true"] > i::before{
        top:0;
        transform:rotate(45deg);
    }
    .seven-public .seven-mobile-menu-toggle[aria-expanded="true"] > i::after{
        top:0;
        transform:rotate(-45deg);
    }

    /* Touch devices must not inherit the desktop/hover-open submenu state.
       Only .is-open, set by an actual tap, controls the submenu. */
    .seven-public .seven-mobile-nav .seven-nav-group > .seven-submenu,
    .seven-public .seven-mobile-nav .seven-nav-group:hover > .seven-submenu,
    .seven-public .seven-mobile-nav .seven-nav-group:focus-within > .seven-submenu{
        display:none!important;
    }
    .seven-public .seven-mobile-nav .seven-nav-group.is-open > .seven-submenu{
        display:grid!important;
    }
}


/* 5.06 — zgoda na analitykę: układ zgodny z COMPAAN. */
.seven-cookie-consent{
    position:fixed;left:18px;right:18px;bottom:18px;z-index:99998;display:none;
    max-width:760px;margin:auto;padding:18px 20px;border:1px solid rgba(255,255,255,.12);
    border-radius:16px;background:rgba(18,20,22,.97);color:#fff;
    box-shadow:0 16px 50px rgba(0,0,0,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
.seven-cookie-consent.is-visible{display:block}
.seven-cookie-consent p{margin:0 0 14px;line-height:1.55;color:#e8e8e8}
.seven-cookie-consent__actions{display:flex;gap:10px;flex-wrap:wrap}
@media(min-width:701px){
    .seven-cookie-consent{max-width:722px}
    .seven-cookie-consent p{text-align:center}
    .seven-cookie-consent__actions{justify-content:center}
}
.seven-cookie-consent button,.seven-cookie-consent a{
    appearance:none;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:transparent;color:#fff;
    padding:9px 13px;font:inherit;text-decoration:none;cursor:pointer;
    transition:transform .18s ease,border-color .18s ease,background .18s ease
}
.seven-cookie-consent button:hover,.seven-cookie-consent a:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.06)}
.seven-cookie-consent button:focus-visible,.seven-cookie-consent a:focus-visible{outline:2px solid var(--seven-cyan,#00a0e0);outline-offset:2px}
.seven-privacy-consent-manage{margin-bottom:38px}
.seven-privacy-consent-manage .seven-btn{margin-top:12px}
@media(max-width:700px){
    .seven-cookie-consent{left:10px;right:10px;bottom:10px;padding:15px}
}

/* v1.0.0-beta.5.07 — pełne uwagi klienta w panelu zleceń */
.summary-notes-trigger {
    display: inline-flex;
    min-width: 0;
    max-width: 100%;
    align-items: baseline;
    gap: 9px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.summary-notes-preview {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.summary-notes-more {
    flex: 0 0 auto;
    font-size: .78rem;
    font-weight: 700;
    color: var(--muted);
    white-space: nowrap;
}

.summary-notes-trigger:hover .summary-notes-more,
.summary-notes-trigger:focus-visible .summary-notes-more {
    color: var(--text);
}

.summary-notes-trigger:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
    border-radius: 4px;
}

.notes-modal {
    position: fixed;
    inset: 0;
    z-index: 10070;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0,0,0,.58);
}

.notes-modal.is-open {
    display: flex;
}

.notes-modal-dialog {
    width: min(760px, 100%);
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--bg, #fff);
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.notes-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.notes-modal-header h2 {
    margin: 0;
}

.notes-modal-ticket {
    margin-top: 4px;
    font-size: .86rem;
}

.notes-modal-x {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: transparent;
    color: var(--text);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.notes-modal-text {
    min-height: 110px;
    max-height: 55vh;
    overflow: auto;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel-alt);
    color: var(--text);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    user-select: text;
    line-height: 1.55;
}

.notes-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 720px) {
    .summary-notes-trigger {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
    .notes-modal-dialog {
        padding: 18px;
    }
    .notes-modal-actions {
        flex-direction: column-reverse;
    }
    .notes-modal-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

/* v1.0.3 — dyskretny detal kompozycji strony głównej */
.seven-public .seven-story-detail{
    min-height:190px;
    padding-right:360px;
    overflow:visible;
}
.seven-public .seven-detail-field{
    position:absolute;
    z-index:1;
    top:24px;
    right:8px;
    width:330px;
    height:150px;
    pointer-events:none;
}
.seven-public .seven-story-detail>.seven-kicker,
.seven-public .seven-story-detail>.seven-title,
.seven-public .seven-story-detail>.seven-copy{
    position:relative;
    z-index:2;
}
.seven-public .seven-detail-node{
    --detail-size:8px;
    --detail-opacity:.30;
    position:absolute;
    width:var(--detail-size);
    height:var(--detail-size);
    border-radius:50%;
    opacity:var(--detail-opacity);
    background:
        radial-gradient(circle at 34% 28%,rgba(255,255,255,.98) 0 14%,rgba(249,245,235,.92) 15% 35%,rgba(218,210,199,.76) 52%,rgba(155,147,142,.34) 72%,rgba(255,255,255,0) 74%);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.10),
        0 2px 7px rgba(0,0,0,.28),
        inset -1px -1px 3px rgba(104,95,92,.22);
    transform:translate3d(0,0,0);
    transition:opacity .8s ease,filter .8s ease,box-shadow .8s ease;
    will-change:transform,opacity;
}
:root[data-theme="light"] .seven-public .seven-detail-node{
    --detail-opacity:.38;
    box-shadow:0 0 0 1px rgba(50,48,53,.08),0 2px 6px rgba(49,44,43,.16),inset -1px -1px 3px rgba(104,95,92,.18);
}
.seven-public .seven-detail-node:nth-child(2),
.seven-public .seven-detail-node:nth-child(4),
.seven-public .seven-detail-node:nth-child(5){--detail-opacity:.42}
:root[data-theme="light"] .seven-public .seven-detail-node:nth-child(2),
:root[data-theme="light"] .seven-public .seven-detail-node:nth-child(4),
:root[data-theme="light"] .seven-public .seven-detail-node:nth-child(5){--detail-opacity:.50}
.seven-detail-tag{
    position:absolute;
    left:50%;
    bottom:calc(100% + 8px);
    padding:2px 5px 3px;
    border-radius:999px;
    color:rgba(249,242,231,.92);
    background:rgba(9,10,14,.46);
    border:1px solid rgba(255,255,255,.08);
    font-size:11px;
    font-weight:500;
    line-height:1;
    letter-spacing:.12em;
    white-space:nowrap;
    opacity:0;
    transform:translate(-50%,6px) scale(.97);
    filter:blur(1.5px);
    text-shadow:0 1px 8px rgba(0,0,0,.82);
    box-shadow:0 4px 16px rgba(0,0,0,.16);
    pointer-events:none;
    transition:opacity .90s cubic-bezier(.22,.61,.36,1),transform 1.02s cubic-bezier(.22,.61,.36,1),filter .96s ease;
}
:root[data-theme="light"] .seven-public .seven-detail-tag{
    color:rgba(48,42,39,.88);
    background:rgba(255,252,246,.68);
    border-color:rgba(52,45,42,.08);
    text-shadow:0 1px 6px rgba(255,255,255,.72);
    box-shadow:0 4px 14px rgba(34,28,26,.08);
}
.seven-public .seven-story-detail.is-awake .seven-detail-node.is-cue .seven-detail-tag{
    opacity:1;
    transform:translate(-50%,0) scale(1);
    filter:blur(0);
}
.seven-public .seven-detail-node-1{left:7%;top:19%;--detail-size:7px;--orbit-x:7px;--orbit-up:-4px;--orbit-down:4px;--orbit-back:-5px;--orbit-mid:2px;--orbit-time:5.9s}
.seven-public .seven-detail-node-2{left:31%;top:55%;--detail-size:10px;--orbit-x:9px;--orbit-up:-6px;--orbit-down:6px;--orbit-back:-7px;--orbit-mid:2px;--orbit-time:6.7s}
.seven-public .seven-detail-node-3{left:76%;top:15%;--detail-size:8px;--orbit-x:6px;--orbit-up:-8px;--orbit-down:8px;--orbit-back:-5px;--orbit-mid:1px;--orbit-time:7.1s}
.seven-public .seven-detail-node-4{left:44%;top:81%;--detail-size:11px;--orbit-x:8px;--orbit-up:-5px;--orbit-down:5px;--orbit-back:-6px;--orbit-mid:2px;--orbit-time:6.2s}
.seven-public .seven-detail-node-5{left:57%;top:67%;--detail-size:12px;--orbit-x:10px;--orbit-up:-7px;--orbit-down:7px;--orbit-back:-8px;--orbit-mid:2px;--orbit-time:7.4s}
.seven-public .seven-detail-node-6{left:87%;top:54%;--detail-size:7px;--orbit-x:7px;--orbit-up:-5px;--orbit-down:5px;--orbit-back:-5px;--orbit-mid:1px;--orbit-time:6.5s}
.seven-public .seven-detail-node-7{left:16%;top:83%;--detail-size:8px;--orbit-x:5px;--orbit-up:-7px;--orbit-down:7px;--orbit-back:-4px;--orbit-mid:1px;--orbit-time:7.8s}
.seven-public .seven-story-detail.is-awake .seven-detail-node{
    opacity:.74;
    filter:drop-shadow(0 0 6px rgba(238,231,219,.36));
    animation:sevenDetailOrbit var(--orbit-time) ease-in-out infinite;
}
.seven-public .seven-story-detail.is-awake .seven-detail-node:nth-child(even){animation-direction:reverse}
.seven-public .seven-story-detail.is-awake .seven-detail-node:nth-child(2),
.seven-public .seven-story-detail.is-awake .seven-detail-node:nth-child(4),
.seven-public .seven-story-detail.is-awake .seven-detail-node:nth-child(5){
    opacity:.96;
    filter:drop-shadow(0 0 8px rgba(255,244,220,.62));
    box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 11px rgba(220,192,151,.20),0 2px 8px rgba(0,0,0,.30),inset -1px -1px 3px rgba(104,95,92,.20);
}
.seven-public .seven-story-detail.is-ready .seven-detail-node.is-target{
    pointer-events:auto;
    cursor:pointer;
    animation:sevenDetailBreath 2.75s ease-in-out infinite;
    opacity:1;
    filter:drop-shadow(0 0 10px rgba(255,238,204,.72));
}
.seven-public .seven-story-detail.is-revealing .seven-detail-node{
    animation:none!important;
    opacity:.08;
    filter:none;
    pointer-events:none!important;
}
@keyframes sevenDetailOrbit{
    0%,100%{transform:translate3d(0,0,0)}
    25%{transform:translate3d(var(--orbit-x),var(--orbit-up),0)}
    50%{transform:translate3d(var(--orbit-mid),var(--orbit-down),0)}
    75%{transform:translate3d(var(--orbit-back),var(--orbit-mid),0)}
}
@keyframes sevenDetailBreath{
    0%,100%{transform:translate3d(var(--detail-freeze-x,0px),var(--detail-freeze-y,0px),0) scale(1);filter:drop-shadow(0 0 7px rgba(255,238,204,.50))}
    50%{transform:translate3d(var(--detail-freeze-x,0px),var(--detail-freeze-y,0px),0) scale(1.40);filter:drop-shadow(0 0 15px rgba(255,238,204,.92))}
}
.seven-detail-layer{
    position:fixed;
    z-index:9998;
    inset:0;
    display:grid;
    place-items:center;
    padding:clamp(18px,4vw,54px);
    background:
        radial-gradient(circle at 50% 48%,rgba(192,144,77,.10),transparent 38%),
        radial-gradient(circle at 18% 20%,rgba(0,160,224,.075),transparent 32%),
        radial-gradient(circle at 82% 80%,rgba(230,0,126,.06),transparent 32%),
        rgba(7,8,11,.955);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .9s ease,visibility 0s linear .9s;
}
.seven-detail-layer.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .9s ease,visibility 0s;
}
.seven-detail-copy,
.seven-detail-media{
    grid-area:1/1;
    transition:opacity 1.05s ease,transform 1.05s ease,filter 1.05s ease;
}
.seven-detail-copy{
    max-width:min(920px,90vw);
    text-align:center;
    color:#f6f0e8;
    font-size:clamp(27px,4.4vw,54px);
    line-height:1.24;
    font-weight:300;
    letter-spacing:-.025em;
    text-wrap:balance;
    opacity:0;
    transform:translateY(9px);
    text-shadow:0 2px 24px rgba(0,0,0,.72);
}
.seven-detail-copy span{display:block}
.seven-detail-copy span+span{margin-top:.34em;font-size:.72em;color:rgba(246,240,232,.92)}
.seven-detail-media{
    display:block;
    width:auto;
    max-width:min(1080px,92vw);
    max-height:82vh;
    height:auto;
    border-radius:clamp(14px,2vw,28px);
    object-fit:contain;
    opacity:0;
    transform:scale(.982);
    filter:blur(2px);
    box-shadow:0 30px 80px rgba(0,0,0,.62),0 0 42px rgba(192,144,77,.10);
}
.seven-detail-layer.is-text .seven-detail-copy{opacity:1;transform:translateY(0)}
.seven-detail-layer.is-image .seven-detail-copy{opacity:0;transform:translateY(-7px)}
.seven-detail-layer.is-image .seven-detail-media{opacity:1;transform:scale(1);filter:blur(0)}
.seven-detail-layer.is-leaving{opacity:0}
body.seven-detail-active{overflow:hidden}

@media(max-width:760px){
    .seven-public .seven-story-detail{
        min-height:0;
        padding-right:0;
        padding-bottom:0;
    }
    .seven-public .seven-detail-field{
        position:relative;
        top:auto;
        right:auto;
        width:min(100%,360px);
        height:106px;
        margin:6px auto -2px;
    }
    .seven-public .seven-detail-node-4{top:77%}
    .seven-public .seven-detail-node-7{top:80%}
    .seven-detail-media{max-width:94vw;max-height:76vh;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){
    .seven-public .seven-story-detail.is-awake .seven-detail-node{animation:none}
    .seven-public .seven-story-detail.is-ready .seven-detail-node.is-target{animation:sevenDetailBreath 3s ease-in-out infinite}
    .seven-detail-layer,.seven-detail-copy,.seven-detail-media{transition-duration:.35s}
}


/* v1.0.4 — stabilny wygląd pól logowania także przy Chrome/Google Password Manager. */
.login-form .form-field input:-webkit-autofill,
.login-form .form-field input:-webkit-autofill:hover,
.login-form .form-field input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--text) !important;
    caret-color: var(--text);
    -webkit-box-shadow: 0 0 0 1000px var(--bg-softer) inset !important;
    box-shadow: 0 0 0 1000px var(--bg-softer) inset !important;
    border-color: var(--border-soft);
    transition: background-color 9999s ease-out 0s;
}
.login-form .form-field input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--text) !important;
    caret-color: var(--text);
    -webkit-box-shadow: 0 0 0 1000px var(--bg-softer) inset, 0 0 0 3px rgba(0, 160, 224, 0.18) !important;
    box-shadow: 0 0 0 1000px var(--bg-softer) inset, 0 0 0 3px rgba(0, 160, 224, 0.18) !important;
    border-color: var(--accent);
}
.login-form .form-field input:autofill {
    color: var(--text);
    background: var(--bg-softer);
}
