:root {
    --vezeta-bg: #f4f6f8;
    --vezeta-card: #ffffff;
    --vezeta-text: #18212a;
    --vezeta-muted: #68737d;
    --vezeta-line: #dfe4e8;
    --vezeta-accent: #e23b3b;
    --vezeta-dark: #17212b;
}

.vezeta-app-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.vezeta-app-brand {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    color: var(--vezeta-muted);
}

.vezeta-home-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--vezeta-line);
    background: #fff;
    color: var(--vezeta-dark);
    border-radius: 10px;
    padding: 7px 11px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

.vezeta-home-btn:hover {
    background: #f7f8f9;
}

.vezeta-home-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.vezeta-main-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.vezeta-main-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--vezeta-line);
    background: #fff;
    color: var(--vezeta-dark);
    border-radius: 10px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.vezeta-main-nav-btn:hover, .vezeta-main-nav-btn.is-active {
    background: #f1f4f6;
    border-color: #cfd6dc;
}

.vezeta-app {
    max-width: 760px;
    margin: 0 auto;
    padding: 16px;
    padding-bottom: 100px;
    color: var(--vezeta-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.vezeta-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 16px;
}

.vezeta-kicker {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    color: var(--vezeta-muted);
}

.vezeta-head h1,
.vezeta-card h2 {
    margin: 4px 0 0;
}

.vezeta-user {
    font-size: 13px;
    color: var(--vezeta-muted);
}

.vezeta-card {
    background: var(--vezeta-card);
    border: 1px solid var(--vezeta-line);
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 8px 30px rgba(0,0,0,.06);
    margin-bottom: 16px;
}

.vezeta-card label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
}

#vezeta-tanulo {
    width: 100%;
    box-sizing: border-box;
    padding: 14px;
    border-radius: 12px;
    border: 1px solid var(--vezeta-line);
    font-size: 16px;
    background: #fff;
}

.vezeta-btn {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 15px 18px;
    margin-top: 12px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    background: var(--vezeta-dark);
    color: white;
}

.vezeta-btn-start {
    background: var(--vezeta-accent);
    font-size: 20px;
}

.vezeta-btn-danger {
    background: var(--vezeta-accent);
}

.vezeta-hidden {
    display: none !important;
}

.vezeta-live-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.vezeta-live-student {
    font-size: 21px;
    font-weight: 800;
}

.vezeta-live-time {
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.vezeta-status {
    margin: 14px 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #eef7ee;
    font-size: 14px;
}

.vezeta-status.is-error {
    background: #fff0f0;
}

.vezeta-section-title {
    margin: 18px 0 10px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .05em;
}

.vezeta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.vezeta-tile,
.vezeta-error-tile {
    border: 1px solid var(--vezeta-line);
    background: #fff;
    border-radius: 15px;
    padding: 14px;
    text-align: left;
    cursor: pointer;
}

.vezeta-tile strong,
.vezeta-error-tile strong {
    display: block;
    font-size: 18px;
    margin-bottom: 4px;
}

.vezeta-tile span,
.vezeta-error-tile span {
    display: block;
    font-size: 13px;
    line-height: 1.3;
}

.vezeta-errors {
    margin-top: 14px;
    border-top: 1px solid var(--vezeta-line);
    padding-top: 12px;
}

.vezeta-errors summary {
    cursor: pointer;
    font-weight: 900;
    padding: 10px 0;
}

.vezeta-error-section {
    margin-top: 14px;
}

.vezeta-error-section-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--vezeta-muted);
    margin-bottom: 8px;
}

.vezeta-error-tile {
    width: 100%;
    margin-bottom: 7px;
}

.vezeta-bottom-bar {
    position: sticky;
    bottom: 10px;
    z-index: 20;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin-top: 18px;
    padding: 8px;
    border-radius: 16px;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
    border: 1px solid var(--vezeta-line);
    box-shadow: 0 8px 30px rgba(0,0,0,.12);
}

.vezeta-bottom-btn {
    border: 0;
    border-radius: 11px;
    padding: 12px 7px;
    font-weight: 800;
    cursor: pointer;
    background: #edf1f4;
}

.vezeta-bottom-btn.vezeta-stop {
    background: var(--vezeta-accent);
    color: #fff;
}

.vezeta-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(0,0,0,.48);
}

.vezeta-modal-inner {
    width: min(760px, 100%);
    max-height: 88vh;
    overflow: auto;
    background: #fff;
    border-radius: 22px 22px 0 0;
    padding: 22px;
    position: relative;
}

.vezeta-modal-close {
    position: absolute;
    right: 12px;
    top: 8px;
    border: 0;
    background: transparent;
    font-size: 32px;
    cursor: pointer;
}

.vezeta-modal-title {
    font-size: 28px;
    font-weight: 900;
}

.vezeta-modal-name {
    margin: 5px 0 18px;
    color: var(--vezeta-muted);
}

.vezeta-rating-label {
    margin: 14px 0 8px;
    font-weight: 800;
}

.vezeta-result-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.vezeta-result,
.vezeta-star {
    border: 1px solid var(--vezeta-line);
    border-radius: 10px;
    padding: 11px 5px;
    background: #fff;
    cursor: pointer;
    font-weight: 700;
}

.vezeta-result.selected,
.vezeta-star.selected {
    border-color: var(--vezeta-accent);
    box-shadow: inset 0 0 0 2px var(--vezeta-accent);
}

.vezeta-stars {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 7px;
}

.vezeta-modal textarea {
    width: 100%;
    min-height: 100px;
    box-sizing: border-box;
    resize: vertical;
    border: 1px solid var(--vezeta-line);
    border-radius: 12px;
    padding: 12px;
    margin-top: 14px;
    font: inherit;
}

.vezeta-summary-count {
    font-size: 14px;
    color: var(--vezeta-muted);
    margin-bottom: 12px;
}

.vezeta-summary-item {
    border-left: 4px solid var(--vezeta-accent);
    padding: 10px 12px;
    margin-bottom: 10px;
    background: #f7f8f9;
    border-radius: 0 12px 12px 0;
}

.vezeta-summary-time {
    font-size: 12px;
    color: var(--vezeta-muted);
    margin-bottom: 4px;
}

.vezeta-summary-item span {
    display: inline-block;
    margin: 7px 6px 0 0;
    font-size: 12px;
    font-weight: 800;
}

.vezeta-summary-item p {
    margin: 7px 0 0;
}

.vezeta-empty {
    margin-top: 12px;
    padding: 12px;
    border-radius: 10px;
    background: #fff7e6;
}

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


/* Vezeta 0.2 – intuitive mobile UI */
.vezeta-app {
    max-width: 820px;
    padding: 12px 12px 112px;
}

.vezeta-head {
    margin-bottom: 12px;
}

.vezeta-head h1 {
    font-size: 24px;
}

.vezeta-card {
    border-radius: 22px;
    padding: 14px;
}

.vezeta-grid {
    gap: 9px;
}

.vezeta-tile {
    min-height: 104px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 14px;
    background: linear-gradient(180deg, #fff, #f8fafb);
}

.vezeta-tile:active,
.vezeta-error-category:active,
.vezeta-error-tile:active {
    transform: scale(.985);
}

.vezeta-tile strong {
    font-size: 22px;
}

.vezeta-tile span {
    margin-top: 5px;
}

.vezeta-error-categories {
    display: grid;
    gap: 8px;
}

.vezeta-error-category {
    width: 100%;
    display: grid;
    grid-template-columns: 34px 1fr auto 20px;
    align-items: center;
    gap: 9px;
    text-align: left;
    padding: 12px;
    border: 1px solid var(--vezeta-line);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
}

.vezeta-category-num {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff0f0;
    color: var(--vezeta-accent);
    font-weight: 900;
}

.vezeta-category-name {
    font-size: 13px;
    line-height: 1.25;
    font-weight: 750;
}

.vezeta-category-count {
    font-size: 12px;
    color: var(--vezeta-muted);
    font-weight: 800;
}

.vezeta-category-arrow {
    font-size: 24px;
    color: var(--vezeta-muted);
}

.vezeta-error-section-panel {
    margin-top: 8px;
}

.vezeta-error-panel-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 4px 0 10px;
}

.vezeta-back-errors {
    border: 0;
    background: #edf1f4;
    border-radius: 10px;
    padding: 8px 10px;
    font-weight: 800;
    cursor: pointer;
}

.vezeta-error-list {
    display: grid;
    gap: 7px;
}

.vezeta-error-tile {
    width: 100%;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 9px;
    align-items: start;
    margin: 0;
    padding: 11px;
}

.vezeta-error-tile strong {
    color: var(--vezeta-accent);
}

.vezeta-error-tile span {
    font-size: 13px;
    line-height: 1.35;
}

.vezeta-bottom-bar {
    position: fixed;
    left: 50%;
    bottom: max(8px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    width: min(780px, calc(100% - 18px));
    margin: 0;
    box-sizing: border-box;
    padding: 7px;
    border-radius: 17px;
}

.vezeta-bottom-btn {
    min-height: 46px;
}

.vezeta-modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.vezeta-modal-actions .vezeta-btn {
    margin-top: 10px;
}

.vezeta-btn-secondary {
    background: #edf1f4;
    color: var(--vezeta-text);
}

.vezeta-danger-title {
    color: var(--vezeta-accent);
}

.vezeta-confirm-text {
    padding: 12px;
    border-radius: 12px;
    background: #fff7f7;
    margin: 12px 0;
    font-size: 14px;
}

@media (max-width: 430px) {
    .vezeta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .vezeta-tile {
        min-height: 112px;
    }
    .vezeta-tile span {
        font-size: 12px;
    }
}


/* Vezeta 0.2.1 – theme override / readable tile text */
#vezeta-app,
#vezeta-app * {
    box-sizing: border-box;
}

#vezeta-app .vezeta-tile,
#vezeta-app .vezeta-error-category,
#vezeta-app .vezeta-error-tile,
#vezeta-app .vezeta-result,
#vezeta-app .vezeta-star,
#vezeta-app .vezeta-bottom-btn {
    color: #18212a !important;
    text-shadow: none !important;
}

#vezeta-app .vezeta-tile {
    background: #ffffff !important;
    border-color: #dfe4e8 !important;
}

#vezeta-app .vezeta-tile strong,
#vezeta-app .vezeta-tile span,
#vezeta-app .vezeta-error-category .vezeta-category-name,
#vezeta-app .vezeta-error-category .vezeta-category-count,
#vezeta-app .vezeta-error-tile strong,
#vezeta-app .vezeta-error-tile span {
    color: #18212a !important;
}

#vezeta-app .vezeta-tile:hover,
#vezeta-app .vezeta-error-category:hover,
#vezeta-app .vezeta-error-tile:hover {
    background: #f5f7f8 !important;
}

#vezeta-app .vezeta-error-category .vezeta-category-num {
    color: #e23b3b !important;
    background: #fff0f0 !important;
}

#vezeta-app .vezeta-category-arrow {
    color: #68737d !important;
}

#vezeta-app .vezeta-bottom-btn {
    background: #edf1f4 !important;
}

#vezeta-app .vezeta-bottom-btn.vezeta-stop {
    color: #ffffff !important;
    background: #e23b3b !important;
}

#vezeta-app .vezeta-result.selected,
#vezeta-app .vezeta-star.selected {
    color: #18212a !important;
    background: #fff7f7 !important;
}

#vezeta-app .vezeta-btn {
    color: #ffffff !important;
}

#vezeta-app .vezeta-btn-secondary {
    color: #18212a !important;
}


/* Vezeta 0.2.2 – mobil UI finomhangolás */

/* A WordPress/Aveo téma ne alakítsa csupa nagybetűssé a leírásokat. */
#vezeta-app .vezeta-tile span,
#vezeta-app .vezeta-error-tile span,
#vezeta-app .vezeta-error-category .vezeta-category-name,
#vezeta-app .vezeta-modal-name {
    text-transform: none !important;
}

/* A hibakategóriák és manőverek olvasható, normál szövegképe. */
#vezeta-app .vezeta-error-category .vezeta-category-name {
    letter-spacing: normal !important;
}

/* Hibajelző ablak X gombja: legyen látható fehér háttéren is. */
#vezeta-app .vezeta-modal-close {
    color: #18212a !important;
    background: transparent !important;
    text-shadow: none !important;
    font-size: 30px !important;
    line-height: 1 !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    z-index: 2;
}

/* Alsó GPS / Megjegyzés / STOP sáv: kompaktabb ikonok és feliratok. */
#vezeta-app .vezeta-bottom-bar {
    gap: 5px !important;
}

#vezeta-app .vezeta-bottom-btn {
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 8px 4px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

#vezeta-app .vezeta-bottom-btn.vezeta-stop {
    text-transform: none !important;
}

/* A manővercsempék leírása se legyen automatikusan nagybetűs. */
#vezeta-app .vezeta-tile span {
    font-size: 12px !important;
    line-height: 1.25 !important;
}


/* Vezeta 0.3.0 – óra lezárás / összefoglaló */
.vezeta-summary-brand {
    padding: 4px 0 14px;
    border-bottom: 1px solid var(--vezeta-line);
    margin-bottom: 16px;
}

.vezeta-summary-brand-name {
    font-size: 19px;
    font-weight: 900;
    color: var(--vezeta-dark);
}

.vezeta-summary-brand-sub {
    margin-top: 3px;
    font-size: 12px;
    color: var(--vezeta-muted);
}

.vezeta-summary-student {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 14px;
}

.vezeta-summary-label {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    color: var(--vezeta-muted);
}

.vezeta-summary-student-name {
    margin-top: 3px;
    font-size: 23px;
    line-height: 1.1;
    font-weight: 900;
}

.vezeta-summary-date {
    font-size: 13px;
    color: var(--vezeta-muted);
    white-space: nowrap;
}

.vezeta-summary-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-bottom: 10px;
}

.vezeta-summary-meta > div {
    padding: 10px;
    border-radius: 12px;
    background: #f5f7f8;
}

.vezeta-summary-meta span,
.vezeta-summary-stats span {
    display: block;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .06em;
    color: var(--vezeta-muted);
}

.vezeta-summary-meta strong {
    display: block;
    margin-top: 3px;
    font-size: 15px;
}

.vezeta-summary-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-bottom: 20px;
}

.vezeta-summary-stats > div {
    text-align: center;
    padding: 11px 6px;
    border: 1px solid var(--vezeta-line);
    border-radius: 13px;
    background: #fff;
}

.vezeta-summary-stats strong {
    display: block;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 4px;
}

.vezeta-summary-section-title {
    margin: 0 0 9px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
}

.vezeta-summary-empty {
    padding: 13px;
    border-radius: 12px;
    background: #f5f7f8;
    color: var(--vezeta-muted);
}

.vezeta-summary-item {
    position: relative;
    border-left: 4px solid var(--vezeta-accent);
    padding: 11px 12px;
    margin-bottom: 9px;
    background: #f7f8f9;
    border-radius: 0 12px 12px 0;
}

.vezeta-summary-item-manover {
    border-left-color: #4f8f68;
}

.vezeta-summary-item-note {
    border-left-color: #68737d;
}

.vezeta-summary-time {
    font-size: 11px;
    color: var(--vezeta-muted);
    margin-bottom: 3px;
}

.vezeta-summary-item > strong {
    display: block;
    font-size: 14px;
    line-height: 1.3;
}

.vezeta-summary-tag {
    display: inline-block;
    margin: 7px 5px 0 0;
    padding: 4px 7px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--vezeta-line);
    font-size: 11px;
    font-weight: 800;
}

.vezeta-summary-item p {
    margin: 7px 0 0;
    font-size: 13px;
    line-height: 1.4;
}

.vezeta-summary-next {
    margin-top: 16px;
    padding: 12px;
    border-radius: 12px;
    background: #eef7ee;
    color: var(--vezeta-text);
    font-size: 12px;
    line-height: 1.4;
}

.vezeta-summary-next-title {
    font-weight: 900;
    margin-bottom: 2px;
}

@media (max-width: 420px) {
    .vezeta-summary-meta {
        grid-template-columns: repeat(2, 1fr);
    }

    .vezeta-summary-meta > div:last-child {
        grid-column: 1 / -1;
    }
}


/* Vezeta 0.4.0 – PDF / nyomtatás */
.vezeta-summary-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 16px;
}

.vezeta-summary-actions .vezeta-btn {
    margin-top: 0 !important;
}

.vezeta-pdf-btn {
    background: #18212a !important;
    color: #fff !important;
}

@media (max-width: 420px) {
    .vezeta-summary-actions {
        grid-template-columns: 1fr;
    }
}


/* Vezeta 0.5.0 – e-mail */
.vezeta-email-btn {
    background: #4f8f68 !important;
    color: #fff !important;
}

.vezeta-email-btn:disabled {
    opacity: .65;
    cursor: wait;
}

@media (min-width: 421px) {
    .vezeta-summary-actions {
        grid-template-columns: 1fr 1fr 1fr;
    }
}


/* Vezeta 0.6.0 – tanulók és óraszám */
.vezeta-student-title {
    margin-top: 0;
}

.vezeta-student-list {
    display: grid;
    gap: 10px;
}

.vezeta-student-card {
    border: 1px solid var(--vezeta-line);
    border-radius: 16px;
    padding: 14px;
    background: #fff;
}

.vezeta-student-card-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.vezeta-student-name {
    font-size: 19px;
    font-weight: 900;
}

.vezeta-student-hours {
    margin-top: 3px;
    color: var(--vezeta-muted);
    font-size: 12px;
}

.vezeta-student-hours strong {
    color: var(--vezeta-text);
    font-size: 17px;
}

.vezeta-student-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-top: 11px;
}

.vezeta-student-stats-total {
    grid-template-columns: repeat(2, 1fr);
}

.vezeta-student-stats-total strong {
    font-size: 18px;
}

.vezeta-student-stats > div {
    text-align: center;
    padding: 8px 4px;
    background: #f5f7f8;
    border-radius: 10px;
}

.vezeta-student-stats strong {
    display: block;
    font-size: 17px;
    line-height: 1.1;
}

.vezeta-student-stats span {
    display: block;
    margin-top: 3px;
    font-size: 9px;
    color: var(--vezeta-muted);
    text-transform: none !important;
}

.vezeta-student-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 8px;
}

.vezeta-student-actions .vezeta-btn {
    margin-top: 0 !important;
    padding: 11px 8px;
    font-size: 13px;
}

.vezeta-form-label {
    display: block;
    margin: 12px 0 5px;
    font-size: 12px;
    font-weight: 800;
}

.vezeta-form-input {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid var(--vezeta-line);
    border-radius: 10px;
    font: inherit;
    color: var(--vezeta-text) !important;
    background: #fff !important;
}

.vezeta-form-help {
    margin-top: 5px;
    font-size: 11px;
    color: var(--vezeta-muted);
    line-height: 1.35;
}

.vezeta-manual-hours {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.vezeta-hour-choice {
    border: 1px solid var(--vezeta-line);
    background: #fff !important;
    color: var(--vezeta-text) !important;
    border-radius: 12px;
    padding: 11px;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
}

.vezeta-hour-choice span {
    font-size: 11px;
    font-weight: 600;
    color: var(--vezeta-muted) !important;
}

.vezeta-hour-choice.selected {
    border-color: var(--vezeta-dark);
    background: #eef1f3 !important;
}

@media (max-width: 420px) {
    .vezeta-student-actions {
        grid-template-columns: 1fr;
    }
}


/* Vezeta 0.6.1 – tanulói óraelőzmények */
.vezeta-history-head {
    margin-bottom: 14px;
}

.vezeta-history-head > .vezeta-btn {
    margin-top: 0 !important;
    margin-bottom: 12px;
}

.vezeta-history-student-name {
    font-size: 24px;
    line-height: 1.1;
    font-weight: 900;
}

.vezeta-history-list {
    display: grid;
    gap: 8px;
}

.vezeta-history-item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-align: left;
    padding: 12px;
    border: 1px solid var(--vezeta-line);
    border-radius: 13px;
    background: #fff !important;
    color: var(--vezeta-text) !important;
    cursor: pointer;
}

.vezeta-history-item:hover {
    background: #f5f7f8 !important;
}

.vezeta-history-item-date {
    font-size: 11px;
    color: var(--vezeta-muted);
    margin-bottom: 2px;
}

.vezeta-history-item strong {
    display: block;
    font-size: 14px;
}

.vezeta-history-item span {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    color: var(--vezeta-muted) !important;
}

.vezeta-history-item-right {
    min-width: 76px;
    text-align: right;
}

.vezeta-history-item-right span {
    font-size: 9px;
}

.vezeta-history-item-right b {
    display: block;
    margin-top: 3px;
    font-size: 22px;
    line-height: 1;
    color: var(--vezeta-muted);
}

@media (max-width: 420px) {
    .vezeta-history-item {
        align-items: flex-start;
    }
}
\n\n/* Vezeta 0.6.1.1 – navigációs hotfix */\n#vezeta-app .vezeta-btn-secondary,\n#vezeta-app .vezeta-back-errors {\n    background: #18212a !important;\n    color: #ffffff !important;\n    border: 1px solid #18212a !important;\n    text-shadow: none !important;\n}\n\n#vezeta-app .vezeta-btn-secondary:hover,\n#vezeta-app .vezeta-back-errors:hover {\n    background: #2a3742 !important;\n    color: #ffffff !important;\n}\n\n#vezeta-app .vezeta-error-panel-head {\n    position: sticky;\n    top: 0;\n    z-index: 20;\n    margin: 0 -6px 10px;\n    padding: 8px 6px;\n    background: rgba(255,255,255,.97);\n    backdrop-filter: blur(10px);\n    -webkit-backdrop-filter: blur(10px);\n    border-bottom: 1px solid #dfe4e8;\n}\n\n#vezeta-app .vezeta-back-errors {\n    flex: 0 0 auto;\n    min-height: 42px;\n    padding: 9px 13px;\n    border-radius: 11px;\n    font-size: 14px;\n    font-weight: 900;\n}\n\n#vezeta-app .vezeta-error-panel-head strong {\n    color: #18212a !important;\n    line-height: 1.25;\n}\n
/* Vezeta 0.6.2 – oktatójármű és km-nyilvántartás */
#vezeta-app .vezeta-vehicles-card {
    margin-top: 18px;
    padding-top: 4px;
    border-top: 1px solid var(--vezeta-line);
}

