body {
    background: #f5f6f8;
}

.card {
    border: 0;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .06);
}

.stat-number {
    font-size: 2rem;
    font-weight: 800;
}

.calendar-legend {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 4px;
    margin-right: 5px;
    vertical-align: -1px;
}

.calendar-legend-free {
    background: #198754;
}

.calendar-legend-booked {
    background: #ffc107;
}

.calendar-legend-completed {
    background: #0d6efd;
}

.calendar-legend-busy {
    background: #dee2e6;
}

.week-calendar-wrap {
    overflow-x: auto;
    padding-bottom: 4px;
}

.week-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(165px, 1fr));
    min-width: 1155px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.week-day {
    min-width: 0;
    border-right: 1px solid #e5e7eb;
    background: #fff;
}

.week-day:last-child {
    border-right: 0;
}

.week-day-today {
    background: #f8fbff;
}

.week-day-header {
    padding: 12px 10px;
    text-align: center;
    border-bottom: 1px solid #e5e7eb;
    background: #f8f9fa;
    position: sticky;
    top: 0;
    z-index: 1;
}

.week-day-today .week-day-header {
    background: #eaf3ff;
}

.week-day-name {
    font-weight: 700;
    font-size: .9rem;
}

.week-day-date {
    color: #6c757d;
    font-size: .82rem;
    margin-top: 2px;
}

.week-day-body {
    min-height: 380px;
    padding: 8px;
}

.calendar-slot {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 9px 10px;
    margin-bottom: 8px;
    text-align: left;
    line-height: 1.25;
}

.calendar-slot-time,
.calendar-slot-title,
.calendar-slot-meta {
    display: block;
}

.calendar-slot-time {
    font-weight: 800;
    font-size: .95rem;
}

.calendar-slot-title {
    font-weight: 700;
    font-size: .82rem;
    margin-top: 3px;
}

.calendar-slot-meta {
    font-size: .75rem;
    margin-top: 3px;
    opacity: .85;
}

.calendar-slot-free {
    background: #198754;
    color: #fff;
}

.calendar-slot-booked {
    background: #ffc107;
    color: #212529;
}

.calendar-slot-completed {
    background: #0d6efd;
    color: #fff;
}

.calendar-slot-busy {
    background: #e9ecef;
    color: #6c757d;
}

