:root {
  --zt-primary: #2563eb;
  --zt-primary-dark: #1d4ed8;
}

body { font-family: "Source Sans 3", system-ui, -apple-system, sans-serif; }
a { color: var(--zt-primary); }
.btn-primary { --bs-btn-bg: var(--zt-primary); --bs-btn-border-color: var(--zt-primary); --bs-btn-hover-bg: var(--zt-primary-dark); --bs-btn-hover-border-color: var(--zt-primary-dark); }
.app-sidebar { --lte-sidebar-width: 260px; }
.sidebar-brand { min-height: 64px; }
.brand-link { display: inline-flex; align-items: center; gap: .7rem; color: inherit; }
.brand-mark { display: inline-grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .65rem; color: #fff; background: var(--zt-primary); }
.brand-text { font-size: 1.35rem; letter-spacing: -.02em; }
.user-avatar, .message-avatar { display: inline-grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--zt-primary); font-size: .8rem; font-weight: 700; }
.profile-avatar { display: inline-grid; place-items: center; width: 6rem; height: 6rem; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--zt-primary), #7c3aed); font-size: 2rem; font-weight: 700; }
.skip-link { position: fixed; z-index: 2000; top: .5rem; left: .5rem; padding: .5rem .75rem; transform: translateY(-150%); background: #fff; color: #111; border-radius: .25rem; box-shadow: 0 .2rem .5rem rgba(0,0,0,.2); }
.skip-link:focus { transform: translateY(0); }
.ticket-timeline { border-left: 2px solid var(--bs-border-color); margin-left: 1rem; }
.timeline-message { position: relative; padding: 0 0 1.5rem 1.5rem; }
.timeline-message:last-child { padding-bottom: 0; }
.timeline-message .message-avatar { position: absolute; left: -1.05rem; top: 0; }
.timeline-message > .d-flex { padding-left: .75rem; }
.error-page { width: min(100%, 34rem); margin: 5rem auto; }
.login-page { min-height: 100vh; padding: 1rem; }
.login-box { width: min(100%, 420px); }
.small-box .small-box-icon { font-size: 4rem; opacity: .25; }
.company-logo-preview { max-height: 140px; }
.ticket-message-body { white-space: pre-wrap; }
.zt-progress { display: block; width: 100%; height: 1rem; accent-color: var(--bs-primary); }
.zt-progress-info { accent-color: var(--bs-info); }
.zt-progress-warning { accent-color: var(--bs-warning); }
.zt-progress-success { accent-color: var(--bs-success); }
.zt-progress-secondary { accent-color: var(--bs-secondary); }
@media (max-width: 575.98px) { .app-content-header .breadcrumb { float: none !important; margin-top: .75rem; } .table { font-size: .9rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