#vezeta-app .vezeta-vehicle-list {
    display: grid;
    gap: 8px;
}

#vezeta-app .vezeta-vehicle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--vezeta-line);
    border-radius: 13px;
    background: #fff;
}

#vezeta-app .vezeta-vehicle-row > div {
    min-width: 0;
}

#vezeta-app .vezeta-vehicle-row strong,
#vezeta-app .vezeta-vehicle-row span {
    display: block;
}

#vezeta-app .vezeta-vehicle-row strong {
    font-size: 14px;
}

#vezeta-app .vezeta-vehicle-row span {
    margin-top: 3px;
    color: var(--vezeta-muted);
    font-size: 11px;
}

#vezeta-app .vezeta-vehicle-edit {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 44px;
    padding: 9px 10px;
}

#vezeta-app .vezeta-live-vehicle {
    margin-top: 3px;
    color: var(--vezeta-muted);
    font-size: 12px;
    font-weight: 800;
}

#vezeta-app .vezeta-vehicle-choices {
    display: grid;
    gap: 8px;
    margin: 10px 0 12px;
}

#vezeta-app .vezeta-vehicle-choice {
    width: 100%;
    padding: 13px;
    border: 2px solid var(--vezeta-line);
    border-radius: 14px;
    background: #fff;
    color: var(--vezeta-text);
    text-align: left;
    cursor: pointer;
}

#vezeta-app .vezeta-vehicle-choice strong,
#vezeta-app .vezeta-vehicle-choice span {
    display: block;
}

#vezeta-app .vezeta-vehicle-choice strong {
    font-size: 15px;
}

#vezeta-app .vezeta-vehicle-choice span {
    margin-top: 3px;
    color: var(--vezeta-muted);
    font-size: 11px;
}

#vezeta-app .vezeta-vehicle-choice.selected {
    border-color: var(--vezeta-accent);
    background: #fff7f7;
}

#vezeta-app .vezeta-selected-vehicle {
    margin: 8px 0 12px;
    padding: 9px 11px;
    border-radius: 10px;
    background: #eef1f3;
    color: var(--vezeta-text);
    font-size: 12px;
    font-weight: 800;
}

#vezeta-app .vezeta-summary-km-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0;
    padding: 12px;
    border-radius: 12px;
    background: #eef1f3;
}

#vezeta-app .vezeta-summary-km-box span {
    color: var(--vezeta-muted);
    font-size: 12px;
}

#vezeta-app .vezeta-summary-km-box strong {
    font-size: 17px;
}

#vezeta-app .vezeta-summary-vehicle {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 8px;
    margin: 14px 0;
}

#vezeta-app .vezeta-summary-vehicle > div {
    padding: 10px;
    border: 1px solid var(--vezeta-line);
    border-radius: 11px;
    background: #f7f8f9;
}

#vezeta-app .vezeta-summary-vehicle span {
    display: block;
    margin-bottom: 3px;
    color: var(--vezeta-muted);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
}

#vezeta-app .vezeta-summary-vehicle strong {
    display: block;
    font-size: 12px;
    line-height: 1.25;
}

@media (max-width: 520px) {
    #vezeta-app .vezeta-summary-vehicle {
        grid-template-columns: 1fr 1fr;
    }
    #vezeta-app .vezeta-summary-vehicle > div:first-child {
        grid-column: 1 / -1;
    }
}


#vezeta-app .vezeta-vehicle-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

#vezeta-app .vezeta-vehicle-row.is-archived {
    opacity: .62;
}

#vezeta-app .vezeta-vehicle-thumb {
    flex: 0 0 64px;
    width: 64px;
    height: 48px;
    object-fit: cover;
    border-radius: 10px;
    background: #eef1f3;
    border: 1px solid var(--vezeta-line);
}

#vezeta-app .vezeta-vehicle-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

#vezeta-app .vezeta-vehicle-info {
    min-width: 0;
    flex: 1 1 auto;
}

#vezeta-app .vezeta-vehicle-status {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

#vezeta-app .vezeta-vehicle-status.is-active {
    background: #e7f5e9;
    color: #176b2b;
}

#vezeta-app .vezeta-vehicle-status.is-archived {
    background: #e7e7e7;
    color: #555;
}

#vezeta-app .vezeta-vehicle-modal-image {
    display: block;
    width: 100%;
    max-height: 190px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 12px;
    background: #eef1f3;
}

#vezeta-app .vezeta-vehicle-modal-image-empty {
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 44px;
}

#vezeta-app .vezeta-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

@media (max-width: 520px) {
    #vezeta-app .vezeta-form-row-2 {
        grid-template-columns: 1fr;
    }
}

/* Vezeta 0.6.2.3 – Járműpark nézet */
#vezeta-app .vezeta-fleet-open-btn {
    width: 100%;
    margin-top: 12px;
}

#vezeta-app .vezeta-fleet-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

#vezeta-app .vezeta-fleet-head h2 {
    margin: 2px 0 4px;
}

#vezeta-app .vezeta-fleet-head .vezeta-btn {
    flex: 0 0 auto;
    width: auto !important;
    white-space: nowrap;
}

#vezeta-app .vezeta-fleet-filters {
    display: flex;
    gap: 7px;
    margin: 12px 0 14px;
    overflow-x: auto;
    padding-bottom: 2px;
}

#vezeta-app .vezeta-fleet-filter {
    flex: 0 0 auto;
    border: 1px solid #d9e0e5;
    background: #f5f7f8;
    color: #4d5963;
    border-radius: 999px;
    padding: 8px 12px;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

#vezeta-app .vezeta-fleet-filter span {
    display: inline-block;
    min-width: 18px;
    margin-left: 4px;
    padding: 1px 5px;
    border-radius: 999px;
    background: #e3e8ec;
}

#vezeta-app .vezeta-fleet-filter.is-active {
    background: #18212a;
    color: #fff;
    border-color: #18212a;
}

#vezeta-app .vezeta-fleet-filter.is-active span {
    background: rgba(255,255,255,.18);
}

#vezeta-app .vezeta-fleet-list {
    display: grid;
    gap: 10px;
}

#vezeta-app .vezeta-fleet-item {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--vezeta-line);
    border-radius: 14px;
    background: #fff;
}

#vezeta-app .vezeta-fleet-item.is-archived {
    opacity: .72;
    background: #fafafa;
}

#vezeta-app .vezeta-fleet-photo {
    width: 88px;
    height: 66px;
    object-fit: cover;
    border-radius: 11px;
    background: #eef1f3;
    border: 1px solid var(--vezeta-line);
}

#vezeta-app .vezeta-fleet-info {
    min-width: 0;
}

#vezeta-app .vezeta-fleet-info strong,
#vezeta-app .vezeta-fleet-info span {
    display: block;
}

#vezeta-app .vezeta-fleet-info strong {
    font-size: 15px;
    line-height: 1.25;
    margin-bottom: 3px;
}

#vezeta-app .vezeta-fleet-info span {
    color: #69747d;
    font-size: 11px;
    line-height: 1.45;
}

#vezeta-app .vezeta-fleet-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 2px;
}

#vezeta-app .vezeta-fleet-actions .vezeta-btn {
    width: auto !important;
    flex: 1 1 150px;
}

@media (max-width: 520px) {
    #vezeta-app .vezeta-fleet-head {
        align-items: center;
    }
    #vezeta-app .vezeta-fleet-head .vezeta-btn {
        padding: 8px 10px;
        font-size: 12px;
    }
}

/* Vezeta 0.6.3 – tanulói nyilvántartás és oktatói áttekintés */
#vezeta-app .vezeta-student-dashboard-list {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

#vezeta-app .vezeta-student-dashboard-item {
    border: 1px solid var(--vezeta-line);
    border-radius: 15px;
    background: #fff;
    overflow: hidden;
}

#vezeta-app .vezeta-student-dashboard-main {
    width: 100%;
    display: block;
    padding: 14px;
    border: 0;
    background: #fff !important;
    color: var(--vezeta-text) !important;
    text-align: left;
    cursor: pointer;
}

#vezeta-app .vezeta-student-dashboard-main:hover {
    background: #f7f8f9 !important;
}

#vezeta-app .vezeta-student-dashboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

#vezeta-app .vezeta-student-dashboard-head strong {
    font-size: 17px;
    line-height: 1.2;
}

#vezeta-app .vezeta-student-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-top: 12px;
}

#vezeta-app .vezeta-student-dashboard-stats span {
    padding: 8px 5px;
    border-radius: 10px;
    background: #f2f4f5;
    color: var(--vezeta-muted);
    text-align: center;
    font-size: 10px;
}

#vezeta-app .vezeta-student-dashboard-stats b {
    display: block;
    color: var(--vezeta-text);
    font-size: 14px;
}

#vezeta-app .vezeta-student-dashboard-last {
    margin-top: 9px;
    color: var(--vezeta-muted);
    font-size: 11px;
}

#vezeta-app .vezeta-student-dashboard-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 0 12px 12px;
}

#vezeta-app .vezeta-student-dashboard-actions .vezeta-btn {
    width: 100%;
    min-height: 40px;
    margin: 0;
}

#vezeta-app .vezeta-student-dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin: 12px 0 18px;
}

#vezeta-app .vezeta-student-dashboard-kpis > div {
    border: 1px solid var(--vezeta-line);
    border-radius: 12px;
    padding: 10px 6px;
    text-align: center;
    background: #fff;
}

#vezeta-app .vezeta-student-dashboard-kpis strong {
    display: block;
    font-size: 18px;
    color: var(--vezeta-text);
}

#vezeta-app .vezeta-student-dashboard-kpis span {
    display: block;
    margin-top: 2px;
    color: var(--vezeta-muted);
    font-size: 10px;
}

#vezeta-app .vezeta-practice-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 18px;
}

#vezeta-app .vezeta-practice-card {
    border: 1px solid var(--vezeta-line);
    border-radius: 13px;
    padding: 12px;
    background: #fff;
}

#vezeta-app .vezeta-practice-card h3 {
    margin: 0 0 9px;
    font-size: 13px;
}

#vezeta-app .vezeta-practice-card ul {
    margin: 0;
    padding-left: 17px;
}

#vezeta-app .vezeta-practice-card li {
    margin: 6px 0;
    color: var(--vezeta-text);
    font-size: 11px;
    line-height: 1.35;
}

#vezeta-app .vezeta-practice-card li span {
    display: block;
    color: var(--vezeta-muted);
    font-size: 10px;
}

#vezeta-app .vezeta-practice-ok {
    margin: 0;
    color: var(--vezeta-muted);
    font-size: 11px;
    line-height: 1.4;
}

#vezeta-app .vezeta-repeat-errors {
    display: grid;
    gap: 7px;
    margin-bottom: 18px;
}

#vezeta-app .vezeta-repeat-error {
    display: grid;
    grid-template-columns: 45px 1fr auto;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    border: 1px solid var(--vezeta-line);
    border-radius: 11px;
    background: #fff;
}

#vezeta-app .vezeta-repeat-error b {
    font-size: 11px;
}

#vezeta-app .vezeta-repeat-error span {
    font-size: 11px;
    line-height: 1.3;
}

#vezeta-app .vezeta-repeat-error strong {
    font-size: 12px;
    white-space: nowrap;
}

#vezeta-app .vezeta-vehicle-km-list {
    display: grid;
    gap: 7px;
    margin-bottom: 18px;
}

#vezeta-app .vezeta-vehicle-km-list > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 11px;
    border-radius: 10px;
    background: #f5f6f7;
    font-size: 11px;
}

#vezeta-app .vezeta-vehicle-km-list strong {
    white-space: nowrap;
}

@media (max-width: 520px) {
    #vezeta-app .vezeta-student-dashboard-stats span {
        font-size: 9px;
    }
    #vezeta-app .vezeta-student-dashboard-stats b {
        font-size: 13px;
    }
    #vezeta-app .vezeta-practice-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 380px) {
    #vezeta-app .vezeta-student-dashboard-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

#vezeta-app .vezeta-maneuver-stats {
    display: grid;
    gap: 7px;
    margin-bottom: 18px;
}

#vezeta-app .vezeta-maneuver-stat {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 10px;
    padding: 9px 11px;
    border: 1px solid var(--vezeta-line);
    border-radius: 11px;
    background: #fff;
}

#vezeta-app .vezeta-maneuver-stat > div b {
    margin-right: 6px;
    font-size: 11px;
}

#vezeta-app .vezeta-maneuver-stat > div span {
    font-size: 11px;
}

#vezeta-app .vezeta-maneuver-stat > strong {
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 15px;
}

#vezeta-app .vezeta-maneuver-stat small {
    color: var(--vezeta-muted);
    font-size: 9px;
}


/* 0.7.2 – Pénzügyek */
#vezeta-app .vezeta-finance-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0 22px;
}
#vezeta-app .vezeta-finance-kpi {
    padding: 15px;
    border: 1px solid var(--vezeta-line);
    border-radius: 16px;
    background: #fff;
}
#vezeta-app .vezeta-finance-kpi strong {
    display: block;
    font-size: 20px;
    line-height: 1.1;
}
#vezeta-app .vezeta-finance-kpi span {
    display: block;
    margin-top: 5px;
    color: var(--vezeta-muted);
    font-size: 10px;
    line-height: 1.25;
}
#vezeta-app .vezeta-finance-kpi.is-warning {
    border-color: #e7b84b;
    background: #fffaf0;
}
#vezeta-app .vezeta-finance-section-title {
    margin: 18px 0 9px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    color: var(--vezeta-muted);
}
#vezeta-app .vezeta-finance-students,
#vezeta-app .vezeta-finance-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
#vezeta-app .vezeta-finance-student {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    align-items: center;
    gap: 10px;
    padding: 12px 13px;
    border: 1px solid var(--vezeta-line);
    border-radius: 14px;
    background: #fff;
    color: var(--vezeta-text);
    text-align: left;
    cursor: pointer;
}
#vezeta-app .vezeta-finance-student.is-warning {
    border-color: #e7b84b;
    background: #fffaf0;
}
#vezeta-app .vezeta-finance-student strong,
#vezeta-app .vezeta-finance-student b {
    display: block;
    font-size: 12px;
}
#vezeta-app .vezeta-finance-student small,
#vezeta-app .vezeta-finance-payment small {
    display: block;
    color: var(--vezeta-muted);
    font-size: 9px;
    margin-top: 2px;
}
#vezeta-app .vezeta-finance-arrow {
    font-size: 22px;
    color: var(--vezeta-muted);
}
#vezeta-app .vezeta-finance-payment {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 11px 13px;
    border: 1px solid var(--vezeta-line);
    border-radius: 13px;
    background: #fff;
}
#vezeta-app .vezeta-finance-payment > strong {
    white-space: nowrap;
    font-size: 13px;
}
@media (max-width: 520px) {
    #vezeta-app .vezeta-finance-student {
        grid-template-columns: 1fr auto auto;
    }
    #vezeta-app .vezeta-finance-arrow {
        display: none;
    }
}

.vezeta-finance-detail-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 24px}.vezeta-finance-detail-kpis>div{border:1px solid #dfe4ea;border-radius:18px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:6px}.vezeta-finance-detail-kpis strong{font-size:28px;line-height:1}.vezeta-finance-detail-kpis span{font-size:12px;color:#68717d}.vezeta-finance-detail-list{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.vezeta-finance-detail-item{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e2e6eb;border-radius:14px;padding:13px 15px;background:#fff}.vezeta-finance-detail-item>div{display:flex;flex-direction:column;gap:4px;min-width:0}.vezeta-finance-detail-item strong{font-size:14px}.vezeta-finance-detail-item span{font-size:12px;color:#717986;overflow-wrap:anywhere}.vezeta-finance-detail-item>b{white-space:nowrap;font-size:14px}.vezeta-finance-kpi span{line-height:1.25}
@media (max-width:560px){.vezeta-finance-detail-kpis{grid-template-columns:1fr}.vezeta-finance-detail-item{padding:12px}.vezeta-finance-detail-item>b{font-size:13px}}

/* 0.7.4 - összecsukható tanulói pénzügyi szekciók */
.vezeta-finance-accordion-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.vezeta-finance-accordion{border:1px solid #dfe4ea;border-radius:16px;background:#fff;overflow:hidden}
.vezeta-finance-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;min-height:58px}
.vezeta-finance-accordion>summary::-webkit-details-marker{display:none}
.vezeta-finance-accordion-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.vezeta-finance-accordion-title{font-size:14px;font-weight:800;color:#222a33}
.vezeta-finance-accordion-summary{font-size:12px;color:#717986;overflow-wrap:anywhere}
.vezeta-finance-accordion-chevron{font-size:20px;color:#707985;line-height:1;transition:transform .15s ease;flex:0 0 auto}
.vezeta-finance-accordion[open]>summary{border-bottom:1px solid #e8ebef;background:#fafbfc}
.vezeta-finance-accordion[open] .vezeta-finance-accordion-chevron{transform:rotate(180deg)}
.vezeta-finance-accordion-body{padding:12px 12px 4px}
.vezeta-finance-accordion-body .vezeta-finance-detail-list{margin-bottom:10px}
@media (max-width:560px){.vezeta-finance-accordion>summary{padding:14px}.vezeta-finance-accordion-title{font-size:13px}.vezeta-finance-accordion-summary{font-size:11px}}


/* 0.7.5 - Home navigáció */
@media (max-width: 520px) {
    #vezeta-app .vezeta-app-topbar {
        margin-bottom: 7px;
    }
    #vezeta-app .vezeta-home-btn,
    #vezeta-app .vezeta-main-nav-btn {
        padding: 7px 9px;
        font-size: 11px;
    }
    #vezeta-app .vezeta-main-nav {
        gap: 4px;
    }
    #vezeta-app .vezeta-main-nav-btn span {
        display: none;
    }
}

/* 0.7.6 – Befizetés rögzítése */
#vezeta-app .vezeta-finance-head-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
#vezeta-app .vezeta-payment-form{margin-top:14px}
#vezeta-app .vezeta-payment-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#vezeta-app .vezeta-payment-items-title{margin:22px 0 10px;font-size:12px;font-weight:900;letter-spacing:.04em;color:var(--vezeta-text)}
#vezeta-app .vezeta-payment-item-grid{display:grid;gap:10px}
#vezeta-app .vezeta-payment-item{border:1px solid var(--vezeta-line);border-radius:15px;padding:12px;background:#fff}
#vezeta-app .vezeta-payment-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
#vezeta-app .vezeta-payment-item-head strong{font-size:14px}
#vezeta-app .vezeta-payment-item-head span{font-size:10px;color:var(--vezeta-muted)}
#vezeta-app .vezeta-payment-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px;padding:16px;border-radius:16px;background:#f3f6f8;border:1px solid var(--vezeta-line)}
#vezeta-app .vezeta-payment-total span{font-size:13px;color:var(--vezeta-muted);font-weight:700}
#vezeta-app .vezeta-payment-total strong{font-size:24px;line-height:1.1}
#vezeta-app .vezeta-payment-error{margin:10px 0;padding:11px 12px;border-radius:12px;background:#fff0f0;border:1px solid #f0b7b7;color:#9a2020;font-size:12px;font-weight:700}
#vezeta-app #vezeta-save-payment{width:100%;margin-top:8px}
#vezeta-app #vezeta-save-payment:disabled{opacity:.65;cursor:wait}
@media (max-width:560px){
    #vezeta-app .vezeta-finance-head-actions{width:100%;justify-content:flex-start}
    #vezeta-app .vezeta-payment-two-col{grid-template-columns:1fr}
}


/* 0.7.7 – Gépház / díjszabás */
#vezeta-app .vezeta-settings-section-title{margin:20px 0 10px;font-size:12px;font-weight:900;letter-spacing:.05em;color:var(--vezeta-text)}
#vezeta-app .vezeta-settings-note{padding:12px 14px;border-radius:14px;background:#f3f6f8;border:1px solid var(--vezeta-line);font-size:12px;line-height:1.45;color:var(--vezeta-muted);margin-bottom:12px}
#vezeta-app .vezeta-settings-rates{display:flex;flex-direction:column;gap:10px}
#vezeta-app .vezeta-settings-rate-group{border:1px solid #dfe4ea;border-radius:16px;background:#fff;overflow:hidden}
#vezeta-app .vezeta-settings-rate-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 15px;background:#fafbfc;border-bottom:1px solid #e8ebef}
#vezeta-app .vezeta-settings-rate-head strong{font-size:14px}
#vezeta-app .vezeta-settings-rate-head span{font-size:11px;color:var(--vezeta-muted);white-space:nowrap}
#vezeta-app .vezeta-settings-rate-list{display:flex;flex-direction:column}
#vezeta-app .vezeta-settings-rate-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid #edf0f2}
#vezeta-app .vezeta-settings-rate-row:last-child{border-bottom:0}
#vezeta-app .vezeta-settings-rate-row>div{display:flex;flex-direction:column;gap:3px}
#vezeta-app .vezeta-settings-rate-row strong{font-size:15px}
#vezeta-app .vezeta-settings-rate-row span{font-size:11px;color:var(--vezeta-muted)}
#vezeta-app .vezeta-settings-rate-status{padding:4px 7px;border-radius:999px;background:#edf7ef;color:#28743a!important;font-size:10px!important;font-weight:800}
#vezeta-app .vezeta-settings-add-box{margin-top:18px;padding:15px;border:1px solid #dfe4ea;border-radius:16px;background:#fff}
#vezeta-app #vezeta-save-rate{width:100%;margin-top:12px}
#vezeta-app #vezeta-save-rate:disabled{opacity:.65;cursor:wait}
@media(max-width:560px){#vezeta-app .vezeta-settings-rate-head{align-items:flex-start;flex-direction:column;gap:4px}#vezeta-app .vezeta-settings-rate-row{padding:12px}}

/* 0.7.9 - kezdő pénzügyi befizetéslista: összecsukható, legfrissebb elöl */
.vezeta-finance-dashboard-accordion{border:1px solid #dfe4ea;border-radius:16px;background:#fff;overflow:hidden;margin-top:10px}
.vezeta-finance-dashboard-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;min-height:58px}
.vezeta-finance-dashboard-accordion>summary::-webkit-details-marker{display:none}
.vezeta-finance-dashboard-summary-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.vezeta-finance-dashboard-summary-main strong{font-size:13px}
.vezeta-finance-dashboard-summary-main span{font-size:11px;color:var(--vezeta-muted);overflow-wrap:anywhere}
.vezeta-finance-dashboard-accordion .vezeta-finance-list{padding:0 10px 10px;margin-top:0}

/* 0.8.0 – pénzügyi adatvédelmi kapcsoló */
#vezeta-app #vezeta-finance-privacy-toggle{white-space:nowrap}
@media (max-width:560px){
    #vezeta-app .vezeta-finance-head-actions{gap:6px}
    #vezeta-app #vezeta-finance-privacy-toggle{flex:1;min-width:0}
}

.vezeta-finance-payment-row-right{display:flex;align-items:center;gap:8px;justify-content:flex-end}.vezeta-finance-payment-row-right .vezeta-payment-pdf-btn{min-height:34px;padding:7px 10px;font-size:12px;white-space:nowrap}@media(max-width:520px){.vezeta-finance-payment-row{align-items:flex-start}.vezeta-finance-payment-row-right{flex-direction:column;align-items:flex-end}.vezeta-finance-payment-row-right .vezeta-payment-pdf-btn{width:auto}}

/* Vezeta 0.9.0 – közös vizuális frissítés */
#vezeta-app .vezeta-student-dashboard-actions .vezeta-btn {
    min-height: 42px;
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.15;
    white-space: nowrap;
}

#vezeta-app .vezeta-settings-add-box #vezeta-save-rate {
    min-height: 44px;
    padding: 9px 12px;
    font-size: 12px;
    line-height: 1.15;
    white-space: nowrap;
}