.calendar-slot-button {
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.calendar-slot-button:hover,
.calendar-slot-button:focus {
    background: #157347;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(25, 135, 84, .22);
    outline: none;
}

.calendar-empty {
    color: #adb5bd;
    font-size: .82rem;
    text-align: center;
    padding: 28px 4px;
}

@media (max-width: 767.98px) {
    .week-calendar {
        grid-template-columns: repeat(7, 155px);
        min-width: 1085px;
    }

    .week-day-body {
        min-height: 300px;
    }
}
.lesson-gauge {
    position: relative;
    max-width: 380px;
    margin: 5px auto 0;
    padding: 0 20px;
}

.lesson-gauge-svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.lesson-gauge-bg,
.lesson-gauge-progress {
    fill: none;
    stroke-width: 14;
    stroke-linecap: round;
}

.lesson-gauge-bg {
    stroke: #e9ecef;
}

.lesson-gauge-progress {
    stroke: #0d6efd;
    transition: stroke-dashoffset .8s ease;
}

.lesson-gauge-value {
    font-size: 25px;
    font-weight: 700;
    fill: #212529;
}

.lesson-gauge-caption {
    font-size: 11px;
    fill: #6c757d;
}

.lesson-gauge-label {
    position: absolute;
    font-size: 13px;
    font-weight: 600;
    color: #6c757d;
}

.lesson-gauge-start {
    left: 4px;
    bottom: 11px;
}

.lesson-gauge-half {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.lesson-gauge-half small {
    display: block;
    font-size: 10px;
    line-height: 10px;
}

.lesson-gauge-end {
    right: -8px;
    bottom: 11px;
}

        :root{
            --primary:#d8ff39;
            --primary-dark:#bddd1d;
            --bg-dark:#0b1220;
            --bg-dark-2:#111a2d;
            --text-light:#f5f7fb;
            --text-muted:#b8c1d1;
            --line:rgba(255,255,255,.08);
        }

        body{
            font-family: Arial, Helvetica, sans-serif;
            background:#0a1120;
            color:var(--text-light);
        }

        a{
            text-decoration:none;
        }

        .site-header{
            position:absolute;
            top:0;
            left:0;
            width:100%;
            z-index:20;
            padding:18px 0;
        }

        .navbar-custom{
            background:transparent;
        }

        .brand-logo{
            font-size:1.35rem;
            font-weight:800;
            line-height:1.1;
            color:#fff;
        }

        .brand-logo span{
            color:var(--primary);
        }

        .navbar-nav .nav-link{
            color:#fff;
            font-size:.95rem;
            margin:0 .35rem;
            font-weight:500;
        }

        .navbar-nav .nav-link:hover{
            color:var(--primary);
        }

        .btn-primary-custom{
            background:var(--primary);
            color:#0d1322;
            border:none;
            font-weight:700;
            padding:.85rem 1.3rem;
            border-radius:.5rem;
            transition:.2s ease;
        }

        .btn-primary-custom:hover{
            background:var(--primary-dark);
            color:#0d1322;
        }

        .btn-outline-custom{
            border:1px solid rgba(255,255,255,.28);
            color:#fff;
            font-weight:700;
            padding:.85rem 1.3rem;
            border-radius:.5rem;
            transition:.2s ease;
            background:rgba(255,255,255,.04);
        }

        .btn-outline-custom:hover{
            border-color:var(--primary);
            color:var(--primary);
            background:rgba(255,255,255,.06);
        }

        .hero{
            position:relative;
            min-height:720px;
            display:flex;
            align-items:center;
            background:
                linear-gradient(90deg, rgba(8,14,27,.92) 0%, rgba(8,14,27,.82) 42%, rgba(8,14,27,.35) 100%),
                url('/assets/img/hero-autoskola.webp') center center / contain no-repeat;
            overflow:hidden;
        }

        .hero::after{
            content:"";
            position:absolute;
            inset:0;
            background:
                radial-gradient(circle at 75% 40%, rgba(39,77,165,.30), transparent 35%),
                linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.18));
            pointer-events:none;
        }

        .hero-content{
            position:relative;
            z-index:2;
            max-width:650px;
        }

        .hero-kicker{
            display:inline-block;
            color:var(--primary);
            font-weight:700;
            margin-bottom:1rem;
            letter-spacing:.04em;
            text-transform:uppercase;
            font-size:.9rem;
        }

         .hero h1{
            font-size:3rem;
            line-height:1.15;
            font-weight:800;
            margin-bottom:1rem;
            margin-top: 100px;
        }

        .hero h1 .accent{
            color:var(--primary);
        }

        .hero p{
            color:var(--text-muted);
            font-size:1.08rem;
            margin-bottom:1.75rem;
            max-width:540px;
        }

        .hero-buttons{
            display:flex;
            gap:14px;
            flex-wrap:wrap;
            margin-bottom:2rem;
        }

        .hero-benefits{
            display:flex;
            flex-wrap:wrap;
            gap:22px;
            margin-top:1.4rem;
        }

        .hero-benefit{
            display:flex;
            align-items:center;
            gap:10px;
            color:#e7ecf7;
            font-size:.95rem;
        }

        .hero-benefit-icon{
            width:34px;
            height:34px;
            border-radius:50%;
            background:rgba(216,255,57,.12);
            border:1px solid rgba(216,255,57,.28);
            display:flex;
            align-items:center;
            justify-content:center;
            color:var(--primary);
            font-weight:700;
            font-size:.95rem;
        }

        .section-dark{
            background:linear-gradient(180deg, #0d1526 0%, #0a1120 100%);
            padding:70px 0;
        }

        .section-title{
            text-align:center;
            margin-bottom:2.5rem;
        }

        .section-title h2{
            font-size:2rem;
            font-weight:800;
            margin-bottom:.75rem;
        }

        .section-title p{
            color:var(--text-muted);
            max-width:760px;
            margin:0 auto;
        }

        .info-card{
            background:rgba(255,255,255,.03);
            border:1px solid var(--line);
            border-radius:1rem;
            padding:1.5rem;
            height:100%;
            transition:.2s ease;
        }

        .info-card:hover{
            transform:translateY(-4px);
            border-color:rgba(216,255,57,.25);
        }

        .info-card h3{
            font-size:1.15rem;
            font-weight:700;
            margin-bottom:.7rem;
        }

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

        .info-icon{
            width:48px;
            height:48px;
            border-radius:12px;
            background:rgba(216,255,57,.10);
            color:var(--primary);
            display:flex;
            align-items:center;
            justify-content:center;
            font-weight:800;
            margin-bottom:1rem;
        }

        .cta-strip{
            background:linear-gradient(135deg, #18243e 0%, #0f1728 100%);
            border:1px solid var(--line);
            border-radius:1rem;
            padding:2rem;
        }

        .contact-section{
            background:
                linear-gradient(180deg, rgba(8,12,24,.96), rgba(8,12,24,.96)),
                url('/assets/img/bg-dark-texture.webp') center center / cover no-repeat;
            padding:70px 0 30px;
        }

        .contact-card{
            background:rgba(255,255,255,.04);
            border:1px solid var(--line);
            border-radius:1rem;
            padding:1.5rem;
            height:100%;
        }

        .contact-card h3{
            font-size:1.5rem;
            font-weight:800;
            margin-bottom:.4rem;
        }

        .contact-card p,
        .contact-card li{
            color:var(--text-muted);
        }

        .contact-list{
            list-style:none;
            padding:0;
            margin:1rem 0 1.5rem;
        }

        .contact-list li{
            margin-bottom:.5rem;
        }

        .map-box{
            height:100%;
            min-height:270px;
            border-radius:1rem;
            overflow:hidden;
            border:1px solid var(--line);
            background:#1b2538;
        }

        .map-box iframe{
            width:100%;
            height:100%;
            border:0;
        }

        .footer-nav{
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
            margin-top:2rem;
            padding:1rem 0;
        }

        .footer-nav a{
            color:#d7dfed;
            margin:0 .75rem;
            font-size:.92rem;
        }

        .footer-nav a:hover{
            color:var(--primary);
        }

        .footer-copy{
            color:#475569;
            text-align:center;
            padding-top:1.25rem;
            font-size:.9rem;
        }

        @media (max-width: 991.98px){
            .hero{
                min-height:auto;
                padding:25px 0 70px;
                background-position:center right;
            }

            .hero h1{
                font-size:2.25rem;
                margin-top: 0;
            }

            .site-header{
                position:relative;
                background:#0a1120;
            }

            .navbar-collapse{
                margin-top:1rem;
                background:rgba(255,255,255,.03);
                border:1px solid var(--line);
                border-radius:.75rem;
                padding:1rem;
            }
        }

        @media (max-width: 575.98px){
            .hero h1{
                font-size:1.9rem;
            }

            .hero-buttons{
                flex-direction:column;
            }

            .btn-primary-custom,
            .btn-outline-custom{
                width:100%;
                text-align:center;
            }

            .hero-benefits{
                gap:14px;
            }
        }
   .admin-submenu {
    padding: 12px 0;
}

.admin-submenu .btn {
    width: 100%;
    font-weight: 600;
}

.admin-submenu .btn.active {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

#reference{background:#0b1220;color:#fff;padding:80px 0;scroll-margin-top:90px}
#reference .section-title{margin-bottom:32px}
#reference h2{font-weight:800}
#reference .drive-review-summary{color:#aebacc}
#reference .drive-review-summary strong{color:#fff;font-size:1.25rem}
#reference .drive-stars{display:inline-flex;gap:4px;vertical-align:middle;flex-shrink:0}
#reference .drive-star{position:relative;display:block;width:23px;height:23px}
#reference .drive-star svg{display:block;width:23px;height:23px;max-width:none}
#reference .drive-star-fill{position:absolute;inset:0 auto 0 0;overflow:hidden}
#reference .drive-review-track{--bs-gutter-x:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#36516c #101d30;padding-top:4px;padding-bottom:16px}
#reference .drive-review-slide{scroll-snap-align:start;flex-shrink:0}
#reference .drive-review-card{background:linear-gradient(145deg,#142238,#101b2d);border:1px solid #293c53;border-radius:18px;padding:26px 22px;box-shadow:0 10px 24px #0002}
#reference .drive-review-card h3{color:#fff}
#reference .drive-review-text{color:#c5cfde;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem}
#reference .drive-review-empty{color:#aebacc}
#reference .drive-review-controls:not([hidden]){display:flex}
#reference .drive-review-arrow{width:46px;height:46px;border:1px solid #3d526c;background:#142238;color:#fff;border-radius:50%;font-size:1.5rem;transition:background .2s}
#reference .drive-review-arrow:hover:not(:disabled){background:var(--bs-primary,#0d6efd);border-color:var(--bs-primary,#0d6efd)}
#reference .drive-review-arrow:disabled{opacity:.3;cursor:default}
#reference :focus-visible{outline:3px solid #c6ee47;outline-offset:3px}
@media(max-width:767.98px){#reference{padding:52px 0}}
#cenik {background:#0a1120;}