:root {
    --church-navy: #28445c;
    --church-blue: #326891;
}

.app-navbar {
    background-color: var(--church-navy);
}

.btn-primary {
    --bs-btn-bg: var(--church-blue);
    --bs-btn-border-color: var(--church-blue);
    --bs-btn-hover-bg: var(--church-navy);
    --bs-btn-hover-border-color: var(--church-navy);
}

.stat-card {
    border-top: 3px solid rgba(50, 104, 145, 0.35) !important;
}

.detail-label {
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.work-order-description {
    white-space: pre-line;
}

.priority-low { background-color: #6c757d; }
.priority-normal { background-color: #326891; }
.priority-high { background-color: #d97706; }
.priority-urgent { background-color: #b42318; }

.status-new { background-color: #326891; }
.status-assigned { background-color: #0b7285; }
.status-in-progress { background-color: #d97706; }
.status-waiting { background-color: #6f42c1; }
.status-completed { background-color: #31805a; }
.status-cancelled { background-color: #6c757d; }

.activity-timeline {
    border-left: 2px solid #d8e0e6;
    margin-left: 0.5rem;
    padding-left: 1.25rem;
}

.activity-item {
    padding: 0 0 1.25rem;
    position: relative;
}

.activity-item::before {
    background: var(--church-blue);
    border: 3px solid var(--bs-body-bg);
    border-radius: 50%;
    content: "";
    height: 0.8rem;
    left: -1.72rem;
    position: absolute;
    top: 0.25rem;
    width: 0.8rem;
}

.activity-note {
    background: #f5f8fa;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
}

.attachment-preview { height: 11rem; object-fit: cover; }
@media (max-width: 575.98px) {
    .display-6 { font-size: 1.8rem; }
}

.public-hero, .public-card, .error-card { max-width: 46rem; }
.touch-control, .public-card .form-control, .public-card .form-select { min-height: 3rem; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767.98px) {
    .card-body { padding-left: 1rem !important; padding-right: 1rem !important; }
    .btn { min-height: 2.75rem; }
    .mobile-stack { display: block; width: 100%; }
}
@media print {
    .no-print, nav, form, .btn { display: none !important; }
    body, main { background: #fff !important; padding: 0 !important; }
    .card { border: 0 !important; box-shadow: none !important; }
    a { color: #000; text-decoration: none; }
}
