/* KisTri CRM – Arculat */
/* Betűtípus: Ubuntu (cím és kenyérszöveg egyaránt) | Brand: navy #10184F, gold #E21E26, purple #0090D6 */

@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,400;0,500;0,700;1,400&display=swap');

:root {
    --tb-navy:       #10184F;
    --tb-navy-dark:  #0a1140;
    --tb-gold:       #E21E26;
    --tb-gold-dark:  #B5171D;
    --tb-purple:     #0090D6;
    --tb-light:      #f7f5f0;
    --tb-surface:    #ffffff;
    --tb-border:     #e3ddd0;
    --tb-text:       #1c2530;
    --tb-text-soft:  #5b6773;
}

* { box-sizing: border-box; }

body {
    background-color: var(--tb-light);
    font-family: 'Ubuntu', 'Segoe UI', system-ui, sans-serif;
    font-size: 0.94rem;
    color: var(--tb-text);
}

h1, h2, h3, h4, h5, h6,
.tb-heading, .navbar-brand, .btn, .nav-link, th, .card-header {
    font-family: 'Ubuntu', 'Segoe UI', system-ui, sans-serif;
}

a { color: var(--tb-navy); }
a:hover { color: var(--tb-gold-dark); }

/* ── Navigáció ── */
.tb-navbar {
    background: var(--tb-navy);
    border-bottom: 3px solid var(--tb-gold);
    padding: 0 0.75rem;
    min-height: 56px;
}
.tb-logo-img { height: 34px; width: auto; }
.tb-navbar .nav-link {
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.4rem 0.6rem;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
    color: #dfe4e8 !important;
    white-space: nowrap;
}
.tb-navbar .nav-link:hover,
.tb-navbar .nav-link.active {
    background: rgba(226, 30, 38, 0.22);
    color: #fff !important;
}
.tb-navbar .dropdown-menu {
    background: var(--tb-navy);
    border: 1px solid rgba(255,255,255,0.12);
}
.tb-navbar .dropdown-item { color: #dfe4e8; font-size: 0.85rem; }
.tb-navbar .dropdown-item:hover,
.tb-navbar .dropdown-item.active { background: rgba(226, 30, 38, 0.22); color: #fff; }
.tb-navbar .dropdown-item.disabled { color: #6c7885; }

/* ── Gombok ── */
.btn-tb-primary {
    background: var(--tb-gold);
    border-color: var(--tb-gold);
    color: var(--tb-navy);
    font-weight: 600;
}
.btn-tb-primary:hover {
    background: var(--tb-gold-dark);
    border-color: var(--tb-gold-dark);
    color: var(--tb-navy);
}
.btn-tb-outline {
    border-color: var(--tb-navy);
    color: var(--tb-navy);
    font-weight: 500;
}
.btn-tb-outline:hover { background: var(--tb-navy); color: #fff; }

/* ── Kártyák, táblák ── */
.card { border: 1px solid var(--tb-border); border-radius: 8px; }
.card-header {
    background: var(--tb-surface);
    border-bottom: 1px solid var(--tb-border);
    font-weight: 600;
    letter-spacing: .01em;
}
table.tb-table th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--tb-text-soft);
    border-bottom: 2px solid var(--tb-border);
    white-space: nowrap;
}
table.tb-table td { vertical-align: middle; }

/* ── Szerepkör badge-ek ── */
.tb-badge-admin    { background: var(--tb-navy); color: #fff; }
.tb-badge-edzo      { background: var(--tb-gold); color: var(--tb-navy); }
.tb-badge-sportolo  { background: var(--tb-purple); color: #fff; }
.tb-badge-szulo     { background: #fff; color: var(--tb-purple); border: 1px solid var(--tb-purple); }
.tb-badge-gold      { background: var(--tb-gold); color: var(--tb-navy); }

/* ── Kezdőlap KPI kártyák ── */
.tb-kpi { background: var(--tb-surface); border: 1px solid var(--tb-border); border-radius: 8px; padding: 1.1rem 1.3rem; }
.tb-kpi .tb-kpi-num { font-family: 'Ubuntu', sans-serif; font-weight: 700; font-size: 1.9rem; color: var(--tb-navy); line-height: 1; }
.tb-kpi .tb-kpi-label { font-size: 0.78rem; color: var(--tb-text-soft); margin-top: .3rem; }
.tb-kpi .bi { color: var(--tb-gold-dark); font-size: 1.3rem; }
.tb-kpi-link { transition: border-color .15s, box-shadow .15s; }
.tb-kpi-link:hover { border-color: var(--tb-gold-dark); box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.tb-kpi-active { border-color: var(--tb-gold-dark); box-shadow: 0 0 0 2px var(--tb-gold-dark) inset; }

/* ── Bejelentkezés oldal ── */
.tb-login-wrap { min-height: 100vh; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 24px; background: var(--tb-navy); padding: 24px; }
.tb-login-card { background: var(--tb-surface); border-radius: 10px; padding: 2.4rem 2.2rem; width: 100%; max-width: 380px; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.tb-login-card .tb-logo-img { height: 64px; display: block; margin: 0 auto 1.4rem; }
.tb-login-info { background: var(--tb-surface); border-radius: 10px; border-left: 4px solid var(--tb-gold); padding: 2.2rem 2rem; width: 100%; max-width: 420px; box-shadow: 0 20px 60px rgba(0,0,0,.35); color: var(--tb-text); font-size: .95rem; line-height: 1.5; }
.tb-login-info p + p { margin-top: .9rem; }

/* ── "Hamarosan" modul-kártya ── */
.tb-soon {
    background: var(--tb-surface);
    border: 1px dashed var(--tb-border);
    border-radius: 10px;
    padding: 3rem 2rem;
    text-align: center;
    max-width: 560px;
    margin: 2rem auto;
}
.tb-soon .bi { font-size: 2.4rem; color: var(--tb-gold-dark); }
.tb-soon .tb-soon-phase {
    display: inline-block; margin-top: .6rem;
    background: var(--tb-navy); color: #fff;
    font-size: .72rem; letter-spacing: .04em; text-transform: uppercase;
    padding: .25rem .7rem; border-radius: 20px;
}

/* ── Órarend: hónap nézet ── */
.tb-cal {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: var(--tb-border);
    border: 1px solid var(--tb-border);
    border-radius: 8px;
    overflow: hidden;
}
.tb-cal-head {
    background: var(--tb-navy);
    color: #fff;
    text-align: center;
    font-family: 'Ubuntu', sans-serif;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 8px 4px;
    font-weight: 600;
}
.tb-cal-day {
    background: var(--tb-surface);
    min-height: 108px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.tb-cal-day.tb-cal-out { background: var(--tb-light); }
.tb-cal-day.tb-cal-out .tb-cal-daynum { color: var(--tb-text-soft); opacity: .55; }
.tb-cal-day.tb-cal-today { background: #fdf6e6; box-shadow: inset 0 0 0 2px var(--tb-gold); }
.tb-cal-daynum {
    font-family: 'Ubuntu', sans-serif;
    font-weight: 600;
    font-size: .8rem;
    color: var(--tb-text-soft);
}
.tb-cal-day.tb-cal-today .tb-cal-daynum { color: var(--tb-navy); }
.tb-cal-event {
    background: var(--tb-gold);
    color: var(--tb-navy);
    font-size: .68rem;
    line-height: 1.3;
    padding: 2px 5px;
    border-radius: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
    display: block;
}
.tb-cal-event:hover { background: var(--tb-gold-dark); color: var(--tb-navy); }
.tb-cal-more { font-size: .66rem; color: var(--tb-text-soft); text-decoration: none; padding: 0 5px; }
.tb-cal-more:hover { color: var(--tb-navy); }

/* ── Órarend: hét nézet ── */
.tb-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: var(--tb-border);
    border: 1px solid var(--tb-border);
    border-radius: 8px;
    overflow: hidden;
}
.tb-week-day { background: var(--tb-surface); min-height: 240px; padding: 10px; }
.tb-week-day.tb-cal-today { background: #fdf6e6; }
.tb-week-day-head {
    font-family: 'Ubuntu', sans-serif;
    font-weight: 600;
    font-size: .78rem;
    color: var(--tb-text);
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--tb-border);
}
.tb-week-event {
    display: block;
    background: var(--tb-gold);
    color: var(--tb-navy);
    font-size: .72rem;
    line-height: 1.35;
    padding: 4px 6px;
    border-radius: 4px;
    margin-bottom: 5px;
    text-decoration: none;
}
.tb-week-event:hover { background: var(--tb-gold-dark); color: var(--tb-navy); }

/* ── Sidebar-szerű finomítás mobilon ── */
@media (max-width: 991px) {
    .tb-navbar { flex-wrap: wrap; }
}
