/* Sidspecifik stil för admin-hemmet (admin/overview.jsp).
 * Den delade KPI-kortkomponenten ligger i style/kpi-cards.css. */

/* ── Kul fakta ───────────────────────────────────────────────────────── */
.fact-card {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
    border: 1px solid #e3e8ef;
    border-radius: .6rem;
    padding: .9rem 1rem;
}

.fact-icon {
    font-size: 1.4rem;
    color: #0d6efd;
    opacity: .85;
    flex-shrink: 0;
    line-height: 1.3;
}

.fact-text {
    font-size: .88rem;
    color: #44506a;
    line-height: 1.45;
}

.fact-text strong {
    color: #22314f;
}

/* Platshållare medan fakta hämtas – undviker att sidan hoppar när svaret kommer. */
.fact-skeleton {
    height: 74px;
    border-radius: .6rem;
    background: linear-gradient(90deg, #f1f3f7 25%, #e7ebf1 50%, #f1f3f7 75%);
    background-size: 400% 100%;
    animation: factShimmer 1.4s ease-in-out infinite;
}

@keyframes factShimmer {
    0% { background-position: 100% 0; }
    100% { background-position: 0 0; }
}

/* ── Diagram ─────────────────────────────────────────────────────────── */
.chart-box {
    position: relative;
    height: 260px;
}

/* ── Genvägar (fliken Flikar/funktioner) ─────────────────────────────── */
.shortcut-card {
    display: block;
    height: 100%;
    padding: 1rem;
    border: 1px solid #e3e8ef;
    border-radius: .6rem;
    background: #fff;
    text-decoration: none;
    transition: transform .08s, box-shadow .08s, border-color .08s;
}

.shortcut-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
    border-color: #b6d4fe;
    text-decoration: none;
}

.shortcut-icon {
    font-size: 1.5rem;
    color: #0d6efd;
}

.shortcut-title {
    font-weight: 600;
    color: #22314f;
    margin-top: .4rem;
}

.shortcut-desc {
    font-size: .8rem;
    color: #6c757d;
    margin-top: .15rem;
}

/* ── Påminnelsetabellen ──────────────────────────────────────────────── */
#reminderStatusTable td,
#reminderStatusTable th {
    vertical-align: middle;
}

/* Alla cellinjer. DataTables egen stil sätter egna border-regler på table.dataTable och
   kan annars äta upp `table-bordered` – därför explicit här. Gäller båda tabellerna:
   attesttabellen saknade sidolinjer i tabellhuvudet av precis samma skäl. */
#reminderStatusTable,
#reminderStatusTable > thead > tr > th,
#reminderStatusTable > thead > tr > td,
#reminderStatusTable > tbody > tr > th,
#reminderStatusTable > tbody > tr > td,
#attestTable,
#attestTable > thead > tr > th,
#attestTable > thead > tr > td,
#attestTable > tbody > tr > th,
#attestTable > tbody > tr > td {
    border: 1px solid var(--bs-border-color, #dee2e6);
}

/* DataTables sätter border-collapse:separate på table.dataTable, vilket gör att två
   grannceller lägger sina 1px-linjer bredvid varandra → 2px tjocka linjer. Kollapsa
   tillbaka så att linjerna blir 1px som avsett. (Ingen av tabellerna använder
   sticky header/scrollX, som är skälet till att DataTables kör separate.) */
#reminderStatusTable,
#attestTable {
    border-collapse: collapse;
}

.reminder-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: .75rem;
}

.reminder-toolbar .spacer {
    margin-left: auto;
}

/* Väljaren "Visa rapportörer": listan kan bli lång (alla anställda) och måste kunna
   scrolla inuti menyn i stället för att växa ut ur skärmen. */
.reminder-visibility-menu {
    min-width: 280px;
}

.reminder-visibility-list {
    max-height: 260px;
    overflow-y: auto;
}

.reminder-visibility-list .form-check {
    margin-bottom: .15rem;
}

.reminder-visibility-list .form-check-label {
    cursor: pointer;
}

/* ---------------------------------------------------------------------------
   Personlig hälsning högst upp (se.itendi.tools.AdminWelcome)
   Säsongen sätter klassen welcome-<nyckel>, som bara byter accentfärg.
   --------------------------------------------------------------------------- */

.welcome-strip {
    --welcome-accent: #3b9fcd;
    --welcome-tint: #eef6fb;

    display: flex;
    align-items: flex-start;
    gap: .85rem;
    margin: 0 0 1rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(0, 0, 0, .06);
    border-left: 4px solid var(--welcome-accent);
    border-radius: .6rem;
    background: var(--welcome-tint);
}

.welcome-strip[hidden] {
    display: none;
}

.welcome-emoji {
    flex: 0 0 auto;
    font-size: 1.6rem;
    line-height: 1.2;
    letter-spacing: -4px;
}

.welcome-body {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
    flex: 1 1 auto;
}

.welcome-hello {
    font-size: 1rem;
}

.welcome-humour {
    color: #5c6b74;
    font-size: .875rem;
}

.welcome-reminder {
    margin-top: .3rem;
    color: #8a5a00;
    font-size: .875rem;
}

.welcome-reminder a {
    margin-left: .35rem;
    white-space: nowrap;
}

.welcome-close {
    flex: 0 0 auto;
    margin-top: .1rem;
    opacity: .4;
}

.welcome-close:hover {
    opacity: .8;
}

/* Accentfärgen följer säsongen – samma indelning som panelen på inloggningssidan. */
.welcome-tillbaka,
.welcome-semester { --welcome-accent: #e8a33d; --welcome-tint: #fdf5e6; }
.welcome-jul,
.welcome-advent,
.welcome-lucia,
.welcome-knut,
.welcome-alla-hjartans { --welcome-accent: #c0504a; --welcome-tint: #fbeeee; }
.welcome-nyar { --welcome-accent: #8a63cf; --welcome-tint: #f4f0fc; }
.welcome-pask,
.welcome-midsommar { --welcome-accent: #74b04a; --welcome-tint: #f1f8ea; }
.welcome-halloween,
.welcome-valborg,
.welcome-kanelbulle,
.welcome-vaffla,
.welcome-fettisdagen { --welcome-accent: #e08a2e; --welcome-tint: #fdf3e7; }

@media (max-width: 575.98px) {
    .welcome-reminder a {
        display: block;
        margin-left: 0;
    }
}