#vezeta-app .vezeta-finance-page-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
#vezeta-app .vezeta-finance-page-head > div:first-child {
    min-width: 0;
}
#vezeta-app .vezeta-finance-page-head .vezeta-finance-head-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 7px;
    width: 100%;
    justify-content: stretch;
}
#vezeta-app .vezeta-finance-page-head .vezeta-finance-head-actions #vezeta-finance-privacy-toggle {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
}
#vezeta-app .vezeta-finance-page-head .vezeta-finance-head-actions .vezeta-btn {
    margin: 0;
    min-height: 42px;
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.15;
}
#vezeta-app .vezeta-finance-page-head .vezeta-finance-head-actions #vezeta-finance-add-payment {
    width: 100%;
}
#vezeta-app .vezeta-finance-page-head .vezeta-finance-head-actions #vezeta-finance-back {
    width: 100%;
}

#vezeta-app .vezeta-collapsible-section {
    margin: 18px 0 0;
    border: 1px solid var(--vezeta-line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
#vezeta-app .vezeta-collapsible-section > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 50px;
    padding: 12px 14px;
    color: var(--vezeta-text);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
}
#vezeta-app .vezeta-collapsible-section > summary::-webkit-details-marker { display: none; }
#vezeta-app .vezeta-collapsible-section > summary small {
    margin-left: 5px;
    color: var(--vezeta-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
}
#vezeta-app .vezeta-collapsible-chevron {
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 1;
    color: var(--vezeta-muted);
    transition: transform .15s ease;
}
#vezeta-app .vezeta-collapsible-section[open] > summary {
    border-bottom: 1px solid #e8ebef;
    background: #fafbfc;
}
#vezeta-app .vezeta-collapsible-section[open] .vezeta-collapsible-chevron {
    transform: rotate(180deg);
}
#vezeta-app .vezeta-collapsible-body {
    padding: 10px;
}
#vezeta-app .vezeta-history-collapsible {
    margin-top: 18px;
}
#vezeta-app .vezeta-history-collapsible .vezeta-history-list {
    margin: 0;
}
#vezeta-app .vezeta-maneuver-collapsible {
    margin-top: 16px;
}

#vezeta-app .vezeta-history-item {
    padding: 11px;
    border-radius: 12px;
}
#vezeta-app .vezeta-history-item-date {
    font-weight: 800;
    color: var(--vezeta-text);
    margin-bottom: 3px;
}
#vezeta-app .vezeta-history-item strong {
    font-size: 12px;
}
#vezeta-app .vezeta-history-item span {
    font-size: 10px;
}
#vezeta-app .vezeta-history-item-right {
    min-width: 70px;
}
#vezeta-app .vezeta-history-item-right span {
    font-size: 9px;
}

@media (max-width: 420px) {
    #vezeta-app .vezeta-finance-page-head .vezeta-finance-head-actions {
        grid-template-columns: 1fr 1fr;
    }
    #vezeta-app .vezeta-finance-page-head .vezeta-finance-head-actions #vezeta-finance-privacy-toggle {
        font-size: 11px;
    }
    #vezeta-app .vezeta-settings-add-box #vezeta-save-rate {
        font-size: 11.5px;
    }
}


/* 0.9.1 – CSV adatimport */
#vezeta-app .vezeta-import-box{margin-top:20px;padding:15px;border:1px solid #dfe4ea;border-radius:16px;background:#fff}
#vezeta-app .vezeta-import-actions{display:grid;grid-template-columns:1fr;gap:8px}
#vezeta-app .vezeta-import-actions .vezeta-btn{margin-top:0}
#vezeta-app .vezeta-import-file-label{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;padding:15px 18px;margin-top:0;border-radius:14px;background:#eef3f6;color:var(--vezeta-text);font-size:16px;font-weight:800;cursor:pointer;text-align:center}
#vezeta-app .vezeta-import-file-name{margin-top:8px;font-size:12px;color:var(--vezeta-muted);word-break:break-word}
#vezeta-app .vezeta-import-status,#vezeta-app .vezeta-import-preview{margin-top:10px;padding:12px 14px;border-radius:14px;border:1px solid #dfe4ea;background:#f3f6f8;font-size:13px;line-height:1.45}
#vezeta-app .vezeta-import-status.is-error{background:#fff0f0;border-color:#f0caca;color:#8a2222}
#vezeta-app .vezeta-import-status.is-ok{background:#edf7ef;color:#28743a}
#vezeta-app .vezeta-import-preview strong{display:block;margin-bottom:4px}
#vezeta-app .vezeta-import-preview small{display:block;margin-top:5px;color:var(--vezeta-muted)}
#vezeta-app #vezeta-import-check,#vezeta-app #vezeta-import-run{margin-top:10px}

/* 0.9.9 – összesített tanulói statisztika és vizsgakövetelmény vizualizáció */
.vezeta-lesson-type-choices { margin-bottom: 8px; }
.vezeta-lesson-type-choice { min-height: 58px; }
.vezeta-lesson-type-choice strong { font-size: 16px; }
.vezeta-lesson-type-choice span { font-size: 11px; }
.vezeta-selected-lesson-type { margin-bottom: 12px; }
.vezeta-eligibility-card { margin: 10px 0 18px; padding: 13px; border: 1px solid #e1e6ea; border-radius: 12px; background: #f8fafb; }
.vezeta-eligibility-card.is-ok { border-color: #cfe3d5; background: #f4faf6; }
.vezeta-eligibility-status { font-weight: 800; margin-bottom: 10px; }
.vezeta-eligibility-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.vezeta-eligibility-grid > div { background: #fff; border: 1px solid #e7ebee; border-radius: 11px; padding: 9px 10px; min-width: 0; }
.vezeta-eligibility-grid > div.is-complete { border-color: #cfe3d5; background: #f4faf6; }
.vezeta-eligibility-grid > div.is-missing { border-color: #f0caca; background: #fff7f7; }
.vezeta-eligibility-code { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.vezeta-eligibility-grid b { display: block; font-size: 13px; }
.vezeta-eligibility-grid span { display: block; color: #68737d; font-size: 11px; margin-top: 3px; }
.vezeta-eligibility-grid em { display: block; color: #c53a3a; font-size: 11px; font-style: normal; font-weight: 900; margin-top: 4px; }
.vezeta-eligibility-grid .eligibility-check, .vezeta-eligibility-grid .eligibility-x { display: flex; align-items: center; justify-content: center; width: 27px; height: 27px; border-radius: 50%; font-size: 17px; line-height: 1; margin: 0; }
.vezeta-eligibility-grid .eligibility-check { background: #dff1e4; color: #287545; }
.vezeta-eligibility-grid .eligibility-x { background: #fde0e0; color: #c53a3a; }
.vezeta-eligibility-missing { margin-top: 10px; padding-top: 9px; border-top: 1px solid #e5e9ec; font-size: 12px; }
.vezeta-eligibility-tip { margin-top: 9px; padding: 9px 10px; border-radius: 8px; background: #fff; color: #59656f; font-size: 11px; line-height: 1.45; }
@media (max-width: 430px) {
    .vezeta-eligibility-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* 0.9.11 – új tanuló: korábbi vezetési előélet */
#vezeta-app .vezeta-form-section-title{
    margin:18px 0 10px;
    font-size:14px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#56616c;
}
#vezeta-app .vezeta-history-entry-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
#vezeta-app .vezeta-history-entry-card{
    border:1px solid #dfe4e8;
    border-radius:14px;
    padding:12px;
    background:#fafbfc;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 9px;
    align-items:center;
}
#vezeta-app .vezeta-history-entry-card strong{
    font-size:18px;
    line-height:1;
}
#vezeta-app .vezeta-history-entry-card > span{
    grid-column:1 / -1;
    font-size:11px;
    color:#69747e;
    margin-top:-2px;
}
#vezeta-app .vezeta-history-entry-card label{
    font-size:11px;
    font-weight:700;
    color:#69747e;
}
#vezeta-app .vezeta-history-entry-card .vezeta-form-input{
    width:100%;
    min-width:0;
    margin:0;
}
@media (max-width:640px){
    #vezeta-app .vezeta-history-entry-grid{grid-template-columns:1fr}
}


/* 0.9.12 – KVAR óra gyorsrögzítés */
#vezeta-app .vezeta-kvar-box{
    margin-top:20px;
    padding:15px;
    border:1px solid #dfe4ea;
    border-radius:16px;
    background:#fff;
}
#vezeta-app .vezeta-kvar-textarea{
    width:100%;
    box-sizing:border-box;
    min-height:210px;
    resize:vertical;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
    font-size:12px;
    line-height:1.45;
}
#vezeta-app .vezeta-kvar-km-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:10px;
}
#vezeta-app .vezeta-kvar-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:10px;
}
#vezeta-app .vezeta-kvar-preview{
    margin-top:10px;
    padding:13px 14px;
    border:1px solid #cfe3d5;
    border-radius:14px;
    background:#f4faf6;
    font-size:13px;
    line-height:1.45;
}
#vezeta-app .vezeta-kvar-preview>strong{
    display:block;
    margin-bottom:9px;
}
#vezeta-app .vezeta-kvar-preview-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}
#vezeta-app .vezeta-kvar-preview-grid>div{
    padding:8px 9px;
    background:#fff;
    border:1px solid #e0e7e2;
    border-radius:10px;
    min-width:0;
}
#vezeta-app .vezeta-kvar-preview-grid span{
    display:block;
    color:var(--vezeta-muted);
    font-size:10px;
    margin-bottom:2px;
}
#vezeta-app .vezeta-kvar-preview-grid b{
    display:block;
    overflow-wrap:anywhere;
}
#vezeta-app .vezeta-kvar-preview small{
    display:block;
    margin-top:9px;
    color:var(--vezeta-muted);
}
#vezeta-app .vezeta-kvar-tip{
    margin-top:10px;
}
@media(max-width:560px){
    #vezeta-app .vezeta-kvar-km-grid,
    #vezeta-app .vezeta-kvar-preview-grid{
        grid-template-columns:1fr;
    }
}


/* 0.9.19 – történeti óra módosítás / múltbéli befizetés */
.vezeta-lesson-modified-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 6px;
    font-size: 15px;
    vertical-align: middle;
}
.vezeta-modified-notice {
    margin: 12px 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff7d6;
    border: 1px solid #e8cf68;
    color: #6f5a00;
    font-size: 13px;
    font-weight: 600;
}
.vezeta-history-edit-actions {
    margin: 14px 0 4px;
}
.vezeta-payment-history-toggle {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin: 16px 0;
    padding: 13px 14px;
    border-radius: 12px;
    border: 1px solid #e4c85b;
    background: #fff9df;
    cursor: pointer;
}
.vezeta-payment-history-toggle input {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex: 0 0 auto;
}
.vezeta-payment-history-toggle span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.vezeta-payment-history-toggle small {
    color: #665d38;
    line-height: 1.45;
}

