@use '../abstracts/mixins' as *;

.settings-form {
    padding-bottom: var(--space-9);
}

.printer-option {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    cursor: pointer;
    text-align: center;
    transition: border-color 120ms ease, background 120ms ease;

    input { display: none; }

    &__icon { font-size: 1.5rem; color: var(--color-text-muted); }
    &__label { font-weight: 600; }
    &__hint { color: var(--color-text-muted); font-size: var(--fs-xs); }

    &.is-selected,
    &:has(input:checked) {
        border-color: var(--color-primary);
        background: var(--color-primary-soft);
    }
    &:hover { border-color: var(--color-primary); }
}

.permission-group {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-3);

    &__legend {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-weight: 600;
        font-size: var(--fs-sm);
        margin-bottom: var(--space-2);
    }
    &__toggle {
        display: inline-flex; align-items: center; gap: 6px;
        color: var(--color-text-muted); font-size: var(--fs-xs);
        cursor: pointer;
    }
    &__grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: var(--space-2);
    }
}

.permission-item {
    display: flex;
    flex-direction: column;
    padding: var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--fs-sm);
    cursor: pointer;

    &:hover { background: var(--color-surface-alt); }
    &__hint { color: var(--color-text-muted); font-size: var(--fs-xs); }
    &__label { display: flex; align-items: center; gap: 6px; }
}

.role-swatch {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: var(--color-border-strong);

    &--admin { background: var(--color-primary); }
    &--manager { background: var(--color-info); }
    &--store-keeper { background: var(--color-warning); }
    &--salesman { background: var(--color-success); }
    &--accountant { background: var(--color-danger); }
}

.notification-group {
    &__header {
        padding: var(--space-2) var(--space-4);
        background: var(--color-surface-alt);
        font-size: var(--fs-xs);
        text-transform: uppercase;
        color: var(--color-text-muted);
        letter-spacing: .04em;
    }
}

.notification-list {
    list-style: none; margin: 0; padding: 0;

    &__item {
        display: flex; align-items: flex-start; gap: var(--space-3);
        padding: var(--space-3) var(--space-4);
        border-bottom: 1px solid var(--color-border);

        &.is-unread { background: rgba(37,99,235,.03); }
        &:last-child { border-bottom: 0; }
    }
    &__icon {
        width: 2rem; height: 2rem;
        display: inline-flex; align-items: center; justify-content: center;
        border-radius: var(--radius-md);
        background: var(--color-primary-soft);
        color: var(--color-primary);
    }
    &__title { font-weight: 600; font-size: var(--fs-sm); }
    &__message { color: var(--color-text-muted); font-size: var(--fs-sm); }
    &__meta { color: var(--color-text-muted); font-size: var(--fs-xs); }
    &__body { flex: 1; }
}

.search-page__form { margin-bottom: var(--space-3); }
.search-page__hint { margin-top: var(--space-3); }

.search-group {
    padding: var(--space-4);
    border-top: 1px solid var(--color-border);

    &__header { font-weight: 600; font-size: var(--fs-sm); margin-bottom: var(--space-2); }
    &__list { list-style: none; margin: 0; padding: 0; }
    &__link {
        display: flex; align-items: center; gap: var(--space-2);
        padding: var(--space-2) var(--space-3);
        border-radius: var(--radius-sm);
        color: var(--color-text);
        text-decoration: none;

        &:hover { background: var(--color-surface-alt); }
    }
    &__hint { color: var(--color-text-muted); margin-left: auto; font-size: var(--fs-xs); }
}

.security-tips {
    padding-left: var(--space-4);
    color: var(--color-text-muted);
    font-size: var(--fs-sm);

    li { margin-bottom: var(--space-1); }
}
