/* Dlaždice štatistík: obsah do stredu, jemný dôraz */
.fi-wi-stats-overview-stat {
    align-items: center;
    text-align: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px -12px rgb(0 0 0 / 0.25);
}

.fi-wi-stats-overview-stat-content {
    align-items: center;
}

.fi-wi-stats-overview-stat-label-ctn {
    justify-content: center;
}

.fi-wi-stats-overview-stat-value {
    font-size: 2.25rem;
    line-height: 2.5rem;
}

/* ===== Kanban ===== */
.agenda-kanban-toolbar { margin-bottom: 1rem; }

.agenda-kanban-select {
    min-width: 20rem;
    max-width: 100%;
    border-radius: 0.5rem;
    border: 1px solid rgb(0 0 0 / 0.15);
    padding: 0.5rem 0.75rem;
    background: transparent;
}

.dark .agenda-kanban-select { border-color: rgb(255 255 255 / 0.2); }

.agenda-kanban {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    align-items: flex-start;
    padding-bottom: 1rem;
}

.agenda-kanban-col {
    flex: 0 0 18rem;
    background: rgb(0 0 0 / 0.03);
    border-radius: 0.75rem;
    padding: 0.75rem;
}

.dark .agenda-kanban-col { background: rgb(255 255 255 / 0.05); }

.agenda-kanban-col-over { outline: 2px solid rgb(239 68 68 / 0.6); }

.agenda-kanban-col-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
    font-size: 0.875rem;
}

.agenda-kanban-col-dot {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 9999px;
    background: var(--col-color);
}

.agenda-kanban-col-count {
    margin-left: auto;
    font-weight: 400;
    opacity: 0.6;
    font-size: 0.75rem;
}

.agenda-kanban-cards {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-height: 3rem;
}

.agenda-kanban-card {
    background: #fff;
    border-radius: 0.625rem;
    padding: 0.625rem 0.75rem;
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.08);
    cursor: grab;
}

.dark .agenda-kanban-card { background: rgb(255 255 255 / 0.08); }

.agenda-kanban-card:active { cursor: grabbing; }

.agenda-kanban-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.25rem;
}

.agenda-kanban-ref {
    font-size: 0.75rem;
    font-weight: 700;
    opacity: 0.7;
}

.agenda-kanban-prio {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
}