.vezeta-finance-history-badge { display:inline-block; margin-left:6px; padding:2px 6px; border-radius:7px; background:#fff0b8; color:#6f5a00; font-size:10px; font-weight:800; vertical-align:middle; }

.vezeta-modification-log { display:flex; flex-direction:column; gap:8px; }
.vezeta-modification-log-item { display:grid; grid-template-columns: 130px 1fr; gap:5px 10px; padding:10px 0; border-bottom:1px solid rgba(0,0,0,.08); }
.vezeta-modification-log-item span { grid-column:1 / -1; font-size:11px; opacity:.65; }
.vezeta-modification-log-item strong { font-size:13px; }
.vezeta-modification-log-item em { font-size:13px; font-style:normal; overflow-wrap:anywhere; }

/* Vezeta 0.9.22 – pénzügyi áttekintés */
#vezeta-app .vezeta-finance-kpi small{display:block;margin-top:3px;font-size:11px;color:#7b858e;line-height:1.25}
#vezeta-app .vezeta-finance-student{display:grid;grid-template-columns:minmax(210px,1.6fr) minmax(125px,1fr) minmax(125px,1fr) minmax(125px,1fr) 22px;align-items:center;gap:14px;text-align:left}
#vezeta-app .vezeta-finance-student-main{min-width:0}
#vezeta-app .vezeta-finance-student-main small{display:block;white-space:normal}
#vezeta-app .vezeta-finance-student-value b{font-size:13px}
#vezeta-app .vezeta-finance-student-value small{display:block}
@media(max-width:900px){#vezeta-app .vezeta-finance-student{grid-template-columns:minmax(180px,1.5fr) repeat(2,minmax(110px,1fr)) 22px}#vezeta-app .vezeta-finance-student-value{display:none}}
@media(max-width:600px){#vezeta-app .vezeta-finance-student{grid-template-columns:1fr 1fr 22px;gap:8px}#vezeta-app .vezeta-finance-student-main{grid-column:1/-1}#vezeta-app .vezeta-finance-student-main small{font-size:11px}#vezeta-app .vezeta-finance-student-value{display:none}}
.vezeta-settlement-form{margin-top:18px}.vezeta-settlement-result,.vezeta-settlement-preview{margin-top:16px}.vezeta-settlement-check-card,.vezeta-settlement-note{padding:14px 16px;border-radius:12px;background:#f6f7f8;border:1px solid #ddd}.vezeta-settlement-ok{margin-top:8px;padding:10px 12px;border-radius:10px;background:#eef8ef}.vezeta-settlement-warning{margin-top:8px;padding:10px 12px;border-radius:10px;background:#fff7df}.vezeta-settlement-error{margin-top:8px;padding:10px 12px;border-radius:10px;background:#fff0f0;border:1px solid #e0b4b4}.vezeta-settlement-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.vezeta-settlement-summary-grid>div{padding:14px;border:1px solid #ddd;border-radius:12px;background:#fff}.vezeta-settlement-summary-grid span,.vezeta-settlement-summary-grid b{display:block}.vezeta-settlement-summary-grid span{font-size:12px;opacity:.72}.vezeta-settlement-summary-grid b{font-size:20px;margin-top:5px}.vezeta-settlement-summary-grid .is-total{grid-column:1/-1}.vezeta-settlement-summary-grid .is-total b{font-size:27px}.vezeta-settlement-details{border-top:1px solid #ddd;padding:12px 0}.vezeta-settlement-details summary{cursor:pointer;font-weight:700}.vezeta-settlement-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:9px 0;border-bottom:1px solid #eee;font-size:14px}.vezeta-settlement-row b{white-space:nowrap}.vezeta-settlement-note{margin:14px 0}.vezeta-finance-head-actions{flex-wrap:wrap}@media(max-width:600px){.vezeta-settlement-summary-grid{grid-template-columns:1fr}.vezeta-settlement-summary-grid .is-total{grid-column:auto}.vezeta-settlement-row{grid-template-columns:1fr auto}.vezeta-settlement-row b{grid-column:2;grid-row:1}}

/* 0.9.26 – pénzügyi tanulók és befizetések óradíj-kategóriánként csoportosítva */
#vezeta-app .vezeta-finance-rate-group{border:1px solid #dfe4ea;border-radius:16px;background:#fff;overflow:hidden;margin:10px 0}
#vezeta-app .vezeta-finance-rate-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 15px;min-height:54px;background:#fafbfc}
#vezeta-app .vezeta-finance-rate-group>summary::-webkit-details-marker{display:none}
#vezeta-app .vezeta-finance-rate-group>summary strong{font-size:13px}
#vezeta-app .vezeta-finance-rate-group>summary span{font-size:11px;color:var(--vezeta-muted);margin-left:auto;text-align:right}
#vezeta-app .vezeta-finance-rate-group>summary b{font-size:14px;color:var(--vezeta-muted);flex:0 0 auto}
#vezeta-app .vezeta-finance-rate-group-list{padding:0 10px 10px}
#vezeta-app .vezeta-finance-rate-group .vezeta-finance-student{margin-top:8px}
#vezeta-app .vezeta-finance-payment-group .vezeta-finance-payment{margin:0 4px;padding:12px 5px}
@media(max-width:600px){#vezeta-app .vezeta-finance-rate-group>summary{align-items:flex-start;flex-wrap:wrap}#vezeta-app .vezeta-finance-rate-group>summary span{width:100%;margin-left:0;text-align:left}#vezeta-app .vezeta-finance-rate-group-list{padding:0 6px 8px}}

/* 0.9.27 – saját pénzügyi és oktatói riport */
#vezeta-app .vezeta-riport-period{margin-top:18px;padding:15px;border:1px solid #dfe4ea;border-radius:16px;background:#fafbfc}
#vezeta-app .vezeta-riport-period-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#vezeta-app .vezeta-riport-headline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;border-radius:12px;background:#f3f7f4;border:1px solid #d5e4d8}
#vezeta-app .vezeta-riport-headline span,#vezeta-app .vezeta-riport-headline strong{display:block}
#vezeta-app .vezeta-riport-headline span{font-size:11px;opacity:.7}.vezeta-riport-live-badge{font-size:12px;font-weight:700;white-space:nowrap}
#vezeta-app .vezeta-riport-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
#vezeta-app .vezeta-riport-kpis>div{padding:15px;border:1px solid #dfe4ea;border-radius:14px;background:#fff}
#vezeta-app .vezeta-riport-kpis strong,#vezeta-app .vezeta-riport-kpis span,#vezeta-app .vezeta-riport-kpis small{display:block}
#vezeta-app .vezeta-riport-kpis strong{font-size:23px;line-height:1.15;margin-bottom:6px}.vezeta-riport-kpis span{font-size:12px;font-weight:700}.vezeta-riport-kpis small{font-size:11px;color:#727b84;margin-top:4px}
#vezeta-app .vezeta-riport-section{margin:12px 0;padding:15px;border:1px solid #dfe4ea;border-radius:16px;background:#fff}
#vezeta-app .vezeta-riport-section h3{margin:0 0 12px;font-size:16px}
#vezeta-app .vezeta-riport-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#vezeta-app .vezeta-riport-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#vezeta-app .vezeta-riport-compare>div{padding:12px;border-radius:12px;background:#f6f7f8}.vezeta-riport-compare span,.vezeta-riport-compare b{display:block}.vezeta-riport-compare span{font-size:11px;opacity:.7}.vezeta-riport-compare b{font-size:18px;margin-top:5px}
#vezeta-app .vezeta-riport-lines>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eee}.vezeta-riport-lines .total{border-top:2px solid #222;border-bottom:0;font-size:18px;padding-top:13px}
#vezeta-app .vezeta-riport-big-stat strong,#vezeta-app .vezeta-riport-big-stat span,#vezeta-app .vezeta-riport-big-stat small{display:block}.vezeta-riport-big-stat strong{font-size:30px}.vezeta-riport-big-stat span{font-weight:700;margin-top:5px}.vezeta-riport-big-stat small{margin-top:6px;color:#69727b}
#vezeta-app .vezeta-riport-bars{display:flex;flex-direction:column;gap:13px}.vezeta-riport-bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px}.vezeta-riport-bar-row>div:first-child span{font-size:11px;color:#727b84}.vezeta-riport-bar{height:9px;background:#edf0f2;border-radius:10px;overflow:hidden;margin:5px 0}.vezeta-riport-bar i{display:block;height:100%;background:#4c5965;border-radius:10px}.vezeta-riport-bar-row>b{font-size:12px}
#vezeta-app .vezeta-riport-table{overflow-x:auto}.vezeta-riport-table>div{display:grid;grid-template-columns:minmax(170px,2fr) 1fr 1fr 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #eee;min-width:560px}.vezeta-riport-table .head{font-size:11px;font-weight:800;opacity:.65}.vezeta-riport-table .empty{display:block;min-width:0;color:#777}
#vezeta-app .vezeta-riport-day-list>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eee}
#vezeta-app .vezeta-riport-fun>div{padding:9px 0;border-bottom:1px solid #eee}.vezeta-riport-fun span{display:block;margin-left:25px;font-size:12px;color:#69727b;margin-top:2px}
#vezeta-app .vezeta-riport-note,#vezeta-app .vezeta-riport-footer{margin-top:12px;padding:11px 12px;border-radius:10px;background:#f6f7f8;font-size:12px;color:#68717a}
@media(max-width:700px){#vezeta-app .vezeta-riport-kpis{grid-template-columns:1fr 1fr}#vezeta-app .vezeta-riport-grid-2{grid-template-columns:1fr}#vezeta-app .vezeta-riport-compare{grid-template-columns:1fr}.vezeta-riport-headline{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){#vezeta-app .vezeta-riport-kpis{grid-template-columns:1fr}.vezeta-riport-period-actions .vezeta-btn{width:100%}}


/* ==========================================================
   VEZETA 0.9.28 – külön mobilbarát belépőoldal
   ========================================================== */
.vezeta-login-page {
    min-height: min(100svh, 900px);
    margin: 0;
    padding: clamp(28px, 7vw, 72px) 18px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 20% 10%, rgba(255, 193, 7, .12), transparent 34%),
        radial-gradient(circle at 90% 90%, rgba(35, 102, 255, .12), transparent 38%),
        #0b0f16;
    color: #fff;
    isolation: isolate;
}

.vezeta-login-page * {
    box-sizing: border-box;
}

.vezeta-login-glow {
    position: absolute;
    border-radius: 999px;
    filter: blur(2px);
    opacity: .75;
    pointer-events: none;
    z-index: -1;
}

.vezeta-login-glow-one {
    width: 220px;
    height: 220px;
    left: -100px;
    top: 12%;
    background: rgba(255, 193, 7, .09);
}

.vezeta-login-glow-two {
    width: 300px;
    height: 300px;
    right: -150px;
    bottom: -120px;
    background: rgba(31, 94, 255, .11);
}

.vezeta-login-card {
    width: min(100%, 440px);
    padding: clamp(26px, 7vw, 42px);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 28px;
    background: rgba(19, 24, 33, .94);
    box-shadow: 0 28px 80px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.025) inset;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.vezeta-login-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
}

.vezeta-login-logo-mark {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    font-size: 24px;
    font-weight: 900;
    color: #111;
    background: linear-gradient(145deg, #ffd84a, #ffb300);
    box-shadow: 0 10px 26px rgba(255,179,0,.22);
    transform: rotate(-3deg);
}

.vezeta-login-logo-word {
    font-size: 23px;
    line-height: 1;
    letter-spacing: .08em;
    font-weight: 900;
}

.vezeta-login-logo-word span {
    opacity: .45;
    font-size: .55em;
    margin-left: 2px;
    letter-spacing: .04em;
}

.vezeta-login-kicker {
    margin-bottom: 8px;
    color: #ffca28;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .16em;
    font-weight: 800;
}

.vezeta-login-card h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 7vw, 36px);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.vezeta-login-lead {
    margin: 11px 0 25px;
    color: rgba(255,255,255,.62);
    font-size: 15px;
    line-height: 1.5;
}

.vezeta-login-form-wrap form {
    margin: 0;
}

.vezeta-login-form-wrap p {
    margin: 0 0 16px;
}

.vezeta-login-form-wrap label {
    display: block;
    margin: 0 0 7px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 700;
}

.vezeta-login-form-wrap input[type="text"],
.vezeta-login-form-wrap input[type="email"],
.vezeta-login-form-wrap input[type="password"] {
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 0 15px;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 14px !important;
    outline: none;
    background: #0e131b !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
}

.vezeta-login-form-wrap input[type="text"]:focus,
.vezeta-login-form-wrap input[type="email"]:focus,
.vezeta-login-form-wrap input[type="password"]:focus {
    border-color: #ffca28 !important;
    box-shadow: 0 0 0 3px rgba(255,202,40,.10) !important;
}

.vezeta-login-form-wrap .login-remember {
    margin: -2px 0 18px;
}

.vezeta-login-form-wrap .login-remember label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 13px;
    font-weight: 600;
}

.vezeta-login-form-wrap .login-remember input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: #ffca28;
}

.vezeta-login-form-wrap .login-submit {
    margin: 0;
}

.vezeta-login-form-wrap input[type="submit"] {
    width: 100%;
    min-height: 54px;
    border: 0 !important;
    border-radius: 15px !important;
    padding: 13px 18px;
    background: linear-gradient(135deg, #ffd54f, #ffb300) !important;
    color: #141414 !important;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .01em;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(255,179,0,.18);
    transition: transform .16s ease, filter .16s ease;
}

.vezeta-login-form-wrap input[type="submit"]:hover {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

.vezeta-login-form-wrap input[type="submit"]:active {
    transform: translateY(1px) scale(.995);
}

.vezeta-login-lost {
    display: block;
    margin-top: 17px;
    color: rgba(255,255,255,.52) !important;
    font-size: 13px;
    text-align: center;
    text-decoration: none !important;
}

.vezeta-login-lost:hover {
    color: #ffca28 !important;
}

.vezeta-login-foot {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 27px;
    color: rgba(255,255,255,.30);
    font-size: 11px;
    letter-spacing: .03em;
}

@media (max-width: 520px) {
    .vezeta-login-page {
        min-height: 100svh;
        padding: 18px 13px;
        align-items: center;
    }

    .vezeta-login-card {
        border-radius: 23px;
        padding: 25px 20px 22px;
    }

    .vezeta-login-logo {
        margin-bottom: 23px;
    }

    .vezeta-login-card h1 {
        font-size: 30px;
    }

    .vezeta-login-lead {
        margin-bottom: 22px;
    }
}

/* ==========================================================
   VEZETA 0.9.29 – szerepkör-választós mobil belépő
   ========================================================== */
.vezeta-login-page {
    min-height: 100svh;
    padding: clamp(26px, 6vw, 64px) 18px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 15% 15%, rgba(255,193,7,.13), transparent 31%),
        radial-gradient(circle at 88% 82%, rgba(31,94,255,.14), transparent 34%),
        #090d14;
    color: #fff;
    isolation: isolate;
}
.vezeta-login-page * { box-sizing:border-box; }
.vezeta-login-shell { width:min(100%, 920px); position:relative; z-index:2; }
.vezeta-login-brand { display:flex; align-items:center; justify-content:center; gap:13px; margin-bottom:30px; }
.vezeta-login-brand-mark {
    width:54px;height:54px;border-radius:17px;display:grid;place-items:center;
    background:linear-gradient(145deg,#ffe071,#ffb300);color:#111;font-size:27px;font-weight:950;
    transform:rotate(-4deg);box-shadow:0 14px 32px rgba(255,179,0,.2);
}
.vezeta-login-brand-word { font-size:28px; line-height:1; letter-spacing:.1em; font-weight:950; }
.vezeta-login-brand-word span { font-size:.52em; opacity:.42; margin-left:2px; letter-spacing:.04em; }
.vezeta-login-brand-tagline { margin-top:5px; color:rgba(255,255,255,.46); font-size:12px; letter-spacing:.04em; }
.vezeta-role-panel,
.vezeta-instructor-login,
.vezeta-student-login {
    width:100%; max-width:920px; margin:0 auto; padding:clamp(25px,5vw,48px);
    border:1px solid rgba(255,255,255,.09); border-radius:30px;
    background:rgba(18,23,32,.92); box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.02) inset;
    backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
}
.vezeta-role-panel h1,.vezeta-instructor-login h1,.vezeta-student-login h1 { margin:0;color:#fff;font-size:clamp(30px,5vw,42px);line-height:1.05;letter-spacing:-.035em; }
.vezeta-login-kicker { margin-bottom:8px;color:#ffca28;font-size:11px;line-height:1.2;letter-spacing:.16em;font-weight:850; }
.vezeta-login-lead { margin:11px 0 28px;color:rgba(255,255,255,.61);font-size:15px;line-height:1.5; }
.vezeta-role-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.vezeta-role-card {
    min-height:220px; position:relative; overflow:hidden; text-align:left; cursor:pointer;
    padding:27px; border:1px solid rgba(255,255,255,.10); border-radius:23px; color:#fff;
    background:linear-gradient(145deg,rgba(33,40,53,.96),rgba(17,22,31,.96));
    box-shadow:0 15px 35px rgba(0,0,0,.20); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.vezeta-role-card:hover { transform:translateY(-3px);border-color:rgba(255,202,40,.46);box-shadow:0 20px 45px rgba(0,0,0,.28); }
.vezeta-role-card:active { transform:translateY(1px) scale(.995); }
.vezeta-role-card:focus-visible { outline:3px solid rgba(255,202,40,.55);outline-offset:3px; }
.vezeta-role-icon {
    width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:30px;
    background:rgba(255,202,40,.12);border:1px solid rgba(255,202,40,.18);margin-bottom:26px;
}
.vezeta-role-content { display:block;position:relative;z-index:2;max-width:80%; }
.vezeta-role-content strong { display:block;font-size:25px;line-height:1.1;font-weight:900;letter-spacing:-.02em; }
.vezeta-role-content small { display:block;margin-top:9px;color:rgba(255,255,255,.53);font-size:13px;line-height:1.45;font-weight:500; }
.vezeta-role-arrow { position:absolute;right:25px;top:27px;font-size:27px;font-weight:300;color:#ffca28;transition:transform .18s ease;z-index:3; }
.vezeta-role-card:hover .vezeta-role-arrow { transform:translateX(4px); }
.vezeta-role-road {
    position:absolute;left:-20%;right:-20%;bottom:-48px;height:105px;transform:rotate(-7deg);
    background:linear-gradient(90deg,transparent 0 25%,rgba(255,255,255,.10) 25% 27%,transparent 27% 47%,rgba(255,255,255,.10) 47% 49%,transparent 49% 70%,rgba(255,255,255,.10) 70% 72%,transparent 72%);
    opacity:.65;
}
.vezeta-role-instructor { background:linear-gradient(145deg,rgba(50,47,34,.98),rgba(18,22,29,.98)); }
.vezeta-role-student { background:linear-gradient(145deg,rgba(30,42,58,.98),rgba(17,22,31,.98)); }
.vezeta-role-student .vezeta-role-icon { background:rgba(75,142,255,.12);border-color:rgba(75,142,255,.20); }
.vezeta-role-student .vezeta-role-arrow { color:#78a8ff; }
.vezeta-student-coming {
    margin-top:18px;padding:16px 17px;border-radius:17px;border:1px solid rgba(120,168,255,.20);
    background:rgba(57,101,170,.10);display:flex;align-items:center;gap:12px;
}
.vezeta-student-coming > span { font-size:26px; }
.vezeta-student-coming strong { display:block;font-size:14px; }
.vezeta-student-coming p { margin:3px 0 0;color:rgba(255,255,255,.52);font-size:12px; }
.vezeta-role-back,.vezeta-login-back {
    margin-left:auto;border:0;background:transparent;color:#ffca28;font-size:12px;font-weight:800;cursor:pointer;padding:8px 0;
}
.vezeta-login-back { display:inline-flex;margin:0 0 24px;color:rgba(255,255,255,.58);font-weight:700; }
.vezeta-login-back:hover { color:#ffca28; }
.vezeta-instructor-login[hidden],.vezeta-student-login[hidden],.vezeta-student-coming[hidden] { display:none; }
.vezeta-login-form-wrap form { margin:0; }
.vezeta-login-form-wrap p { margin:0 0 16px; }
.vezeta-login-form-wrap label { display:block;margin:0 0 7px;color:rgba(255,255,255,.82);font-size:13px;font-weight:700; }
.vezeta-login-form-wrap input[type="text"],.vezeta-login-form-wrap input[type="email"],.vezeta-login-form-wrap input[type="password"] {
    width:100%;height:52px;margin:0;padding:0 15px;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;
    outline:none;background:#0e131b!important;color:#fff!important;box-shadow:none!important;font-size:16px;-webkit-appearance:none;appearance:none;
}
.vezeta-login-form-wrap input[type="text"]:focus,.vezeta-login-form-wrap input[type="email"]:focus,.vezeta-login-form-wrap input[type="password"]:focus { border-color:#ffca28!important;box-shadow:0 0 0 3px rgba(255,202,40,.10)!important; }
.vezeta-login-form-wrap .login-remember { margin:-2px 0 18px; }
.vezeta-login-form-wrap .login-remember label { display:flex;align-items:center;gap:9px;margin:0;color:rgba(255,255,255,.62);font-size:13px;font-weight:600; }
.vezeta-login-form-wrap .login-remember input { width:17px;height:17px;margin:0;accent-color:#ffca28; }
.vezeta-login-form-wrap .login-submit { margin:0; }
.vezeta-login-form-wrap input[type="submit"] {
    width:100%;min-height:54px;border:0!important;border-radius:15px!important;padding:13px 18px;
    background:linear-gradient(135deg,#ffd54f,#ffb300)!important;color:#141414!important;font-size:15px;font-weight:900;letter-spacing:.01em;cursor:pointer;
    box-shadow:0 12px 28px rgba(255,179,0,.18);transition:transform .16s ease,filter .16s ease;
}
.vezeta-login-form-wrap input[type="submit"]:hover { filter:brightness(1.04);transform:translateY(-1px); }
.vezeta-login-form-wrap input[type="submit"]:active { transform:translateY(1px) scale(.995); }
.vezeta-login-lost { display:block;margin-top:17px;color:rgba(255,255,255,.52)!important;font-size:13px;text-align:center;text-decoration:none!important; }
.vezeta-login-lost:hover { color:#ffca28!important; }
.vezeta-login-foot { display:flex;justify-content:center;gap:8px;margin-top:25px;color:rgba(255,255,255,.27);font-size:11px;letter-spacing:.03em; }
.vezeta-login-road { position:absolute;pointer-events:none;z-index:-1;opacity:.17; }
.vezeta-login-road-one { width:520px;height:150px;right:-220px;top:15%;border:2px solid rgba(255,255,255,.20);border-radius:50%;transform:rotate(-16deg); }
.vezeta-login-road-two { width:480px;height:120px;left:-240px;bottom:8%;border:2px solid rgba(255,202,40,.22);border-radius:50%;transform:rotate(12deg); }
@media (max-width:680px) {
    .vezeta-login-page { padding:18px 13px;align-items:center; }
    .vezeta-login-brand { margin-bottom:20px; }
    .vezeta-login-brand-mark { width:48px;height:48px;border-radius:15px;font-size:24px; }
    .vezeta-login-brand-word { font-size:24px; }
    .vezeta-login-brand-tagline { font-size:11px; }
    .vezeta-role-panel,.vezeta-instructor-login { padding:23px 18px;border-radius:24px; }
    .vezeta-role-panel h1,.vezeta-instructor-login h1,.vezeta-student-login h1 { font-size:31px; }
    .vezeta-login-lead { margin-bottom:21px; }
    .vezeta-role-grid { grid-template-columns:1fr;gap:12px; }
    .vezeta-role-card { min-height:150px;padding:21px; }
    .vezeta-role-icon { width:50px;height:50px;border-radius:16px;font-size:26px;margin-bottom:17px; }
    .vezeta-role-content strong { font-size:22px; }
    .vezeta-role-content small { font-size:12px;margin-top:6px;max-width:90%; }
    .vezeta-role-arrow { right:19px;top:20px; }
    .vezeta-role-road { bottom:-54px; }
    .vezeta-student-coming { flex-wrap:wrap; }
    .vezeta-role-back { margin-left:auto; }
}


/* ==========================================================
   VEZETA 0.9.30 – honlaphoz illő világos/sötét belépő
   - teljes szélességű app-rész a téma szűk konténere helyett
   - automatikus világos/sötét mód az eszköz beállítása szerint
   - kedves, véletlenszerű üdvözlés
   ========================================================== */
.vezeta-login-page {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-height: min(760px, 100svh);
    padding: clamp(34px, 5vw, 64px) 24px;
    background:
        radial-gradient(circle at 12% 10%, rgba(255,193,7,.10), transparent 27%),
        radial-gradient(circle at 88% 90%, rgba(75,126,255,.08), transparent 30%),
        #f7f8fa;
    color: #20262d;
}
.vezeta-login-shell { width: min(100%, 1120px); }
.vezeta-login-brand { margin-bottom: 28px; }
.vezeta-login-brand-mark {
    background: linear-gradient(145deg,#ffe071,#ffb300);
    box-shadow: 0 12px 28px rgba(255,179,0,.18);
}
.vezeta-login-brand-word { color:#303740; }
.vezeta-login-brand-word span { color:#303740; opacity:.42; }
.vezeta-login-brand-tagline { color:#7c858e; }
.vezeta-role-panel,
.vezeta-instructor-login,
.vezeta-student-login {
    max-width: 1120px;
    padding: clamp(28px, 4.2vw, 46px);
    border: 1px solid #e1e5e9;
    border-radius: 28px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 55px rgba(42,52,62,.10), 0 0 0 1px rgba(255,255,255,.65) inset;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.vezeta-role-panel h1,
.vezeta-instructor-login h1 { color:#242a31; }
.vezeta-login-kicker { color:#d59b00; }
.vezeta-login-lead { color:#737d86; }
.vezeta-role-card {
    border-color:#e1e5e9;
    color:#242a31;
    box-shadow:0 10px 26px rgba(42,52,62,.08);
}
.vezeta-role-card:hover {
    border-color:rgba(213,155,0,.48);
    box-shadow:0 18px 38px rgba(42,52,62,.13);
}
.vezeta-role-instructor {
    background:linear-gradient(145deg,#fff9e8,#ffffff 72%);
}
.vezeta-role-student {
    background:linear-gradient(145deg,#f1f6ff,#ffffff 72%);
}
.vezeta-role-icon {
    background:rgba(255,202,40,.13);
    border-color:rgba(213,155,0,.20);
}
.vezeta-role-student .vezeta-role-icon {
    background:rgba(75,126,255,.10);
    border-color:rgba(75,126,255,.18);
}
.vezeta-role-content small { color:#737d86; }
.vezeta-role-arrow { color:#d59b00; }
.vezeta-role-student .vezeta-role-arrow { color:#4d7fd8; }
.vezeta-role-road {
    background:linear-gradient(90deg,transparent 0 25%,rgba(48,55,64,.08) 25% 27%,transparent 27% 47%,rgba(48,55,64,.08) 47% 49%,transparent 49% 70%,rgba(48,55,64,.08) 70% 72%,transparent 72%);
}
.vezeta-student-coming {
    border-color:rgba(75,126,255,.18);
    background:rgba(75,126,255,.06);
}
.vezeta-student-coming p { color:#737d86; }
.vezeta-role-back,.vezeta-login-back { color:#c28d00; }
.vezeta-login-back { color:#7b858e; }
.vezeta-login-back:hover { color:#c28d00; }
.vezeta-login-form-wrap label { color:#4f5962; }
.vezeta-login-form-wrap input[type="text"],
.vezeta-login-form-wrap input[type="email"],
.vezeta-login-form-wrap input[type="password"] {
    border-color:#dfe4e8!important;
    background:#fff!important;
    color:#20262d!important;
}
.vezeta-login-form-wrap input[type="text"]:focus,
.vezeta-login-form-wrap input[type="email"]:focus,
.vezeta-login-form-wrap input[type="password"]:focus {
    border-color:#e2aa17!important;
    box-shadow:0 0 0 3px rgba(226,170,23,.12)!important;
}
.vezeta-login-form-wrap .login-remember label { color:#737d86; }
.vezeta-login-lost { color:#7c858e!important; }
.vezeta-login-lost:hover { color:#c28d00!important; }
.vezeta-login-foot { color:#a0a7ad; }

@media (prefers-color-scheme: dark) {
    .vezeta-login-page {
        background:
            radial-gradient(circle at 15% 10%, rgba(255,193,7,.13), transparent 31%),
            radial-gradient(circle at 88% 88%, rgba(31,94,255,.14), transparent 34%),
            #090d14;
        color:#fff;
    }
    .vezeta-login-brand-word { color:#fff; }
    .vezeta-login-brand-word span { color:#fff; opacity:.42; }
    .vezeta-login-brand-tagline { color:rgba(255,255,255,.46); }
    .vezeta-role-panel,
    .vezeta-instructor-login {
        border-color:rgba(255,255,255,.09);
        background:rgba(18,23,32,.92);
        box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.02) inset;
    }
    .vezeta-role-panel h1,
    .vezeta-instructor-login h1 { color:#fff; }
    .vezeta-login-kicker { color:#ffca28; }
    .vezeta-login-lead { color:rgba(255,255,255,.61); }
    .vezeta-role-card {
        border-color:rgba(255,255,255,.10);
        color:#fff;
        box-shadow:0 15px 35px rgba(0,0,0,.20);
    }
    .vezeta-role-card:hover {
        border-color:rgba(255,202,40,.46);
        box-shadow:0 20px 45px rgba(0,0,0,.28);
    }
    .vezeta-role-instructor { background:linear-gradient(145deg,rgba(50,47,34,.98),rgba(18,22,29,.98)); }
    .vezeta-role-student { background:linear-gradient(145deg,rgba(30,42,58,.98),rgba(17,22,31,.98)); }
    .vezeta-role-content small { color:rgba(255,255,255,.53); }
    .vezeta-role-arrow { color:#ffca28; }
    .vezeta-role-road {
        background:linear-gradient(90deg,transparent 0 25%,rgba(255,255,255,.10) 25% 27%,transparent 27% 47%,rgba(255,255,255,.10) 47% 49%,transparent 49% 70%,rgba(255,255,255,.10) 70% 72%,transparent 72%);
    }
    .vezeta-student-coming { border-color:rgba(120,168,255,.20); background:rgba(57,101,170,.10); }
    .vezeta-student-coming p { color:rgba(255,255,255,.52); }
    .vezeta-role-back { color:#ffca28; }
    .vezeta-login-back { color:rgba(255,255,255,.58); }
    .vezeta-login-back:hover { color:#ffca28; }
    .vezeta-login-form-wrap label { color:rgba(255,255,255,.82); }
    .vezeta-login-form-wrap input[type="text"],
    .vezeta-login-form-wrap input[type="email"],
    .vezeta-login-form-wrap input[type="password"] {
        border-color:rgba(255,255,255,.12)!important;
        background:#0e131b!important;
        color:#fff!important;
    }
    .vezeta-login-form-wrap input[type="text"]:focus,
    .vezeta-login-form-wrap input[type="email"]:focus,
    .vezeta-login-form-wrap input[type="password"]:focus {
        border-color:#ffca28!important;
        box-shadow:0 0 0 3px rgba(255,202,40,.10)!important;
    }
    .vezeta-login-form-wrap .login-remember label { color:rgba(255,255,255,.62); }
    .vezeta-login-lost { color:rgba(255,255,255,.52)!important; }
    .vezeta-login-lost:hover { color:#ffca28!important; }
    .vezeta-login-foot { color:rgba(255,255,255,.27); }
}

@media (max-width:680px) {
    .vezeta-login-page { padding:28px 13px 34px; min-height:calc(100svh - 10px); }
    .vezeta-login-shell { width:100%; }
    .vezeta-role-panel,
    .vezeta-instructor-login { padding:23px 18px; border-radius:24px; }
}


/* ==========================================================
   VEZETA 0.9.31 – Vezeta.hu piros arculati finomhangolás
   - a sárga akcentus helyett a honlap piros színe
   - a parkolócsíkos motívum marad
   ========================================================== */
.vezeta-login-kicker { color:#ed1835; }
.vezeta-role-card:hover { border-color:rgba(237,24,53,.48); }
.vezeta-role-card:focus-visible { outline-color:rgba(237,24,53,.48); }
.vezeta-role-icon { background:rgba(237,24,53,.10); border-color:rgba(237,24,53,.18); }
.vezeta-role-arrow { color:#ed1835; }
.vezeta-role-instructor { background:linear-gradient(145deg,#fff4f5,#ffffff 72%); }
.vezeta-role-student { background:linear-gradient(145deg,#f5f6f8,#ffffff 72%); }
.vezeta-role-student .vezeta-role-icon { background:rgba(237,24,53,.07); border-color:rgba(237,24,53,.15); }
.vezeta-role-student .vezeta-role-arrow { color:#ed1835; }
.vezeta-role-back,.vezeta-login-back { color:#c91630; }
.vezeta-login-back:hover { color:#ed1835; }
.vezeta-login-form-wrap input[type="text"]:focus,
.vezeta-login-form-wrap input[type="email"]:focus,
.vezeta-login-form-wrap input[type="password"]:focus {
    border-color:#ed1835!important;
    box-shadow:0 0 0 3px rgba(237,24,53,.11)!important;
}
.vezeta-login-form-wrap input[type="submit"] {
    background:linear-gradient(135deg,#f21b3d,#d91430)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(237,24,53,.20);
}
.vezeta-login-lost:hover { color:#ed1835!important; }

/* A parkolócsík maradjon jól látható, de ne legyen túl erős. */
.vezeta-role-road {
    background:linear-gradient(90deg,
        transparent 0 25%,rgba(48,55,64,.12) 25% 27%,
        transparent 27% 47%,rgba(48,55,64,.12) 47% 49%,
        transparent 49% 70%,rgba(48,55,64,.12) 70% 72%,transparent 72%);
}

@media (prefers-color-scheme: dark) {
    .vezeta-login-kicker { color:#ff3650; }
    .vezeta-role-card:hover { border-color:rgba(255,54,80,.48); }
    .vezeta-role-card:focus-visible { outline-color:rgba(255,54,80,.52); }
    .vezeta-role-icon { background:rgba(255,54,80,.10); border-color:rgba(255,54,80,.18); }
    .vezeta-role-arrow { color:#ff3650; }
    .vezeta-role-instructor { background:linear-gradient(145deg,rgba(56,30,35,.98),rgba(18,22,29,.98)); }
    .vezeta-role-student { background:linear-gradient(145deg,rgba(38,40,47,.98),rgba(17,22,31,.98)); }
    .vezeta-role-student .vezeta-role-icon { background:rgba(255,54,80,.08); border-color:rgba(255,54,80,.16); }
    .vezeta-role-student .vezeta-role-arrow { color:#ff3650; }
    .vezeta-role-back { color:#ff3650; }
    .vezeta-login-back:hover { color:#ff3650; }
    .vezeta-login-form-wrap input[type="text"]:focus,
    .vezeta-login-form-wrap input[type="email"]:focus,
    .vezeta-login-form-wrap input[type="password"]:focus {
        border-color:#ff3650!important;
        box-shadow:0 0 0 3px rgba(255,54,80,.12)!important;
    }
    .vezeta-login-form-wrap input[type="submit"] {
        background:linear-gradient(135deg,#ff3650,#e51d39)!important;
        box-shadow:0 12px 28px rgba(255,54,80,.20);
    }
    .vezeta-login-lost:hover { color:#ff3650!important; }
    .vezeta-role-road {
        background:linear-gradient(90deg,
            transparent 0 25%,rgba(255,255,255,.13) 25% 27%,
            transparent 27% 47%,rgba(255,255,255,.13) 47% 49%,
            transparent 49% 70%,rgba(255,255,255,.13) 70% 72%,transparent 72%);
    }
}

/* ==========================================================
   VEZETA 0.9.32 – saját Vezeta.hu logó + hozzá igazított fejléc
   ========================================================== */
.vezeta-login-brand {
    width: min(100%, 360px);
    margin: 0 auto 28px;
    padding: 14px 22px 13px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    background:#fff;
    border:1px solid rgba(42,48,55,.10);
    border-radius:20px;
    box-shadow:0 10px 28px rgba(30,36,42,.08);
}
.vezeta-login-brand-logo-wrap {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:78px;
}
.vezeta-login-brand-logo {
    display:block;
    width:min(100%, 190px);
    height:auto;
    max-height:96px;
    object-fit:contain;
}
.vezeta-login-brand-tagline {
    margin:0;
    color:#737b83;
    font-size:12px;
    line-height:1.2;
    letter-spacing:.045em;
    font-weight:600;
}

@media (prefers-color-scheme: dark) {
    .vezeta-login-brand {
        background:#fff;
        border-color:rgba(255,255,255,.14);
        box-shadow:0 12px 34px rgba(0,0,0,.28);
    }
    .vezeta-login-brand-tagline { color:#59616a; }
}

@media (max-width:520px) {
    .vezeta-login-brand {
        width:min(100%, 310px);
        margin-bottom:22px;
        padding:10px 18px 10px;
        border-radius:18px;
    }
    .vezeta-login-brand-logo-wrap { min-height:68px; }
    .vezeta-login-brand-logo { width:170px; max-height:82px; }
    .vezeta-login-brand-tagline { font-size:11px; }
}

/* ==========================================================
   VEZETA 0.9.34 – reszponziv finomhangolas
   - WordPress admin sav elrejtese az app oldalon (PHP)
   - nagyobb oldalsav desktopon, kisebb mobilon
   - parkolocsikos sav a sajat logo alatt
   - oktatoi szovegezesi finomitas
   ========================================================== */
.vezeta-login-page {
    padding-left: clamp(10px, 4.8vw, 72px);
    padding-right: clamp(10px, 4.8vw, 72px);
}

.vezeta-login-shell {
    width: min(100%, 1040px);
    margin-left: auto;
    margin-right: auto;
}

.vezeta-login-brand {
    width: min(100%, 390px);
    margin-bottom: 30px;
    overflow: hidden;
}

.vezeta-login-brand-road {
    width: calc(100% + 44px);
    height: 30px;
    margin: 3px -22px -13px;
    background:
        linear-gradient(180deg, rgba(237,24,53,.92) 0 4px, transparent 4px),
        repeating-linear-gradient(
            102deg,
            transparent 0 38px,
            rgba(255,255,255,.92) 38px 44px,
            transparent 44px 82px
        ),
        linear-gradient(180deg,#353b42,#1e2329);
    border-top: 1px solid rgba(0,0,0,.08);
}

@media (prefers-color-scheme: dark) {
    .vezeta-login-brand-road {
        background:
            linear-gradient(180deg, rgba(255,54,80,.95) 0 4px, transparent 4px),
            repeating-linear-gradient(
                102deg,
                transparent 0 38px,
                rgba(255,255,255,.92) 38px 44px,
                transparent 44px 82px
            ),
            linear-gradient(180deg,#353b42,#1e2329);
    }
}

@media (max-width: 680px) {
    .vezeta-login-page {
        padding-left: 8px;
        padding-right: 8px;
        padding-top: 20px;
        padding-bottom: 28px;
    }

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

    .vezeta-login-brand {
        width: min(100%, 310px);
        margin-bottom: 18px;
    }

    .vezeta-role-panel,
    .vezeta-instructor-login {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (min-width: 681px) {
    .vezeta-role-panel,
    .vezeta-instructor-login {
        padding-left: clamp(34px, 4vw, 52px);
        padding-right: clamp(34px, 4vw, 52px);
    }
}

/* VEZETA 0.9.34 – csak a saját autó + zöld pipa ikon, háttér és felirat nélkül */
.vezeta-login-brand-logo {
    width: 86px;
    height: 86px;
    max-height: 86px;
    object-fit: contain;
}
.vezeta-login-brand-road {
    display: none !important;
}
@media (max-width:520px) {
    .vezeta-login-brand-logo {
        width: 72px;
        height: 72px;
        max-height: 72px;
    }
}


/* ==========================================================
   VEZETA 0.9.35 – tiszta, lebegő logó a szerepválasztó fölött
   ========================================================== */
.vezeta-login-brand {
    width: auto !important;
    margin: 0 auto 26px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.vezeta-login-brand-logo {
    display: block;
    width: 96px !important;
    height: 96px !important;
    max-height: 96px !important;
    object-fit: contain;
    filter: none;
}
.vezeta-login-brand-logo-wrap,
.vezeta-login-brand-tagline,
.vezeta-login-brand-road {
    display: none !important;
}
@media (max-width: 680px) {
    .vezeta-login-brand {
        margin-bottom: 18px !important;
    }
    .vezeta-login-brand-logo {
        width: 78px !important;
        height: 78px !important;
        max-height: 78px !important;
    }
}


/* ==========================================================
   VEZETA 0.9.36 – valódi parkolócsík a lebegő ikon alatt
   - csak az autó + zöld pipa ikon
   - nincs sárga akcentus a szerepválasztó belépőn
   ========================================================== */
.vezeta-login-brand {
    width: min(100%, 520px) !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
.vezeta-login-brand-logo {
    width: 92px !important;
    height: 92px !important;
    max-height: 92px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto 12px !important;
}
.vezeta-login-brand-road {
    display: block !important;
    width: min(100%, 520px) !important;
    height: 46px !important;
    margin: 0 auto !important;
    border-radius: 12px !important;
    background:
        repeating-linear-gradient(102deg,
            transparent 0 46px,
            rgba(255,255,255,.92) 46px 52px,
            transparent 52px 96px),
        linear-gradient(180deg,#3b4148,#242a30) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 18px rgba(30,36,42,.08) !important;
    overflow: hidden !important;
}
/* A belépőn sehol ne jelenjen meg a korábbi sárga akcentus. */
.vezeta-login-page .vezeta-login-kicker,
.vezeta-login-page .vezeta-role-arrow,
.vezeta-login-page .vezeta-role-back,
.vezeta-login-page .vezeta-login-back { color: #ed1835 !important; }
.vezeta-login-page .vezeta-login-form-wrap input[type="text"]:focus,
.vezeta-login-page .vezeta-login-form-wrap input[type="email"]:focus,
.vezeta-login-page .vezeta-login-form-wrap input[type="password"]:focus {
    border-color: #ed1835 !important;
    box-shadow: 0 0 0 3px rgba(237,24,53,.10) !important;
}
.vezeta-login-page .vezeta-login-form-wrap .login-remember input { accent-color: #ed1835 !important; }
.vezeta-login-page .vezeta-login-form-wrap input[type="submit"] {
    background: linear-gradient(135deg,#f21b3d,#d91430) !important;
    color:#fff !important;
}
.vezeta-login-page .vezeta-login-lost:hover { color:#ed1835 !important; }
@media (max-width:680px) {
    .vezeta-login-brand { margin-bottom: 20px !important; }
    .vezeta-login-brand-logo { width: 76px !important; height: 76px !important; max-height:76px !important; margin-bottom: 10px !important; }
    .vezeta-login-brand-road { width: calc(100% - 10px) !important; height: 38px !important; border-radius:10px !important; }
}

/* ==========================================================
   VEZETA 0.9.37 – üdvözlőfelület a jóváhagyott referencia alapján
   - nincs külön parkolócsík a logó alatt
   - a parkolóhely-vonalak az egész üdvözlő háttér részei
   - lebegő autó + zöld pipa
   - világos, tiszta kártyák; desktopon 2 oszlop, mobilon 1
   ========================================================== */
.vezeta-login-page {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #fff !important;
}

.vezeta-login-shell {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 42px 34px !important;
    box-sizing: border-box !important;
    border-radius: 0 0 28px 28px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(241,243,245,.96)),
        #f0f1f2 !important;
    position: relative !important;
    overflow: hidden !important;
}

.vezeta-login-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        repeating-linear-gradient(
            132deg,
            transparent 0 145px,
            rgba(255,255,255,.86) 145px 151px,
            transparent 151px 290px
        ),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(225,228,231,.78));
    opacity: .92;
}

.vezeta-login-shell > * {
    position: relative;
    z-index: 1;
}

.vezeta-login-brand {
    width: 100% !important;
    margin: 0 auto 30px !important;
    padding: 34px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.vezeta-login-brand-logo {
    width: 104px !important;
    height: 104px !important;
    max-height: 104px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

.vezeta-login-brand-road {
    display: none !important;
}

.vezeta-role-panel,
.vezeta-instructor-login,
.vezeta-student-login {
    width: 100% !important;
    box-sizing: border-box !important;
}

.vezeta-role-panel {
    padding: 34px 22px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.vezeta-login-kicker {
    color: #69737c !important;
    letter-spacing: .16em !important;
}

.vezeta-role-panel h1 {
    color: #15191d !important;
    font-size: clamp(42px, 5vw, 68px) !important;
    line-height: 1.04 !important;
    margin: 8px 0 12px !important;
}

.vezeta-login-lead {
    color: #707982 !important;
    font-size: 18px !important;
}

.vezeta-role-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    margin-top: 30px !important;
}

.vezeta-role-card {
    min-height: 170px !important;
    padding: 26px 28px !important;
    border: 1px solid #e2e5e8 !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.94) !important;
    color: #161a1e !important;
    box-shadow: 0 12px 28px rgba(35,43,50,.09) !important;
    backdrop-filter: blur(4px);
}

.vezeta-role-card:hover {
    border-color: rgba(237,24,53,.34) !important;
    box-shadow: 0 18px 36px rgba(35,43,50,.13) !important;
    transform: translateY(-2px);
}

.vezeta-role-instructor,
.vezeta-role-student {
    background: rgba(255,255,255,.94) !important;
}

.vezeta-role-icon {
    width: 62px !important;
    height: 62px !important;
    border-radius: 50% !important;
    background: #fff0f2 !important;
    border: 0 !important;
}

.vezeta-role-student .vezeta-role-icon {
    background: #eef6ff !important;
    border: 0 !important;
}

.vezeta-role-content strong {
    color: #15191d !important;
    font-size: 24px !important;
}

.vezeta-role-content small {
    color: #737d86 !important;
    font-size: 14px !important;
}

.vezeta-role-arrow {
    color: #ed1835 !important;
    font-size: 38px !important;
}

.vezeta-role-road {
    display: none !important;
}

.vezeta-login-foot {
    color: #9299a0 !important;
    padding-top: 24px !important;
}

@media (prefers-color-scheme: dark) {
    .vezeta-login-page { background: #090d14 !important; }
    .vezeta-login-shell {
        background: #11161d !important;
    }
    .vezeta-login-shell::before {
        background:
            repeating-linear-gradient(
                132deg,
                transparent 0 145px,
                rgba(255,255,255,.09) 145px 151px,
                transparent 151px 290px
            ),
            linear-gradient(135deg,#171c22,#0e1218) !important;
        opacity: 1;
    }
    .vezeta-role-panel h1 { color:#fff !important; }
    .vezeta-login-kicker { color:#a9b0b7 !important; }
    .vezeta-login-lead { color:rgba(255,255,255,.60) !important; }
    .vezeta-role-card {
        background:rgba(22,28,36,.94) !important;
        border-color:rgba(255,255,255,.10) !important;
        color:#fff !important;
    }
    .vezeta-role-content strong { color:#fff !important; }
    .vezeta-role-content small { color:rgba(255,255,255,.56) !important; }
    .vezeta-role-icon { background:rgba(237,24,53,.12) !important; }
    .vezeta-role-student .vezeta-role-icon { background:rgba(90,150,255,.12) !important; }
    .vezeta-login-foot { color:rgba(255,255,255,.32) !important; }
}

@media (max-width: 680px) {
    .vezeta-login-shell {
        max-width: 100% !important;
        padding: 0 14px 26px !important;
        border-radius: 0 0 22px 22px !important;
    }
    .vezeta-login-shell::before {
        background:
            repeating-linear-gradient(
                132deg,
                transparent 0 105px,
                rgba(255,255,255,.88) 105px 111px,
                transparent 111px 210px
            ),
            linear-gradient(135deg,#f7f8f9,#e7e9eb) !important;
    }
    .vezeta-login-brand {
        padding-top: 24px !important;
        margin-bottom: 10px !important;
    }
    .vezeta-login-brand-logo {
        width: 82px !important;
        height: 82px !important;
        max-height: 82px !important;
    }
    .vezeta-role-panel {
        padding: 26px 4px 18px !important;
    }
    .vezeta-role-panel h1 {
        font-size: 42px !important;
    }
    .vezeta-login-lead {
        font-size: 16px !important;
    }
    .vezeta-role-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-top: 24px !important;
    }
    .vezeta-role-card {
        min-height: 142px !important;
        padding: 22px !important;
    }
}


/* ==========================================================
   VEZETA 0.9.38 – csak világos téma + kulturált visszalépés
   ========================================================== */
.vezeta-login-page,
.vezeta-login-page .vezeta-login-shell,
.vezeta-login-page .vezeta-role-panel,
.vezeta-login-page .vezeta-instructor-login {
    color-scheme: light !important;
}

/* A Vezeta belépőfelület mindig világos marad, függetlenül az eszköz témájától. */
.vezeta-login-page {
    background: #fff !important;
    color: #15191d !important;
}
.vezeta-login-page .vezeta-login-shell {
    background:
        repeating-linear-gradient(
            132deg,
            transparent 0 145px,
            rgba(255,255,255,.86) 145px 151px,
            transparent 151px 290px
        ),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(225,228,231,.80)) !important;
}
.vezeta-login-page .vezeta-role-panel h1,
.vezeta-login-page .vezeta-instructor-login h1 { color:#15191d !important; }
.vezeta-login-page .vezeta-login-kicker { color:#ed1835 !important; }
.vezeta-login-page .vezeta-login-lead { color:#707982 !important; }
.vezeta-login-page .vezeta-role-card {
    background:rgba(255,255,255,.96) !important;
    border-color:#e2e5e8 !important;
    color:#15191d !important;
}
.vezeta-login-page .vezeta-role-content strong { color:#15191d !important; }
.vezeta-login-page .vezeta-role-content small { color:#737d86 !important; }
.vezeta-login-page .vezeta-role-icon { background:#fff0f2 !important; }
.vezeta-login-page .vezeta-role-student .vezeta-role-icon { background:#eef6ff !important; }
.vezeta-login-page .vezeta-role-arrow,
.vezeta-login-page .vezeta-role-back,
.vezeta-login-page .vezeta-login-back { color:#ed1835 !important; }
.vezeta-login-page .vezeta-login-foot { color:#9299a0 !important; }
.vezeta-login-page .vezeta-student-coming {
    background:rgba(75,126,255,.06) !important;
    border-color:rgba(75,126,255,.18) !important;
}
.vezeta-login-page .vezeta-student-coming p { color:#737d86 !important; }

/* A két visszalépő gomb legyen egységes, puha és jól tappolható. */
.vezeta-login-page .vezeta-role-back,
.vezeta-login-page .vezeta-login-back {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    min-height:44px !important;
    padding:11px 18px !important;
    margin:0 !important;
    border:1px solid #e1e5e8 !important;
    border-radius:14px !important;
    background:#fff !important;
    color:#ed1835 !important;
    box-shadow:0 5px 14px rgba(35,43,50,.08) !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    letter-spacing:.01em !important;
    text-decoration:none !important;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}
.vezeta-login-page .vezeta-role-back:hover,
.vezeta-login-page .vezeta-login-back:hover {
    color:#d91430 !important;
    border-color:rgba(237,24,53,.28) !important;
    box-shadow:0 8px 18px rgba(35,43,50,.11) !important;
    transform:translateY(-1px) !important;
}
.vezeta-login-page .vezeta-student-coming {
    justify-content:flex-start !important;
}
.vezeta-login-page .vezeta-student-coming .vezeta-role-back {
    margin-left:auto !important;
    flex:0 0 auto !important;
}
.vezeta-login-page .vezeta-login-back {
    margin-bottom:28px !important;
}

@media (max-width:680px) {
    .vezeta-login-page .vezeta-role-back,
    .vezeta-login-page .vezeta-login-back {
        min-height:46px !important;
        padding:11px 16px !important;
        border-radius:13px !important;
    }
    .vezeta-login-page .vezeta-student-coming {
        align-items:center !important;
        padding:14px 15px !important;
    }
    .vezeta-login-page .vezeta-student-coming .vezeta-role-back {
        margin-left:auto !important;
    }
}

/* Ha a böngésző sötét módot kér, a Vezeta app akkor is maradjon világos. */
@media (prefers-color-scheme: dark) {
    .vezeta-login-page { background:#fff !important; color:#15191d !important; }
    .vezeta-login-page .vezeta-login-shell {
        background:
            repeating-linear-gradient(
                132deg,
                transparent 0 145px,
                rgba(255,255,255,.86) 145px 151px,
                transparent 151px 290px
            ),
            linear-gradient(135deg, rgba(255,255,255,.98), rgba(225,228,231,.80)) !important;
    }
    .vezeta-login-page .vezeta-role-panel h1,
    .vezeta-login-page .vezeta-instructor-login h1 { color:#15191d !important; }
    .vezeta-login-page .vezeta-login-kicker { color:#ed1835 !important; }
    .vezeta-login-page .vezeta-login-lead { color:#707982 !important; }
    .vezeta-login-page .vezeta-role-card { background:rgba(255,255,255,.96) !important; border-color:#e2e5e8 !important; color:#15191d !important; }
    .vezeta-login-page .vezeta-role-content strong { color:#15191d !important; }
    .vezeta-login-page .vezeta-role-content small { color:#737d86 !important; }
    .vezeta-login-page .vezeta-role-icon { background:#fff0f2 !important; }
    .vezeta-login-page .vezeta-role-student .vezeta-role-icon { background:#eef6ff !important; }
    .vezeta-login-page .vezeta-role-arrow,
    .vezeta-login-page .vezeta-role-back,
    .vezeta-login-page .vezeta-login-back { color:#ed1835 !important; }
    .vezeta-login-page .vezeta-login-foot { color:#9299a0 !important; }
}


/* Vezeta 0.9.39 – tömörebb tanulói lista és óraösszefoglaló műveletek */
#vezeta-app .vezeta-student-search-wrap{margin:10px 0 14px}
#vezeta-app .vezeta-student-search-wrap .vezeta-form-help{min-height:16px;margin-top:4px;color:#c0392b}
#vezeta-app .vezeta-student-dashboard-list{display:grid;gap:7px}
#vezeta-app .vezeta-student-dashboard-item{border:1px solid var(--vezeta-line);border-radius:12px;background:#fff;padding:10px 12px;overflow:hidden}
#vezeta-app .vezeta-student-dashboard-row1{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px}
#vezeta-app .vezeta-student-dashboard-main{padding:0;background:transparent!important;text-align:left;border:0;min-width:0;color:var(--vezeta-text)!important}
#vezeta-app .vezeta-student-dashboard-main strong{font-size:16px;line-height:1.2}
#vezeta-app .vezeta-student-list-stat{font-size:11px;color:var(--vezeta-muted);white-space:nowrap}
#vezeta-app .vezeta-student-list-stat b{font-size:14px;color:var(--vezeta-text)}
#vezeta-app .vezeta-student-dashboard-row2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:7px;border-top:1px solid #eef1f3;color:var(--vezeta-muted);font-size:11px}
#vezeta-app .vezeta-student-dashboard-row2>span{min-width:0}
#vezeta-app .vezeta-student-dashboard-actions{display:flex!important;gap:6px!important;padding:0!important;margin:0!important}
#vezeta-app .vezeta-student-dashboard-actions .vezeta-btn{width:auto!important;min-height:32px!important;padding:6px 9px!important;font-size:11px!important}
#vezeta-app .vezeta-summary-actions{display:flex;gap:8px;margin-top:14px}
#vezeta-app .vezeta-summary-actions .vezeta-btn{flex:1;min-height:44px;padding:9px 10px;font-size:12px;line-height:1.15}
#vezeta-app .vezeta-manual-maneuvers{display:grid;grid-template-columns:1fr;gap:5px;margin:4px 0 12px;max-height:220px;overflow:auto;padding:7px;border:1px solid var(--vezeta-line);border-radius:10px;background:#fafbfc}
#vezeta-app .vezeta-manual-maneuvers label{display:flex;align-items:flex-start;gap:7px;padding:5px 3px;font-size:12px;color:var(--vezeta-text)}
#vezeta-app .vezeta-manual-maneuvers input{margin-top:2px}
#vezeta-app .vezeta-student-filter{white-space:nowrap}
@media(max-width:620px){#vezeta-app .vezeta-student-dashboard-row1{grid-template-columns:minmax(0,1fr) auto}.vezeta-student-list-stat:nth-of-type(2){grid-column:2}.vezeta-student-dashboard-row2{align-items:flex-end;flex-direction:column}.vezeta-student-dashboard-actions{width:100%;justify-content:flex-end}.vezeta-student-dashboard-actions .vezeta-btn{flex:1}}

/* 0.9.45 – Gépház tematikus, összecsukható felülete */
#vezeta-app .vezeta-settings-quicknav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 16px}
#vezeta-app .vezeta-settings-quicknav button{border:1px solid var(--vezeta-line);background:#fff;border-radius:16px;padding:12px 13px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:.15s ease}
#vezeta-app .vezeta-settings-quicknav button:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.06)}
#vezeta-app .vezeta-settings-quicknav span{font-size:19px;line-height:1.1}
#vezeta-app .vezeta-settings-quicknav strong{font-size:13px;color:var(--vezeta-text)}
#vezeta-app .vezeta-settings-quicknav small{font-size:10px;color:var(--vezeta-muted)}
#vezeta-app .vezeta-settings-panel{border:1px solid #dfe4ea;border-radius:18px;background:#fff;margin:12px 0;overflow:hidden}
#vezeta-app .vezeta-settings-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#fafbfc}
#vezeta-app .vezeta-settings-panel>summary::-webkit-details-marker{display:none}
#vezeta-app .vezeta-settings-panel>summary>span{display:flex;flex-direction:column;gap:3px}
#vezeta-app .vezeta-settings-panel>summary strong{font-size:15px;color:var(--vezeta-text)}
#vezeta-app .vezeta-settings-panel>summary small{font-size:11px;color:var(--vezeta-muted);font-weight:500}
#vezeta-app .vezeta-settings-panel>summary>b{font-size:18px;color:var(--vezeta-muted);transition:transform .15s ease}
#vezeta-app .vezeta-settings-panel[open]>summary>b{transform:rotate(180deg)}
#vezeta-app .vezeta-settings-panel-body{padding:0 15px 15px}
#vezeta-app .vezeta-settings-panel-body>.vezeta-settings-section-title:first-child{margin-top:4px}
#vezeta-app .vezeta-settings-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:4px}
#vezeta-app .vezeta-settings-future-btn{border:1px dashed #d5dce3;background:#f8fafb;border-radius:15px;padding:13px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:not-allowed;opacity:.82}
#vezeta-app .vezeta-settings-future-btn strong{font-size:13px;color:var(--vezeta-text)}
#vezeta-app .vezeta-settings-future-btn small{font-size:11px;color:var(--vezeta-muted);line-height:1.35}
#vezeta-app .vezeta-settings-future-btn em{font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--vezeta-muted)}
@media(max-width:700px){#vezeta-app .vezeta-settings-quicknav{grid-template-columns:1fr}.vezeta-settings-future-grid{grid-template-columns:1fr!important}}


/* 0.9.46 – mobilos tanulói lista és Gépház műveleti gombok */
@media (max-width:620px){
    /* A státuszfülek egy sorban görgethetők, így egyik sem vágódik le. */
    #vezeta-app .vezeta-student-filters{
        display:flex!important;
        flex-wrap:nowrap!important;
        gap:6px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        padding-bottom:3px;
    }
    #vezeta-app .vezeta-student-filters::-webkit-scrollbar{display:none}
    #vezeta-app .vezeta-student-filter{
        flex:0 0 auto!important;
        white-space:nowrap!important;
        min-height:38px!important;
        padding:8px 12px!important;
        font-size:11px!important;
    }

    /* Mobilon a tanulói nyilvántartás valódi gyorslista: név + státusz.
       A részletek a névre koppintva nyílnak meg. */
    #vezeta-app .vezeta-student-dashboard-list{gap:5px!important}
    #vezeta-app .vezeta-student-dashboard-item{
        padding:0!important;
        border-radius:11px!important;
        background:#fff!important;
    }
    #vezeta-app .vezeta-student-dashboard-row1{
        display:flex!important;
        min-height:48px!important;
        align-items:center!important;
        gap:8px!important;
    }
    #vezeta-app .vezeta-student-dashboard-main{
        flex:1 1 auto!important;
        width:auto!important;
        min-width:0!important;
        min-height:48px!important;
        padding:10px 12px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
    }
    #vezeta-app .vezeta-student-dashboard-main strong{
        font-size:14px!important;
        line-height:1.2!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }
    #vezeta-app .vezeta-student-dashboard-item .vezeta-vehicle-status{
        flex:0 0 auto!important;
        margin-right:10px!important;
        font-size:9px!important;
        padding:4px 7px!important;
    }
    #vezeta-app .vezeta-student-list-stat,
    #vezeta-app .vezeta-student-dashboard-row2{display:none!important}

    /* A Gépház díjszabás/fix költség műveletei maradjanak kicsik és egy sorban. */
    #vezeta-app .vezeta-settings-rate-row{
        align-items:center!important;
        gap:8px!important;
        padding:10px 10px!important;
    }
    #vezeta-app .vezeta-settings-rate-row>div:first-child{
        flex:1 1 auto!important;
        min-width:0!important;
    }
    #vezeta-app .vezeta-settings-rate-actions{
        display:flex!important;
        flex:0 0 auto!important;
        align-items:center!important;
        justify-content:flex-end!important;
        gap:4px!important;
        margin:0!important;
    }
    #vezeta-app .vezeta-settings-rate-actions .vezeta-btn{
        width:auto!important;
        min-width:0!important;
        min-height:32px!important;
        height:32px!important;
        padding:5px 7px!important;
        margin:0!important;
        border-radius:9px!important;
        font-size:9px!important;
        line-height:1!important;
        white-space:nowrap!important;
    }
    #vezeta-app .vezeta-settings-rate-row strong{font-size:13px!important}
    #vezeta-app .vezeta-settings-rate-row span{font-size:10px!important;line-height:1.25!important}
}

/* 0.9.47 – tanulói pénztárca */
#vezeta-app .vezeta-finance-wallet-breakdown{
    margin:0 0 14px; padding:12px 14px; border:1px solid #e6e8eb; border-radius:14px; background:#fff;
}
#vezeta-app .vezeta-finance-wallet-breakdown>div{display:flex; justify-content:space-between; gap:16px; padding:6px 0; font-size:13px;}
#vezeta-app .vezeta-finance-wallet-breakdown .total{margin-top:5px; padding-top:10px; border-top:1px solid #e6e8eb; font-size:15px;}

/* 0.9.48 – tanulói átvételi aláírás */
.vezeta-signature-modal{padding-top:4px}
.vezeta-signature-pad-wrap{width:100%;height:210px;border:2px dashed var(--vezeta-line);border-radius:16px;background:#fff;overflow:hidden;touch-action:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}
.vezeta-signature-pad{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.vezeta-signature-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 4px;color:var(--vezeta-muted);font-size:12px}
.vezeta-signature-tools .vezeta-btn{padding:8px 12px}
@media (max-width:600px){.vezeta-signature-pad-wrap{height:180px}.vezeta-modal-inner{padding:18px}.vezeta-signature-tools{font-size:11px}}

/* 0.9.48 – tanulói átvételi aláírás */
.vezeta-signature-modal{padding-top:4px}
.vezeta-signature-pad-wrap{width:100%;height:210px;border:2px dashed var(--vezeta-line);border-radius:16px;background:#fff;overflow:hidden;touch-action:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}
.vezeta-signature-pad{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.vezeta-signature-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 4px;color:var(--vezeta-muted);font-size:12px}
.vezeta-signature-tools .vezeta-btn{padding:8px 12px}
@media (max-width:600px){.vezeta-signature-pad-wrap{height:180px}.vezeta-modal-inner{padding:18px}.vezeta-signature-tools{font-size:11px}}

/* 0.9.49 – tanulói portál */
.vezeta-student-portal-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:4px 0 16px}
.vezeta-student-portal-hero h2{margin:2px 0 4px}.vezeta-student-portal-hero p{margin:0;color:var(--vezeta-muted);font-size:12px}
.vezeta-portal-cardid{min-width:105px;text-align:center;border:1px solid var(--vezeta-line);border-radius:14px;padding:10px;background:#f8fafb;font-size:10px;color:var(--vezeta-muted)}
.vezeta-portal-cardid strong{display:block;font-size:17px;color:var(--vezeta-text);margin-top:4px;letter-spacing:.08em}
.vezeta-portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}
.vezeta-portal-stats>div{border:1px solid var(--vezeta-line);border-radius:13px;padding:11px;text-align:center;background:#fff}.vezeta-portal-stats b{display:block;font-size:17px}.vezeta-portal-stats span{display:block;color:var(--vezeta-muted);font-size:10px;margin-top:3px}
.vezeta-portal-tabs{display:flex;gap:6px;border-bottom:1px solid var(--vezeta-line);margin:0 0 12px}.vezeta-portal-tabs button{border:0;background:transparent;padding:11px 13px;font-weight:800;color:var(--vezeta-muted);border-bottom:3px solid transparent;cursor:pointer}.vezeta-portal-tabs button.is-active{color:var(--vezeta-text);border-bottom-color:#d93636}
.vezeta-portal-karton-head,.vezeta-portal-lesson{display:grid;grid-template-columns:1.15fr 1.35fr .6fr .6fr auto;gap:8px;align-items:center}
.vezeta-portal-karton-head{padding:7px 10px;color:var(--vezeta-muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.vezeta-portal-lesson{width:100%;border:1px solid var(--vezeta-line);border-radius:12px;background:#fff;text-align:left;padding:11px 10px;margin:6px 0;cursor:pointer;color:inherit}.vezeta-portal-lesson:hover{border-color:#cfd5da;box-shadow:0 3px 10px rgba(0,0,0,.04)}.vezeta-portal-lesson span{min-width:0}.vezeta-portal-lesson b,.vezeta-portal-lesson small{display:block}.vezeta-portal-lesson small{color:var(--vezeta-muted);font-size:10px;margin-top:2px}.vezeta-portal-lesson>span:not(:first-child){font-size:11px}.vezeta-portal-lesson-details{font-weight:800;color:#b51f2a;white-space:nowrap}.vezeta-portal-lesson:after{content:'⌄';display:none}
.vezeta-portal-wallet{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--vezeta-line);border-radius:14px;padding:14px;margin-bottom:8px;background:#fff}.vezeta-portal-wallet strong{font-size:20px}.vezeta-portal-finance-note{font-size:11px;color:var(--vezeta-muted);margin:0 0 12px}.vezeta-portal-payment{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border:1px solid var(--vezeta-line);border-radius:12px;padding:10px;margin:6px 0;background:#fff}.vezeta-portal-payment b,.vezeta-portal-payment small{display:block}.vezeta-portal-payment small{font-size:10px;color:var(--vezeta-muted);margin-top:2px}.vezeta-portal-payment strong{font-size:14px}.vezeta-portal-payment .vezeta-btn{min-height:34px;padding:7px 10px;font-size:11px}
.vezeta-portal-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.vezeta-portal-detail-grid>div{border:1px solid var(--vezeta-line);border-radius:11px;padding:9px}.vezeta-portal-detail-grid small,.vezeta-portal-detail-grid b{display:block}.vezeta-portal-detail-grid small{color:var(--vezeta-muted);font-size:9px;text-transform:uppercase}.vezeta-portal-detail-grid b{font-size:12px;margin-top:3px}.vezeta-portal-note,.vezeta-portal-events{margin-top:12px;padding:11px;border-radius:11px;background:#f7f8f9;font-size:11px}.vezeta-portal-note p{margin:5px 0 0}.vezeta-portal-event{padding:9px 0;border-top:1px solid #e2e6e9}.vezeta-portal-event:first-of-type{margin-top:7px}.vezeta-portal-event-head{display:flex;gap:8px;align-items:center}.vezeta-portal-event-head b{font-size:11px}.vezeta-portal-event-head span{flex:1;color:var(--vezeta-muted);font-size:10px}.vezeta-portal-event-head em{font-style:normal;color:var(--vezeta-muted);font-size:10px}.vezeta-portal-event-title{display:block;margin-top:4px;font-weight:700}.vezeta-portal-event-meta{display:block;color:var(--vezeta-muted);margin-top:3px}.vezeta-portal-event p{margin:5px 0 0;color:var(--vezeta-muted)}.vezeta-portal-gps{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:10px;font-weight:700;color:#b3262e;text-decoration:none}.vezeta-portal-gps small{font-weight:500;color:var(--vezeta-muted)}.vezeta-portal-detail-actions{margin-top:14px;display:flex;justify-content:flex-end}
.vezeta-student-account-box{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 14px;padding:11px;border:1px solid var(--vezeta-line);border-radius:12px;background:#f8fafb}.vezeta-student-account-box strong,.vezeta-student-account-box small{display:block}.vezeta-student-account-box small{color:var(--vezeta-muted);font-size:10px;margin-top:3px}.vezeta-student-account-box .vezeta-btn{white-space:nowrap;min-width:auto}
@media(max-width:650px){.vezeta-student-portal-hero{align-items:flex-start}.vezeta-portal-stats{grid-template-columns:1fr 1fr}.vezeta-portal-stats>div:last-child{grid-column:1/-1}.vezeta-portal-karton-head{display:none}.vezeta-portal-lesson{grid-template-columns:1.1fr 1.15fr .65fr auto;padding:10px}.vezeta-portal-lesson>span:nth-child(4){display:none}.vezeta-portal-lesson>span:last-child{font-size:10px!important}.vezeta-portal-payment{grid-template-columns:1fr auto}.vezeta-portal-payment strong{grid-column:2;grid-row:1}.vezeta-portal-payment .vezeta-btn{grid-column:1/-1;width:100%}.vezeta-student-account-box{align-items:flex-start;flex-direction:column}.vezeta-student-account-box .vezeta-btn{width:100%}}

.vezeta-student-login-box{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;margin:12px 0}.vezeta-student-login-box>div{display:flex;flex-direction:column;gap:4px}.vezeta-student-login-box small{color:#64748b;line-height:1.35}.vezeta-student-login-box .vezeta-btn{white-space:nowrap}@media(max-width:640px){.vezeta-student-login-box{align-items:stretch;flex-direction:column}.vezeta-student-login-box .vezeta-btn{width:100%}}


/* 0.9.53 – könnyen másolható tanulói belépési adatok */
.vezeta-credentials-box{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.vezeta-credential-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.035)}
.vezeta-credential-row small{display:block;margin:0 0 6px;font-weight:700;opacity:.72}
.vezeta-credential-row input{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:15px;letter-spacing:.02em}
.vezeta-credentials-note{margin:4px 0 18px;padding:12px 14px;border-radius:10px;background:rgba(255,202,40,.08);font-size:13px;line-height:1.45}
@media (max-width:600px){.vezeta-credential-row{grid-template-columns:1fr}.vezeta-credential-row .vezeta-btn{width:100%}.vezeta-credential-row input{font-size:14px}.vezeta-modal-actions{flex-direction:column}.vezeta-modal-actions .vezeta-btn{width:100%}}


/* Vezeta 1.0 Alpha 1 – Naptár */
.vezeta-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.vezeta-calendar-head h2{margin:.1rem 0 0}.vezeta-calendar-actions{display:flex;gap:8px;flex-wrap:wrap}.vezeta-calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:18px 0 12px;padding:10px 0;border-top:1px solid var(--vezeta-line);border-bottom:1px solid var(--vezeta-line)}.vezeta-calendar-nav,.vezeta-calendar-views{display:flex;gap:4px}.vezeta-calendar-nav button,.vezeta-calendar-views button{border:1px solid var(--vezeta-line);background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer}.vezeta-calendar-views button.is-active{background:var(--vezeta-dark);color:#fff;border-color:var(--vezeta-dark)}.vezeta-calendar-loading{text-align:center;padding:45px;color:var(--vezeta-muted)}.vezeta-calendar-schedule-list{display:grid;gap:10px}.vezeta-calendar-schedule-day{display:grid;grid-template-columns:95px 1fr;gap:10px;border-bottom:1px solid var(--vezeta-line);padding:8px 0}.vezeta-calendar-day-label{padding:8px 4px;color:var(--vezeta-muted)}.vezeta-calendar-day-label b,.vezeta-calendar-day-label strong{display:block}.vezeta-calendar-day-label strong{color:var(--vezeta-text);margin-top:3px}.vezeta-calendar-day-events{display:grid;gap:6px}.vezeta-calendar-event{display:block;width:100%;text-align:left;border:0;border-left:4px solid #68737d;border-radius:8px;padding:8px 10px;background:#f5f7f8;color:var(--vezeta-text);cursor:pointer}.vezeta-calendar-event strong,.vezeta-calendar-event span{display:block}.vezeta-calendar-event strong{font-size:14px}.vezeta-calendar-event-time{font-size:12px;font-weight:700;margin-bottom:2px}.vezeta-calendar-event.is-planned-funded{border-left-color:#2f9e44;background:#f1f9f2}.vezeta-calendar-event.is-planned-unfunded{border-left-color:#e6a700;background:#fff9e8}.vezeta-calendar-event.is-unsettled{border-left-color:#d63333;background:#fff3f3}.vezeta-calendar-event.is-settled{border-left-color:#2f9e44;background:#f1f9f2}.vezeta-calendar-event.is-live{border-left-color:#7b4cc2;background:#f7f1ff}.vezeta-calendar-event.is-busy{border-left-color:#4285f4;background:#edf4ff}.vezeta-calendar-location{color:var(--vezeta-muted);font-size:12px;margin-top:3px}.vezeta-calendar-day-grid{display:grid;grid-template-columns:60px 1fr;overflow:auto;max-height:720px}.vezeta-calendar-hours{padding-top:0;color:var(--vezeta-muted);font-size:11px}.vezeta-calendar-hours>div{text-align:right;padding-right:7px}.vezeta-calendar-timeline{position:relative;min-height:calc(15 * 56px);border-left:1px solid var(--vezeta-line)}.vezeta-calendar-hour-line{position:absolute;left:0;right:0;border-top:1px solid #edf0f2}.vezeta-calendar-grid-event{position:absolute;left:6px;right:8px;overflow:hidden}.vezeta-calendar-grid-event .vezeta-calendar-event{height:100%;overflow:hidden}.vezeta-calendar-week-grid{display:grid;grid-template-columns:55px repeat(7,minmax(105px,1fr));overflow:auto;min-width:800px}.vezeta-calendar-week-corner{border-bottom:1px solid var(--vezeta-line)}.vezeta-calendar-week-head{padding:8px;text-align:center;border-left:1px solid var(--vezeta-line);border-bottom:1px solid var(--vezeta-line);font-size:11px;color:var(--vezeta-muted)}.vezeta-calendar-week-head strong{display:block;color:var(--vezeta-text);font-size:16px}.vezeta-calendar-week-times>div{font-size:10px;color:var(--vezeta-muted);padding:2px 5px;text-align:right}.vezeta-calendar-week-cell{position:relative;height:48px;border-left:1px solid var(--vezeta-line);border-bottom:1px solid #eef1f3;padding:2px;overflow:hidden}.vezeta-calendar-week-cell .vezeta-calendar-event{padding:3px 5px;font-size:10px;line-height:1.15}.vezeta-calendar-week-cell .vezeta-calendar-event span:not(.vezeta-calendar-event-time){display:none}.vezeta-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));overflow:auto}.vezeta-calendar-month-head{font-size:11px;font-weight:700;color:var(--vezeta-muted);padding:7px;border-bottom:1px solid var(--vezeta-line)}.vezeta-calendar-month-cell{min-height:115px;border:0;border-left:1px solid var(--vezeta-line);border-bottom:1px solid var(--vezeta-line);background:#fff;padding:6px;text-align:left;cursor:pointer}.vezeta-calendar-month-cell.is-empty{background:#f7f8f9;cursor:default}.vezeta-calendar-month-cell>b{display:block;margin-bottom:4px}.vezeta-calendar-month-cell .vezeta-calendar-event{padding:3px 5px;margin-bottom:3px;font-size:10px}.vezeta-calendar-month-cell .vezeta-calendar-event span:not(.vezeta-calendar-event-time){display:none}.vezeta-calendar-more{font-size:10px;color:var(--vezeta-muted);padding-left:5px}.vezeta-calendar-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.vezeta-calendar-modal-grid>div{padding:10px;border:1px solid var(--vezeta-line);border-radius:9px}.vezeta-calendar-modal-grid small,.vezeta-calendar-modal-grid b{display:block}.vezeta-calendar-modal-grid small{color:var(--vezeta-muted);margin-bottom:3px}.vezeta-calendar-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}@media(max-width:700px){.vezeta-calendar-toolbar{grid-template-columns:1fr}.vezeta-calendar-toolbar>strong{order:-1}.vezeta-calendar-schedule-day{grid-template-columns:65px 1fr}.vezeta-calendar-actions{width:100%}.vezeta-calendar-actions .vezeta-btn{flex:1}.vezeta-calendar-modal-grid{grid-template-columns:1fr}.vezeta-calendar-month-grid{min-width:700px}}

/* Vezeta 1.0 Alpha 1 – naptár mobil/layout hotfix */
#vezeta-app .vezeta-calendar-actions {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
#vezeta-app .vezeta-calendar-actions .vezeta-btn {
    width: auto !important;
    min-width: 0;
    margin-top: 0;
    padding: 10px 13px;
    font-size: 13px;
    line-height: 1.15;
    white-space: nowrap;
}
#vezeta-app .vezeta-calendar-actions .vezeta-btn-start {
    font-size: 14px;
}
#vezeta-app .vezeta-calendar-views {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
}
#vezeta-app .vezeta-calendar-views button {
    min-width: 0;
    white-space: nowrap;
    padding: 8px 7px;
    font-size: 12px;
    font-weight: 800;
}
#vezeta-app .vezeta-calendar-nav button {
    min-width: 36px;
    padding: 8px 10px;
}
#vezeta-app .vezeta-calendar-toolbar > strong {
    text-align: center;
    font-size: 15px;
}

@media (max-width: 700px) {
    #vezeta-app.vezeta-app {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
        padding: 10px 10px 90px;
    }
    #vezeta-app .vezeta-card {
        padding: 13px;
        border-radius: 18px;
    }
    #vezeta-app .vezeta-calendar-head {
        display: block;
    }
    #vezeta-app .vezeta-calendar-head h2 {
        font-size: 23px;
    }
    #vezeta-app .vezeta-calendar-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 7px;
        margin-top: 12px;
    }
    #vezeta-app .vezeta-calendar-actions .vezeta-btn {
        width: 100% !important;
        min-height: 46px;
        margin: 0;
        padding: 9px 7px;
        font-size: 12px;
        white-space: normal;
    }
    #vezeta-app .vezeta-calendar-actions .vezeta-btn:first-child {
        grid-column: 1 / -1;
        min-height: 48px;
        font-size: 14px;
    }
    #vezeta-app .vezeta-calendar-toolbar {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 7px;
        margin-top: 14px;
        padding: 9px 0;
    }
    #vezeta-app .vezeta-calendar-toolbar > strong {
        grid-column: 1 / -1;
        grid-row: 1;
        text-align: center;
    }
    #vezeta-app .vezeta-calendar-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: center;
    }
    #vezeta-app .vezeta-calendar-views {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
    }
    #vezeta-app .vezeta-calendar-views button {
        padding: 8px 2px;
        font-size: 11px;
    }
    #vezeta-app .vezeta-calendar-schedule-day {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 7px;
    }
    #vezeta-app .vezeta-calendar-event {
        padding: 9px 9px;
        overflow-wrap: anywhere;
    }
    #vezeta-app .vezeta-calendar-event strong {
        font-size: 13px;
    }
    #vezeta-app .vezeta-calendar-event-time {
        font-size: 11px;
    }
}

/* Vezeta 1.0 Alpha 1 – naptár UI polish v2 */
#vezeta-app #vezeta-calendar-card .vezeta-calendar-actions .vezeta-btn-secondary {
    background: #eef2f5 !important;
    color: #1f2933 !important;
    border: 1px solid #cbd3da !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
#vezeta-app #vezeta-calendar-card .vezeta-calendar-actions .vezeta-btn-secondary:hover {
    background: #e3e8ec !important;
}
#vezeta-app #vezeta-calendar-card .vezeta-calendar-nav button {
    appearance: none;
    background: #eef2f5 !important;
    color: #3d454d !important;
    border: 1px solid #cbd3da !important;
    min-width: 38px;
    min-height: 36px;
    font-weight: 800;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
#vezeta-app #vezeta-calendar-card .vezeta-calendar-nav button:hover {
    background: #e3e8ec !important;
}
#vezeta-app #vezeta-calendar-card .vezeta-calendar-views button {
    appearance: none;
    background: #eef2f5 !important;
    color: #303840 !important;
    border: 1px solid #cbd3da !important;
    font-weight: 800;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
#vezeta-app #vezeta-calendar-card .vezeta-calendar-views button.is-active {
    background: #6f2118 !important;
    color: #fff !important;
    border-color: #6f2118 !important;
}
#vezeta-app #vezeta-calendar-card .vezeta-calendar-toolbar {
    background: #fafbfc;
    border-top-color: #dfe4e8;
    border-bottom-color: #dfe4e8;
    padding: 10px 8px;
    border-radius: 10px;
}
#vezeta-app #vezeta-calendar-card .vezeta-calendar-title,
#vezeta-app #vezeta-calendar-card #vezeta-calendar-title {
    color: #24292e !important;
}

/* A heti nézet valódi 8 oszlopos rács: bal oldali idő + 7 nap. */
#vezeta-app .vezeta-calendar-week-grid {
    display: grid;
    grid-template-columns: 42px repeat(7, minmax(0, 1fr));
    overflow: hidden;
    min-width: 0;
    width: 100%;
}
#vezeta-app .vezeta-calendar-week-head {
    min-width: 0;
    padding: 7px 2px;
    background: #fafbfc;
}
#vezeta-app .vezeta-calendar-week-head strong {
    font-size: 15px;
}
#vezeta-app .vezeta-calendar-week-times {
    display: contents;
}
#vezeta-app .vezeta-calendar-week-times > div {
    box-sizing: border-box;
    height: 48px;
    padding: 3px 3px 0 0;
    border-bottom: 1px solid #eef1f3;
    color: #77808a;
    font-size: 9px;
}
#vezeta-app .vezeta-calendar-week-cell {
    box-sizing: border-box;
    min-width: 0;
    height: 48px;
    padding: 2px;
}
#vezeta-app .vezeta-calendar-week-cell .vezeta-calendar-event {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 3px 3px;
    border-left-width: 2px;
    border-radius: 4px;
    font-size: 9px;
    line-height: 1.1;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-cell .vezeta-calendar-event-time {
    font-size: 8px;
    margin-bottom: 1px;
    white-space: nowrap;
}
#vezeta-app .vezeta-calendar-week-cell .vezeta-calendar-event strong {
    font-size: 9px;
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 700px) {
    #vezeta-app #vezeta-calendar-card .vezeta-calendar-actions .vezeta-btn-secondary {
        font-size: 11px;
        letter-spacing: -.1px;
    }
    #vezeta-app #vezeta-calendar-card .vezeta-calendar-toolbar {
        padding: 8px 5px;
    }
    #vezeta-app .vezeta-calendar-week-grid {
        grid-template-columns: 32px repeat(7, minmax(0, 1fr));
    }
    #vezeta-app .vezeta-calendar-week-head {
        font-size: 9px;
        padding: 6px 0;
    }
    #vezeta-app .vezeta-calendar-week-head strong {
        font-size: 13px;
    }
    #vezeta-app .vezeta-calendar-week-times > div {
        font-size: 8px;
        padding-right: 2px;
    }
    #vezeta-app .vezeta-calendar-week-cell {
        padding: 1px;
    }
    #vezeta-app .vezeta-calendar-week-cell .vezeta-calendar-event {
        padding: 3px 2px;
    }
}

/* Vezeta 1.0 – heti nézet: valódi időarányos eseménymagasság */
#vezeta-app .vezeta-calendar-week-grid {
    display: grid;
    grid-template-columns: 42px repeat(7, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    overflow: hidden;
    align-items: start;
}
#vezeta-app .vezeta-calendar-week-corner {
    height: 48px;
    background: #fafbfc;
    border-bottom: 1px solid #dfe4e8;
}
#vezeta-app .vezeta-calendar-week-head {
    box-sizing: border-box;
    height: 48px;
    padding: 7px 2px;
    background: #fafbfc;
    border-left: 1px solid #dfe4e8;
    border-bottom: 1px solid #dfe4e8;
    text-align: center;
    min-width: 0;
}
#vezeta-app .vezeta-calendar-week-times {
    position: relative;
    display: block;
    min-width: 0;
    border-right: 1px solid #dfe4e8;
    background: #fff;
}
#vezeta-app .vezeta-calendar-week-times > div {
    position: absolute;
    right: 4px;
    transform: translateY(-50%);
    height: auto;
    padding: 0;
    border: 0;
    font-size: 9px;
    line-height: 1;
    color: #77808a;
}
#vezeta-app .vezeta-calendar-week-day-column {
    position: relative;
    min-width: 0;
    background: #fff;
    border-left: 1px solid #dfe4e8;
    cursor: pointer;
}
#vezeta-app .vezeta-calendar-week-hour-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 48px;
    box-sizing: border-box;
    border-bottom: 1px solid #eef1f3;
    pointer-events: none;
}
#vezeta-app .vezeta-calendar-week-event {
    position: absolute;
    left: 3px;
    right: 3px;
    z-index: 2;
    min-height: 28px;
    overflow: hidden;
    border-radius: 5px;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event {
    width: 100%;
    height: 100%;
    min-height: 28px;
    box-sizing: border-box;
    padding: 3px 4px;
    border-left-width: 2px;
    border-radius: 5px;
    font-size: 9px;
    line-height: 1.1;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event-time {
    font-size: 8px;
    margin-bottom: 1px;
    white-space: nowrap;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event strong {
    font-size: 9px;
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event span:not(.vezeta-calendar-event-time) {
    display: none;
}
@media (max-width: 700px) {
    #vezeta-app .vezeta-calendar-week-grid {
        grid-template-columns: 32px repeat(7, minmax(72px, 1fr));
        min-width: 536px;
        overflow: visible;
    }
    #vezeta-app .vezeta-calendar-week-day-column {
        min-width: 72px;
    }
    #vezeta-app .vezeta-calendar-week-event {
        left: 2px;
        right: 2px;
    }
}


/* Vezeta 1.0 – heti nézet rács stabilizálás + olvasható tanulónevek */
#vezeta-app .vezeta-calendar-week-grid {
    grid-template-rows: 48px auto;
}
#vezeta-app .vezeta-calendar-week-corner,
#vezeta-app .vezeta-calendar-week-head {
    grid-row: 1;
}
#vezeta-app .vezeta-calendar-week-times {
    grid-column: 1;
    grid-row: 2;
    height: auto !important;
    align-self: stretch;
}
#vezeta-app .vezeta-calendar-week-day-column {
    grid-row: 2;
    height: auto !important;
    min-height: 672px;
    align-self: stretch;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event strong {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    text-overflow: clip;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event-time {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 700px) {
    #vezeta-app .vezeta-calendar-week-grid {
        grid-template-columns: 38px repeat(7, minmax(72px, 1fr));
        grid-template-rows: 48px auto;
        min-width: 542px;
    }
    #vezeta-app .vezeta-calendar-week-day-column {
        min-width: 72px;
        min-height: 672px;
    }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event {
        padding: 3px 4px;
    }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event strong {
        font-size: 9px;
        line-height: 1.12;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
}

/* Vezeta 1.0 – heti nézet végső rácsfix: stabil oszlopok, teljes 7 nap mobilon is */
#vezeta-app .vezeta-calendar-week-grid {
    grid-template-columns: 38px repeat(7, minmax(0, 1fr));
    grid-template-rows: 48px auto;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-corner { grid-column: 1; grid-row: 1; }
#vezeta-app .vezeta-calendar-week-head:nth-child(2) { grid-column: 2; }
#vezeta-app .vezeta-calendar-week-head:nth-child(3) { grid-column: 3; }
#vezeta-app .vezeta-calendar-week-head:nth-child(4) { grid-column: 4; }
#vezeta-app .vezeta-calendar-week-head:nth-child(5) { grid-column: 5; }
#vezeta-app .vezeta-calendar-week-head:nth-child(6) { grid-column: 6; }
#vezeta-app .vezeta-calendar-week-head:nth-child(7) { grid-column: 7; }
#vezeta-app .vezeta-calendar-week-head:nth-child(8) { grid-column: 8; }
#vezeta-app .vezeta-calendar-week-head { grid-row: 1; }
#vezeta-app .vezeta-calendar-week-times { grid-column: 1; grid-row: 2; }
#vezeta-app .vezeta-calendar-week-day-column:nth-of-type(9) { grid-column: 2; }
#vezeta-app .vezeta-calendar-week-day-column:nth-of-type(10) { grid-column: 3; }
#vezeta-app .vezeta-calendar-week-day-column:nth-of-type(11) { grid-column: 4; }
#vezeta-app .vezeta-calendar-week-day-column:nth-of-type(12) { grid-column: 5; }
#vezeta-app .vezeta-calendar-week-day-column:nth-of-type(13) { grid-column: 6; }
#vezeta-app .vezeta-calendar-week-day-column:nth-of-type(14) { grid-column: 7; }
#vezeta-app .vezeta-calendar-week-day-column:nth-of-type(15) { grid-column: 8; }
#vezeta-app .vezeta-calendar-week-times > div { transform: none; top: auto !important; height: 48px; box-sizing: border-box; padding-top: 3px; }
#vezeta-app .vezeta-calendar-week-outside {
    display: grid;
    grid-template-columns: 38px repeat(7, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    gap: 0;
    margin: 4px 0;
}
#vezeta-app .vezeta-calendar-week-outside-label {
    grid-column: 1;
    padding: 5px 3px 5px 0;
    font-size: 8px;
    color: #77808a;
    text-align: right;
    align-self: start;
}
#vezeta-app .vezeta-calendar-week-outside-day {
    min-width: 0;
    padding: 2px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event {
    width: 100%;
    box-sizing: border-box;
    padding: 4px;
    border-left-width: 2px;
    font-size: 9px;
    line-height: 1.1;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event strong {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event-time {
    display: block;
    white-space: nowrap;
    font-size: 8px;
    margin-bottom: 1px;
}
@media (max-width: 700px) {
    #vezeta-app .vezeta-calendar-week-grid,
    #vezeta-app .vezeta-calendar-week-outside {
        grid-template-columns: 31px repeat(7, minmax(0, 1fr));
        min-width: 0;
        width: 100%;
    }
    #vezeta-app .vezeta-calendar-week-head { padding: 6px 0; font-size: 8px; }
    #vezeta-app .vezeta-calendar-week-head strong { font-size: 12px; }
    #vezeta-app .vezeta-calendar-week-times > div { font-size: 7px; padding-right: 2px; }
    #vezeta-app .vezeta-calendar-week-event { left: 1px; right: 1px; }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event { padding: 3px 2px; font-size: 8px; }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event-time { font-size: 7px; }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event strong { font-size: 8px; line-height: 1.05; }
    #vezeta-app .vezeta-calendar-week-outside-day { padding: 1px; }
    #vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event { padding: 3px 2px; font-size: 8px; }
}

/* Vezeta 1.0 – heti nézet 0.9.63: stabil 7 oszlop + szabadon folyó külső órák */
#vezeta-app .vezeta-calendar-week-grid {
    grid-template-columns: 38px repeat(7, minmax(0, 1fr));
    grid-template-rows: 48px auto;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-corner {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 48px;
}
#vezeta-app .vezeta-calendar-week-head {
    grid-row: 1 !important;
    min-width: 0;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-times {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0;
    height: auto !important;
    align-self: stretch;
}
#vezeta-app .vezeta-calendar-week-day-column {
    grid-row: 2 !important;
    min-width: 0;
    height: auto !important;
    align-self: stretch;
}
#vezeta-app .vezeta-calendar-week-times > div {
    position: absolute;
    right: 3px;
    transform: translateY(-50%);
    width: 100%;
    box-sizing: border-box;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
}

/* 07:00 előtti / 20:00 utáni órák: nem szorítjuk be a heti rács keskeny oszlopaiba. */
#vezeta-app .vezeta-calendar-week-outside {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 6px 0;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-outside-label {
    display: block;
    padding: 5px 0 4px;
    font-size: 9px;
    font-weight: 700;
    color: #77808a;
    text-align: left;
}
#vezeta-app .vezeta-calendar-week-outside-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}
#vezeta-app .vezeta-calendar-week-outside-item {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-outside-dayname {
    display: flex;
    align-items: flex-start;
    padding: 5px 3px 0 0;
    font-size: 9px;
    line-height: 1.15;
    font-weight: 700;
    color: #66717b;
}
#vezeta-app .vezeta-calendar-week-outside-item .vezeta-calendar-event {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 5px 6px;
    border-left-width: 3px;
    border-radius: 6px;
    font-size: 9px;
    line-height: 1.1;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-outside-item .vezeta-calendar-event-time {
    display: block;
    font-size: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}
#vezeta-app .vezeta-calendar-week-outside-item .vezeta-calendar-event strong {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.12;
}

@media (max-width: 700px) {
    #vezeta-app .vezeta-calendar-week-grid {
        grid-template-columns: 30px repeat(7, minmax(0, 1fr));
        width: 100%;
        min-width: 0;
    }
    #vezeta-app .vezeta-calendar-week-head {
        height: 48px;
        padding: 6px 1px;
        font-size: 8px;
    }
    #vezeta-app .vezeta-calendar-week-head strong {
        display: block;
        margin-top: 2px;
        font-size: 12px;
        line-height: 1;
    }
    #vezeta-app .vezeta-calendar-week-times > div {
        right: 2px;
        font-size: 7px;
        line-height: 1;
    }
    #vezeta-app .vezeta-calendar-week-event {
        left: 1px;
        right: 1px;
    }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event {
        padding: 3px 2px;
    }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event-time {
        font-size: 7px;
    }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event strong {
        font-size: 8px;
        line-height: 1.05;
    }
    #vezeta-app .vezeta-calendar-week-outside-item {
        grid-template-columns: 55px minmax(0, 1fr);
        gap: 5px;
    }
    #vezeta-app .vezeta-calendar-week-outside-dayname {
        font-size: 8px;
    }
    #vezeta-app .vezeta-calendar-week-outside-item .vezeta-calendar-event {
        padding: 4px 5px;
        font-size: 8px;
    }
}

/* Vezeta 1.0 – heti nézet 0.9.64: események explicit naposzlopban,
   07:00 előtti / 20:00 utáni órák saját napjuk alatt */
#vezeta-app .vezeta-calendar-week-day-column {
    grid-column: auto;
    grid-row: 2;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-outside-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-outside-day {
    min-width: 0;
    padding: 0 2px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event {
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 5px 4px;
    border-left-width: 3px;
    border-radius: 6px;
    font-size: 8px;
    line-height: 1.1;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event-time {
    display: block;
    font-size: 7px;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event strong {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.08;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event span:not(.vezeta-calendar-event-time) {
    display: none;
}
@media (max-width: 700px) {
    #vezeta-app .vezeta-calendar-week-outside-grid {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
    #vezeta-app .vezeta-calendar-week-outside-day {
        padding: 0 1px;
        gap: 4px;
    }
    #vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event {
        padding: 4px 2px;
        font-size: 7px;
    }
    #vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event-time {
        font-size: 6.5px;
    }
    #vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event strong {
        font-size: 7px;
    }
}

/* Vezeta 1.0 – heti nézet 0.9.65: végleges rács- és eseménypozicionálás */
#vezeta-app .vezeta-calendar-week-grid {
    display: grid;
    grid-template-columns: 38px repeat(7, minmax(0, 1fr));
    grid-template-rows: 48px 672px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
#vezeta-app .vezeta-calendar-week-corner { grid-column: 1 !important; grid-row: 1 !important; }
#vezeta-app .vezeta-calendar-week-head { grid-row: 1 !important; min-width: 0; overflow: hidden; box-sizing: border-box; }
#vezeta-app .vezeta-calendar-week-times { grid-column: 1 !important; grid-row: 2 !important; position: relative; height: 672px !important; min-width: 0; box-sizing: border-box; }
#vezeta-app .vezeta-calendar-week-day-column { grid-row: 2 !important; position: relative; height: 672px !important; min-height: 0; min-width: 0; width: 100%; box-sizing: border-box; overflow: visible; }
#vezeta-app .vezeta-calendar-week-event { position: absolute !important; box-sizing: border-box; z-index: 3; min-width: 0; overflow: hidden; }
#vezeta-app .vezeta-calendar-week-outside { width: 100%; min-width: 0; margin: 6px 0; box-sizing: border-box; }
#vezeta-app .vezeta-calendar-week-outside-grid {
    display: grid;
    grid-template-columns: 38px repeat(7, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-outside-label {
    grid-column: 1;
    padding: 5px 3px 5px 0;
    font-size: 8px;
    line-height: 1.1;
    font-weight: 700;
    color: #77808a;
    text-align: right;
    align-self: start;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-outside-day {
    grid-row: 1;
    min-width: 0;
    padding: 2px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-sizing: border-box;
}
#vezeta-app .vezeta-calendar-week-outside-day .vezeta-calendar-event {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
@media (max-width:700px) {
    #vezeta-app .vezeta-calendar-week-grid,
    #vezeta-app .vezeta-calendar-week-outside-grid {
        grid-template-columns: 30px repeat(7, minmax(0, 1fr));
        width: 100%;
        min-width: 0;
    }
    #vezeta-app .vezeta-calendar-week-grid { grid-template-rows: 48px 672px; }
    #vezeta-app .vezeta-calendar-week-times { height: 672px !important; }
    #vezeta-app .vezeta-calendar-week-day-column { height: 672px !important; }
    #vezeta-app .vezeta-calendar-week-outside-label { font-size: 7px; padding-right: 2px; }
    #vezeta-app .vezeta-calendar-week-outside-day { padding: 1px; gap: 3px; }
}

/* Vezeta 1.0 – 0.9.66 – heti nézet újratervezve Google Calendar mintára */
#vezeta-app .vezeta-calendar-week-wrap { width:100%; min-width:0; box-sizing:border-box; }
#vezeta-app .vezeta-calendar-week-allday {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    column-gap:0;
    width:100%;
    min-width:0;
    box-sizing:border-box;
    background:#f7f9fa;
    border:1px solid #e1e5e8;
    border-bottom:0;
    border-radius:8px 8px 0 0;
    overflow:hidden;
    padding:4px 0;
}
#vezeta-app .vezeta-calendar-week-allday-label {
    grid-column:1 / 2;
    grid-row:1;
    align-self:center;
    padding:0 4px;
    font-size:8px;
    font-weight:700;
    color:#737c84;
    text-align:center;
    box-sizing:border-box;
}
#vezeta-app .vezeta-calendar-week-allday-event {
    min-width:0;
    padding:2px;
    box-sizing:border-box;
}
#vezeta-app .vezeta-calendar-week-allday-event .vezeta-calendar-event {
    width:100%;
    min-width:0;
    min-height:24px;
    padding:4px 6px;
    border-radius:5px;
    box-sizing:border-box;
    overflow:hidden;
}
#vezeta-app .vezeta-calendar-week-allday-event .vezeta-calendar-event-time { display:none; }
#vezeta-app .vezeta-calendar-week-allday-event .vezeta-calendar-event strong {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:10px;
    line-height:1.1;
}
#vezeta-app .vezeta-calendar-week-grid {
    display:grid !important;
    grid-template-columns:32px repeat(7,minmax(0,1fr)) !important;
    grid-template-rows:48px var(--vezeta-week-grid-height) !important;
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    box-sizing:border-box;
    border:1px solid #e1e5e8;
    border-top:0;
    background:#fff;
}
#vezeta-app .vezeta-calendar-week-corner {
    grid-column:1 !important; grid-row:1 !important;
    border-right:1px solid #e1e5e8;
    border-bottom:1px solid #e1e5e8;
}
#vezeta-app .vezeta-calendar-week-head {
    grid-row:1 !important;
    min-width:0 !important;
    width:auto !important;
    height:48px !important;
    padding:6px 1px !important;
    box-sizing:border-box;
    overflow:hidden;
    border-right:1px solid #e1e5e8;
    border-bottom:1px solid #e1e5e8;
    text-align:center;
    font-size:8px;
    line-height:1.05;
    color:#6d767e;
}
#vezeta-app .vezeta-calendar-week-head strong {
    display:block;
    margin-top:4px;
    font-size:12px;
    line-height:1;
    color:#20262b;
}
#vezeta-app .vezeta-calendar-week-times {
    grid-column:1 !important;
    grid-row:2 !important;
    position:relative !important;
    height:var(--vezeta-week-grid-height) !important;
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box;
    border-right:1px solid #e1e5e8;
    background:#fff;
}
#vezeta-app .vezeta-calendar-week-times > div {
    position:absolute !important;
    right:3px !important;
    transform:translateY(-50%) !important;
    width:calc(100% - 4px) !important;
    height:auto !important;
    padding:0 !important;
    box-sizing:border-box;
    text-align:right;
    white-space:nowrap;
    overflow:hidden;
    font-size:7px;
    line-height:1;
    color:#7a838a;
}
#vezeta-app .vezeta-calendar-week-day-column {
    grid-row:2 !important;
    position:relative !important;
    min-width:0 !important;
    width:100% !important;
    height:var(--vezeta-week-grid-height) !important;
    min-height:0 !important;
    overflow:hidden !important;
    box-sizing:border-box;
    border-right:1px solid #e1e5e8;
    background:#fff;
}
#vezeta-app .vezeta-calendar-week-hour-line {
    position:absolute;
    left:0; right:0;
    height:1px;
    background:#e7eaec;
    pointer-events:none;
}
#vezeta-app .vezeta-calendar-week-hour-line::after {
    content:'';
    position:absolute;
    left:0; right:0; top:0;
    border-top:1px solid rgba(220,224,227,.35);
}
#vezeta-app .vezeta-calendar-week-event {
    position:absolute !important;
    z-index:3;
    min-width:0 !important;
    max-width:100%;
    box-sizing:border-box;
    overflow:hidden;
    border-radius:5px;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event {
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    padding:3px 4px;
    box-sizing:border-box;
    overflow:hidden;
    border-radius:5px;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event-time {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:7px;
    line-height:1.05;
    margin-bottom:2px;
}
#vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event strong {
    display:block;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    font-size:8px;
    line-height:1.08;
    max-height:3.3em;
    overflow:hidden;
}
@media (max-width:700px) {
    #vezeta-app .vezeta-calendar-week-grid { grid-template-columns:29px repeat(7,minmax(0,1fr)) !important; }
    #vezeta-app .vezeta-calendar-week-head { height:48px !important; font-size:7px; }
    #vezeta-app .vezeta-calendar-week-head strong { font-size:11px; }
    #vezeta-app .vezeta-calendar-week-times > div { right:2px !important; font-size:6.5px; }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event { padding:3px 2px; }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event-time { font-size:6.5px; }
    #vezeta-app .vezeta-calendar-week-event .vezeta-calendar-event strong { font-size:7.5px; line-height:1.05; max-height:3.15em; }
    #vezeta-app .vezeta-calendar-week-allday-label { font-size:6.5px; }
    #vezeta-app .vezeta-calendar-week-allday-event { padding:1px; }
    #vezeta-app .vezeta-calendar-week-allday-event .vezeta-calendar-event { padding:4px 2px; }
    #vezeta-app .vezeta-calendar-week-allday-event .vezeta-calendar-event strong { font-size:7px; }
}

/* Vezeta 1.0 – 0.9.67 – heti nézet: tiszta Google Calendar-szerű 0–24 rács */
#vezeta-app .vezeta-calendar-week2{width:100%;min-width:0;box-sizing:border-box;overflow:hidden;border:1px solid #e1e5e8;border-radius:7px;background:#fff;}
#vezeta-app .vezeta-calendar-week2-allday{display:grid;grid-template-columns:40px repeat(7,minmax(0,1fr));width:100%;min-width:0;box-sizing:border-box;background:#f7f9fa;border-bottom:1px solid #e1e5e8;}
#vezeta-app .vezeta-calendar-week2-allday-label{grid-column:1;padding:5px 3px;text-align:right;font-size:8px;line-height:1.1;color:#77808a;font-weight:700;box-sizing:border-box;}
#vezeta-app .vezeta-calendar-week2-allday-event{min-width:0;padding:2px;box-sizing:border-box;}
#vezeta-app .vezeta-calendar-week2-allday-event .vezeta-calendar-event{width:100%;min-width:0;min-height:24px;padding:4px 5px;box-sizing:border-box;border-radius:5px;overflow:hidden;}
#vezeta-app .vezeta-calendar-week2-allday-event .vezeta-calendar-event-time{display:none;}
#vezeta-app .vezeta-calendar-week2-allday-event .vezeta-calendar-event strong{font-size:9px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#vezeta-app .vezeta-calendar-week2-header{display:grid;grid-template-columns:40px repeat(7,minmax(0,1fr));width:100%;min-width:0;height:48px;box-sizing:border-box;background:#fafbfc;}
#vezeta-app .vezeta-calendar-week2-corner{border-right:1px solid #e1e5e8;border-bottom:1px solid #e1e5e8;}
#vezeta-app .vezeta-calendar-week2-head{min-width:0;height:48px;box-sizing:border-box;border-right:1px solid #e1e5e8;border-bottom:1px solid #e1e5e8;text-align:center;padding:6px 1px;color:#6d767e;font-size:8px;line-height:1.05;overflow:hidden;}
#vezeta-app .vezeta-calendar-week2-head span{display:block;}
#vezeta-app .vezeta-calendar-week2-head strong{display:block;margin-top:4px;font-size:13px;line-height:1;color:#20262b;}
#vezeta-app .vezeta-calendar-week2-body{display:grid;grid-template-columns:40px repeat(7,minmax(0,1fr));width:100%;min-width:0;height:var(--week2-height);box-sizing:border-box;}
#vezeta-app .vezeta-calendar-week2-times{position:relative;width:100%;height:var(--week2-height);box-sizing:border-box;border-right:1px solid #e1e5e8;background:#fff;}
#vezeta-app .vezeta-calendar-week2-times>div{position:absolute;right:3px;transform:translateY(-50%);font-size:8px;line-height:1;color:#727b83;white-space:nowrap;}
#vezeta-app .vezeta-calendar-week2-times>div:first-child{transform:none;}
#vezeta-app .vezeta-calendar-week2-day{position:relative;min-width:0;width:100%;height:var(--week2-height);box-sizing:border-box;border-right:1px solid #e1e5e8;overflow:hidden;background:#fff;}
#vezeta-app .vezeta-calendar-week2-line{position:absolute;left:0;right:0;height:1px;background:#e8ebed;pointer-events:none;}
#vezeta-app .vezeta-calendar-week2-event{position:absolute;z-index:4;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;border-radius:5px;}
#vezeta-app .vezeta-calendar-week2-event .vezeta-calendar-event{width:100%;height:100%;min-width:0;min-height:0;padding:3px 4px;box-sizing:border-box;border-radius:5px;overflow:hidden;}
#vezeta-app .vezeta-calendar-week2-event .vezeta-calendar-event-time{display:block;font-size:7px;line-height:1.05;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#vezeta-app .vezeta-calendar-week2-event .vezeta-calendar-event strong{display:block;font-size:8px;line-height:1.08;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-height:3.3em;overflow:hidden;}
@media(max-width:700px){
 #vezeta-app .vezeta-calendar-week2-allday,#vezeta-app .vezeta-calendar-week2-header,#vezeta-app .vezeta-calendar-week2-body{grid-template-columns:40px repeat(7,minmax(0,1fr));}
 #vezeta-app .vezeta-calendar-week2-head{font-size:7px;padding-left:0;padding-right:0;}
 #vezeta-app .vezeta-calendar-week2-head strong{font-size:11px;}
 #vezeta-app .vezeta-calendar-week2-times>div{right:2px;font-size:7px;}
 #vezeta-app .vezeta-calendar-week2-event .vezeta-calendar-event{padding:3px 2px;}
 #vezeta-app .vezeta-calendar-week2-event .vezeta-calendar-event-time{font-size:6.5px;}
 #vezeta-app .vezeta-calendar-week2-event .vezeta-calendar-event strong{font-size:7.5px;line-height:1.05;max-height:4.2em;}
}

/* Vezeta 1.0 – központi tanulói információs lap */
.vezeta-student-tabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid rgba(0,0,0,.10);padding-bottom:8px;}
.vezeta-student-tab{appearance:none;border:0;background:transparent;padding:10px 16px;border-radius:10px 10px 0 0;font:inherit;font-weight:700;color:#5b6470;cursor:pointer;}
.vezeta-student-tab:hover{background:rgba(0,0,0,.04);}
.vezeta-student-tab.is-active{background:#111827;color:#fff;}
.vezeta-student-package-badge{font-size:.82rem;font-weight:700;white-space:nowrap;}
@media(max-width:700px){.vezeta-student-tabs{gap:4px}.vezeta-student-tab{flex:1;padding:10px 8px;font-size:.9rem}.vezeta-student-package-badge{display:block;margin-top:4px}}


/* Alpha 7.1 / 0.9.77 – tanulói pénzügyi zseb figyelmeztetés */
.vezeta-finance-detail-kpis > div.is-negative {
    border: 2px solid #d63638;
    color: #d63638;
}
.vezeta-finance-detail-kpis > div.is-negative strong,
.vezeta-finance-detail-kpis > div.is-negative small {
    color: #d63638;
}
.vezeta-finance-wallet-breakdown .total.is-negative {
    border: 2px solid #d63638;
    color: #d63638;
}
.vezeta-finance-wallet-breakdown .total.is-negative b {
    color: #d63638;
}
.vezeta-student-finance-actions{display:flex;justify-content:flex-end;gap:10px;margin:12px 0 4px}
@media(max-width:640px){.vezeta-student-finance-actions{justify-content:stretch}.vezeta-student-finance-actions .vezeta-btn{width:100%}}

/* Alpha 8.2 – kezdőlap: központi oktatói indulófelület */
#vezeta-app .vezeta-home-more-students{display:block;margin:16px 0 6px;width:100%;max-width:320px}
#vezeta-app .vezeta-home-stats{margin-top:28px;padding-top:24px;border-top:1px solid var(--vezeta-border,#e5e7eb)}
#vezeta-app .vezeta-home-stats-head{margin-bottom:18px}
#vezeta-app .vezeta-home-stats-head h2{margin:4px 0 5px}
#vezeta-app .vezeta-home-stats-head p{margin:0;color:var(--vezeta-muted);font-size:13px}
#vezeta-app .vezeta-home-stat-group{margin-top:14px;padding:16px;border:1px solid var(--vezeta-border,#e5e7eb);border-radius:16px;background:rgba(255,255,255,.72)}
#vezeta-app .vezeta-home-stat-group-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
#vezeta-app .vezeta-home-stat-group-head strong{font-size:15px}
#vezeta-app .vezeta-home-stat-group-head span{font-size:12px;color:var(--vezeta-muted);text-align:right}
#vezeta-app .vezeta-home-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#vezeta-app .vezeta-home-stat-grid>div{padding:12px;border-radius:12px;background:#f7f8fa;text-align:center}
#vezeta-app .vezeta-home-stat-grid b{display:block;font-size:22px;line-height:1.15}
#vezeta-app .vezeta-home-stat-grid small{display:block;margin-top:5px;color:var(--vezeta-muted);font-size:11px;line-height:1.25}
#vezeta-app .vezeta-settings-tools-panel{margin-top:16px;border:1px solid var(--vezeta-border,#e5e7eb);border-radius:14px}
#vezeta-app .vezeta-settings-tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media(max-width:760px){#vezeta-app .vezeta-home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#vezeta-app .vezeta-home-stat-group-head{align-items:flex-start;flex-direction:column}#vezeta-app .vezeta-home-stat-group-head span{text-align:left}#vezeta-app .vezeta-settings-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){#vezeta-app .vezeta-settings-tools-grid{grid-template-columns:1fr}}


/* Alpha 8.4 / 0.9.90 – mobilos kezdőlap: nagyobb, könnyebben nyomható műveleti gombok */
@media (max-width: 700px){
    #vezeta-app .vezeta-student-actions{gap:8px}
    #vezeta-app .vezeta-student-actions .vezeta-btn{min-height:50px;padding:12px 10px;font-size:14px;line-height:1.15}
    #vezeta-app .vezeta-home-more-students{min-height:50px;padding:12px 14px;font-size:14px}
}
@media (max-width: 430px){
    #vezeta-app .vezeta-student-actions{grid-template-columns:1fr 1fr}
    #vezeta-app .vezeta-student-actions .vezeta-btn{min-height:52px;font-size:13px}
}

/* Alpha 8.5 / 0.9.91 – oktatói tanulói előnézet */
#vezeta-app .vezeta-student-preview-banner{
    margin:12px 0 0;
    padding:11px 14px;
    border:1px solid #f0c36d;
    border-radius:12px;
    background:#fff8e8;
    color:#6b4d16;
    font-size:13px;
    line-height:1.4;
}
@media(max-width:640px){
    #vezeta-app .vezeta-student-preview-banner{font-size:12px;padding:10px 12px}
}

/* Alpha 8.6 / 0.9.92 – tanulói nézet a kezdőlapon és a központi tanulói lap fülei között */
#vezeta-app .vezeta-home-student-preview{grid-column:1 / -1;}
#vezeta-app .vezeta-student-preview-tab{white-space:nowrap;}
@media(max-width:700px){
    #vezeta-app .vezeta-student-preview-tab{font-size:.82rem;padding-left:6px;padding-right:6px;}
    #vezeta-app .vezeta-home-student-preview{min-height:46px;}
}
// --- KARTON KITÖLTÉSI SEGÉDLET (Garantált kártyás nézet) ---
            const formatKmNum = function(v){ return Number(v||0) ? Number(v).toLocaleString('hu-HU') : '—'; };
            const diffKm = function(k1, k2){ return (k1 && k2 && k2 >= k1) ? (k2 - k1) + ' km' : '—'; };

            let kartonHelp = `
                <div style="margin: 14px 0 20px 0; padding: 14px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,0.04);">
                    <div style="font-size: 11px; font-weight: 900; letter-spacing: 0.08em; color: #68737d; margin-bottom: 10px;">📋 KARTON KITÖLTÉSI SEGÉDLET</div>
            `;

            if (elozo) {
                kartonHelp += `
                    <div style="padding: 10px 12px; margin-bottom: 8px; background: #f4f6f8; border: 1px solid #e2e7ec; border-radius: 10px; font-size: 12px; color: #4b5563;">
                        <div style="display: flex; justify-content: space-between; font-weight: 800; color: #68737d; border-bottom: 1px solid #e2e7ec; padding-bottom: 4px; margin-bottom: 6px;">
                            <span>[ELŐZŐ ALKALOM]</span>
                            <span>${fmtDate(elozo.kezdes)}</span>
                        </div>
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px;">
                            <div><b>Idő:</b> ${fmtTime(elozo.kezdes)}–${fmtTime(elozo.befejezes)}</div>
                            <div><b>Jelleg:</b> ${esc(elozo.ora_tipus || '—')}</div>
                            <div><b>Km:</b> ${formatKmNum(elozo.kezdo_km)} → ${formatKmNum(elozo.zaro_km)}</div>
                            <div><b>Megtett:</b> ${diffKm(elozo.kezdo_km, elozo.zaro_km)} (${elozo.elszamolt_orak || 1} óra)</div>
                        </div>
                    </div>
                `;
            }

            kartonHelp += `
                    <div style="padding: 10px 12px; background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 10px; font-size: 12px; color: #1e40af;">
                        <div style="display: flex; justify-content: space-between; font-weight: 800; border-bottom: 1px solid #c7d2fe; padding-bottom: 4px; margin-bottom: 6px;">
                            <span>[MÓDOSÍTOTT / JELENLEGI]</span>
                            <span>${fmtDate(o.kezdes)}</span>
                        </div>
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px;">
                            <div><b>Idő:</b> ${fmtTime(o.kezdes)}–${fmtTime(o.befejezes)}</div>
                            <div><b>Jelleg:</b> ${esc(o.ora_tipus || '—')}</div>
                            <div><b>Km:</b> ${formatKmNum(o.kezdo_km)} → ${formatKmNum(o.zaro_km)}</div>
                            <div><b>Megtett:</b> ${diffKm(o.kezdo_km, o.zaro_km)} (${o.elszamolt_orak || 1} óra)</div>
                        </div>
                    </div>
                </div>
            `;