/* Mail Rules Processor - Custom Styles */

/* General */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

/* Navbar */
.navbar-brand {
    font-weight: 600;
}

/* Cards */
.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

/* Tables */
.table th {
    font-weight: 600;
    white-space: nowrap;
}

.table td {
    vertical-align: middle;
}

/* Buttons */
.btn-group-sm > .btn {
    padding: 0.25rem 0.5rem;
}

/* Badges */
.badge {
    font-weight: 500;
}

/* Forms */
.form-label {
    font-weight: 500;
}

/* Alerts */
.alert {
    border-radius: 0.375rem;
}

/* Login page */
.login-card {
    max-width: 400px;
    margin: 100px auto;
}

/* Dashboard stats */
.card.text-white .card-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.card.text-white .card-footer a:hover {
    text-decoration: underline !important;
}

/* Rule list */
.table-secondary {
    opacity: 0.7;
}

/* Truncate text */
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Code styling */
code {
    background-color: #f1f3f4;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-size: 0.875em;
}

/* Responsive improvements */
@media (max-width: 768px) {
    .btn-group {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
    }

    .table-responsive {
        font-size: 0.875rem;
    }
}

/* Footer */
.footer {
    margin-top: auto;
}

/* List group in rule editor */
.list-group-item {
    border-left: 3px solid transparent;
}

.list-group-item:hover {
    border-left-color: var(--bs-primary);
}

/* Spinner for loading states */
.spinner-border-sm {
    width: 1rem;
    height: 1rem;
}

/* Modal improvements */
.modal-header {
    background-color: #f8f9fa;
}

/* Breadcrumb */
.breadcrumb {
    background: none;
    padding: 0;
    margin-bottom: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: "›";
}
