/*
 * Záznamy, prehliadka, úlohy a prehľad: doplnky nad pages.css (funkčné formuláre a zoznamy).
 * Len tokeny --hv-*; dotykové plochy >= 44 px.
 */

/* ---------- Hlásenia ---------- */
.hv-flashes {
    display: flex;
    flex-direction: column;
    gap: var(--hv-space-2);
}

.hv-field-error {
    margin: 0;
    color: var(--hv-bad);
    font-size: var(--hv-text-sm);
    font-weight: 600;
}

.hv-form-row__control .hv-field-error {
    margin-top: 4px;
}

/* ---------- Stepper: návrat na „nezistené“ ---------- */
.hv-stepper__clear {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: var(--hv-radius-md);
    background: transparent;
    color: var(--hv-ink-subtle);
    cursor: pointer;
}

.hv-stepper__clear:hover {
    background: var(--hv-fill);
}

/* ---------- Prehliadka: úkony a rozbaľovacie sekcie ---------- */
.hv-action-list {
    display: flex;
    flex-direction: column;
    gap: var(--hv-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.hv-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--hv-space-2) var(--hv-space-3);
}

.hv-action-row__qty {
    display: inline-flex;
    align-items: center;
    gap: var(--hv-space-2);
    color: var(--hv-ink-muted);
    font-size: var(--hv-text-sm);
}

.hv-action-row__qty .hv-input {
    width: 88px;
    min-height: 44px;
}

.hv-form-section > summary {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 0 14px;
    font-weight: 600;
    cursor: pointer;
}

.hv-form-section[open] > summary {
    border-bottom: 1px solid var(--hv-line-soft);
}

.hv-form-row .hv-input,
.hv-form-row .hv-select {
    min-height: 44px;
}

.hv-form-row__control .hv-input--short {
    max-width: 160px;
}

.hv-form-row__inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--hv-space-2);
}

.hv-readonly {
    font-weight: 600;
}

/* ---------- Úlohy ---------- */
.hv-task-row {
    display: flex;
    align-items: center;
    gap: var(--hv-space-1);
    padding-right: var(--hv-space-2);
}

.hv-task-row .hv-task {
    flex: 1;
    min-width: 0;
    cursor: default;
}

.hv-task__check {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-left: var(--hv-space-2);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.hv-task__check::before {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px var(--hv-stone-400);
    content: '';
}

.hv-task__check:hover::before,
.hv-task__check:focus-visible::before {
    background: var(--hv-ok-bg);
    box-shadow: inset 0 0 0 2px var(--hv-ok);
}

.hv-task__check:focus-visible {
    outline: 3px solid var(--hv-amber-500);
    outline-offset: -4px;
}

.hv-task__dismiss {
    flex: none;
    min-height: 44px;
    padding: 0 var(--hv-space-2);
    border: 0;
    background: transparent;
    color: var(--hv-ink-subtle);
    font-size: var(--hv-text-sm);
    cursor: pointer;
}

.hv-task__dismiss:hover {
    color: var(--hv-ink);
    text-decoration: underline;
}

.hv-suggestion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--hv-space-2) var(--hv-space-3);
    padding: var(--hv-space-3) var(--hv-space-4);
}

.hv-suggestion__text {
    display: flex;
    flex: 1 1 220px;
    flex-direction: column;
    min-width: 0;
}

a.hv-pill,
a.hv-pill:hover {
    text-decoration: none;
}

/* ---------- Denník: stránkovanie, filter ---------- */
.hv-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--hv-space-3);
    color: var(--hv-ink-muted);
    font-size: var(--hv-text-sm);
}

.hv-filters__actions {
    display: flex;
    flex: none;
    gap: var(--hv-space-2);
}

.hv-active-filter {
    display: inline-flex;
    align-items: center;
    gap: var(--hv-space-2);
}

/* ---------- Hromadný úkon ---------- */
.hv-checklist {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: var(--hv-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------- Detail záznamu ---------- */
.hv-record-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hv-space-2);
}

.hv-media-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hv-space-2);
}

/* ---------- Prehľad: úvod nového účtu ---------- */
.hv-onboarding {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--hv-space-3);
}

.hv-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hv-space-2);
}