.agenda-prio-low { background: #94a3b8; }
.agenda-prio-normal { background: #3b82f6; }
.agenda-prio-high { background: #f59e0b; }
.agenda-prio-urgent { background: #ef4444; }

.agenda-kanban-title {
    display: block;
    font-size: 0.875rem;
    line-height: 1.3;
}

.agenda-kanban-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.375rem;
}

.agenda-kanban-label {
    font-size: 0.625rem;
    padding: 0.0625rem 0.375rem;
    border-radius: 9999px;
    background: color-mix(in srgb, var(--label-color) 18%, transparent);
    color: var(--label-color);
    font-weight: 600;
}

.agenda-kanban-card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    font-size: 0.6875rem;
}

.agenda-kanban-avatar {
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 9999px;
    background: rgb(99 102 241 / 0.15);
    color: #6366f1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.625rem;
}

.agenda-kanban-due-late { color: #ef4444; font-weight: 700; }

.agenda-kanban-chip { opacity: 0.6; }

.agenda-kanban-move { margin-top: 0.5rem; font-size: 0.75rem; }

.agenda-kanban-move summary { cursor: pointer; opacity: 0.5; }

.agenda-kanban-move-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.375rem;
}

.agenda-kanban-move-options button {
    border: 1px solid rgb(0 0 0 / 0.15);
    border-radius: 0.375rem;
    padding: 0.125rem 0.5rem;
}

.dark .agenda-kanban-move-options button { border-color: rgb(255 255 255 / 0.2); }

/* Ťahanie má na dotykových zariadeniach zmysel skryť */
@media (hover: none) {
    .agenda-kanban-card { cursor: default; }
}

@media (hover: hover) {
    .agenda-kanban-move { display: none; }
}

.agenda-kanban-empty { opacity: 0.6; }

/* ===== Našepkávač zmienok ===== */
.agenda-mention-wrap { position: relative; }

.agenda-mention-textarea {
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid rgb(0 0 0 / 0.15);
    padding: 0.5rem 0.75rem;
    background: transparent;
    font-size: 0.875rem;
}

.dark .agenda-mention-textarea { border-color: rgb(255 255 255 / 0.2); }

.agenda-mention-dropdown {
    position: absolute;
    z-index: 50;
    left: 0.5rem;
    right: 0.5rem;
    margin-top: 0.25rem;
    background: #fff;
    border: 1px solid rgb(0 0 0 / 0.1);
    border-radius: 0.5rem;
    box-shadow: 0 10px 30px -10px rgb(0 0 0 / 0.3);
    overflow: hidden;
}

.dark .agenda-mention-dropdown { background: #18181b; border-color: rgb(255 255 255 / 0.15); }

.agenda-mention-item {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    text-align: left;
}

.agenda-mention-item-active,
.agenda-mention-item:hover { background: rgb(99 102 241 / 0.12); }

.agenda-mention-handle { opacity: 0.5; font-size: 0.75rem; }

/* ===== Prehliadka rozhrania ===== */
[x-cloak] { display: none !important; }

.agenda-tour { position: fixed; inset: 0; z-index: 80; }

.agenda-tour-backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / 0.45); }

.agenda-tour-highlight {
    position: fixed;
    border-radius: 0.75rem;
    box-shadow: 0 0 0 9999px rgb(0 0 0 / 0.45), 0 0 0 3px #4f46e5;
    background: transparent;
    pointer-events: none;
    transition: all 0.25s ease;
}

.agenda-tour .agenda-tour-backdrop { background: transparent; }

.agenda-tour-card {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(20.5rem, calc(100vw - 1.5rem));
    background: #fff;
    color: #18181b;
    border-radius: 0.875rem;
    padding: 1rem 1.125rem;
    box-shadow: 0 20px 50px -15px rgb(0 0 0 / 0.45);
    transition: all 0.25s ease;
}

.dark .agenda-tour-card { background: #1f1f23; color: #fafafa; }

.agenda-tour-progress { font-size: 0.6875rem; opacity: 0.5; margin-bottom: 0.25rem; }

.agenda-tour-card h3 { font-weight: 700; font-size: 1rem; margin: 0 0 0.375rem; }

.agenda-tour-card p { font-size: 0.875rem; opacity: 0.8; margin: 0 0 0.875rem; line-height: 1.45; }

.agenda-tour-actions { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }

.agenda-tour-actions button { font-size: 0.8125rem; padding: 0.375rem 0.75rem; border-radius: 0.5rem; }

.agenda-tour-skip { opacity: 0.5; }

.agenda-tour-next { background: #4f46e5; color: #fff; font-weight: 600; margin-left: 0.375rem; }


/* ===== Kalendár ===== */
.agenda-cal-toolbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }

.agenda-cal-nav { display: flex; align-items: center; gap: 0.5rem; }

.agenda-cal-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 2rem; height: 2rem; padding: 0 0.5rem;
    border: 1px solid rgb(0 0 0 / 0.15); border-radius: 0.5rem;
    font-weight: 600;
}

.dark .agenda-cal-btn { border-color: rgb(255 255 255 / 0.2); }

.agenda-cal-today { font-size: 0.8125rem; }

.agenda-cal-month { font-weight: 700; font-size: 1.05rem; min-width: 10rem; text-align: center; text-transform: capitalize; }

.agenda-cal-ics { font-size: 0.8125rem; }
.agenda-cal-ics summary { cursor: pointer; opacity: 0.6; }
.agenda-cal-ics-body { max-width: 26rem; margin-top: 0.5rem; opacity: 0.8; }
.agenda-cal-ics-body code { display: block; margin-top: 0.375rem; padding: 0.375rem 0.5rem; background: rgb(0 0 0 / 0.06); border-radius: 0.375rem; word-break: break-all; font-size: 0.6875rem; }
.dark .agenda-cal-ics-body code { background: rgb(255 255 255 / 0.08); }

.agenda-cal {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    background: rgb(0 0 0 / 0.08);
    border-radius: 0.75rem;
    overflow: hidden;
}

.dark .agenda-cal { background: rgb(255 255 255 / 0.1); }

.agenda-cal-head {
    background: rgb(0 0 0 / 0.03);
    padding: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.7;
}

.dark .agenda-cal-head { background: rgb(255 255 255 / 0.05); }

.agenda-cal-cell {
    background: #fff;
    min-height: 6rem;
    padding: 0.375rem;
}

.dark .agenda-cal-cell { background: #18181b; }

.agenda-cal-cell-weekend { background: rgb(0 0 0 / 0.02); }
.dark .agenda-cal-cell-weekend { background: rgb(255 255 255 / 0.03); }

.agenda-cal-cell-empty { background: rgb(0 0 0 / 0.03); }
.dark .agenda-cal-cell-empty { background: rgb(255 255 255 / 0.02); }

.agenda-cal-cell-today { outline: 2px solid #4f46e5; outline-offset: -2px; }

.agenda-cal-daynum { font-size: 0.75rem; font-weight: 700; opacity: 0.6; margin-bottom: 0.25rem; }

.agenda-cal-cell-today .agenda-cal-daynum { color: #4f46e5; opacity: 1; }

.agenda-cal-event {
    display: block;
    font-size: 0.6875rem;
    line-height: 1.25;
    padding: 0.125rem 0.375rem;
    margin-bottom: 0.125rem;
    border-radius: 0.25rem;
    background: rgb(99 102 241 / 0.12);
    color: #4f46e5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dark .agenda-cal-event { color: #a5b4fc; }

.agenda-cal-event-document { background: rgb(124 58 237 / 0.12); color: #7c3aed; }
.dark .agenda-cal-event-document { color: #c4b5fd; }

.agenda-cal-event-danger { background: rgb(239 68 68 / 0.12); color: #dc2626; font-weight: 700; }
.dark .agenda-cal-event-danger { color: #fca5a5; }

/* Mobil: agenda po dňoch — dni bez udalostí sa skryjú */
@media (max-width: 767px) {
    .agenda-cal { display: flex; flex-direction: column; background: transparent; gap: 0.5rem; }
    .agenda-cal-head { display: none; }
    .agenda-cal-cell { display: none; border-radius: 0.625rem; min-height: 0; }
    .agenda-cal-cell[data-has-events] { display: block; }
    .agenda-cal-cell-today { display: block; }
    .agenda-cal-daynum::after { content: '. deň'; font-weight: 400; }
    .agenda-cal-event { white-space: normal; }
}


/* ===== Prvé kroky ===== */
.agenda-firststeps { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0.5rem; }

.agenda-firststep {
    display: flex; gap: 0.625rem; align-items: flex-start;
    padding: 0.625rem 0.75rem; border-radius: 0.625rem;
    border: 1px solid rgb(0 0 0 / 0.08);
}

.dark .agenda-firststep { border-color: rgb(255 255 255 / 0.12); }

.agenda-firststep:not(.agenda-firststep-done):hover { border-color: #4f46e5; }

.agenda-firststep-done { opacity: 0.55; pointer-events: none; }

.agenda-firststep-check {
    flex: 0 0 1.25rem; height: 1.25rem; border-radius: 9999px;
    border: 2px solid rgb(0 0 0 / 0.2);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 0.75rem; font-weight: 700; margin-top: 0.1rem;
}

.dark .agenda-firststep-check { border-color: rgb(255 255 255 / 0.25); }

.agenda-firststep-done .agenda-firststep-check { background: #22c55e; border-color: #22c55e; color: #fff; }

.agenda-firststep-label { display: block; font-weight: 600; font-size: 0.8125rem; }

.agenda-firststep-hint { display: block; font-size: 0.6875rem; opacity: 0.6; }


/* ===== Push výzva ===== */
.agenda-push-prompt {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 0.875rem 1.125rem;
    border-radius: 0.75rem;
    border: 1px dashed rgb(99 102 241 / 0.5);
    background: rgb(99 102 241 / 0.06);
    flex-wrap: wrap;
}

.agenda-push-prompt strong { display: block; font-size: 0.875rem; }

.agenda-push-prompt span { font-size: 0.75rem; opacity: 0.7; }

.agenda-push-prompt button {
    background: #4f46e5; color: #fff; font-weight: 600; font-size: 0.8125rem;
    padding: 0.5rem 0.875rem; border-radius: 0.5rem; white-space: nowrap;
}

.agenda-push-prompt button:disabled { opacity: 0.6; }

/* ===== Offline banner ===== */
.agenda-offline-banner {
    position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%);
    z-index: 90;
    background: #dc2626; color: #fff;
    padding: 0.5rem 1rem; border-radius: 9999px;
    font-size: 0.8125rem; font-weight: 600;
    box-shadow: 0 10px 30px -10px rgb(0 0 0 / 0.4);
}
