html, body { font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif; background:#f3f6fb; color:#233047; }
a, .btn-link { color:#2558d6; }
.btn, .form-control, .form-select { border-radius:.65rem; }
.btn, .form-control, .form-select, .input-group-text { font-size:.96rem; padding:.5rem .8rem; }
.card{ border-radius:1rem; border:1px solid #e8edf5; box-shadow:0 .2rem .8rem rgba(12,24,46,.06); }
.table { --bs-table-bg: transparent; }
.table > :not(caption) > * > * { padding:.8rem .7rem; }
.modal-content{ border-radius:1rem; border:0; box-shadow:0 .5rem 1.5rem rgba(0,0,0,.15); }
.page-title{ display:flex; align-items:center; gap:.6rem; margin-bottom:.8rem; }
.dashboard-icon{ width:2.75rem; height:2.75rem; border-radius:.9rem; display:inline-flex; align-items:center; justify-content:center; font-size:1.35rem; }
.dashboard-progress{ height:.55rem; border-radius:999px; background:#e9eef7; }
.monthly-bars{ display:flex; flex-direction:column; gap:.85rem; }
.monthly-bar-row{ display:grid; grid-template-columns:5.75rem 1fr 7rem; align-items:center; gap:.75rem; }
.monthly-label,.monthly-value{ color:#6c778b; font-size:.9rem; }
.monthly-value{ text-align:right; font-weight:600; color:#233047; }
.monthly-track{ height:.9rem; border-radius:999px; background:#e9eef7; overflow:hidden; }
.monthly-fill{ height:100%; border-radius:999px; background:linear-gradient(90deg,#2558d6,#5bbcff); min-width:.35rem; }
@media (max-width:640px){ .monthly-bar-row{ grid-template-columns:1fr; gap:.35rem; } .monthly-value{ text-align:left; } }
.ticket-column-body{ min-height:28rem; max-height:70vh; overflow-y:auto; }
.ticket-card{ transition:transform .15s ease, box-shadow .15s ease; }
.ticket-card:hover{ transform:translateY(-2px); box-shadow:0 .35rem 1rem rgba(12,24,46,.1); }
.ticket-description{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ticket-public-page .card, .ticket-board-page .card{ border:1px solid #e8edf5; }
.ticket-volume-bars{ display:flex; flex-direction:column; gap:.85rem; }
.ticket-volume-row{ display:grid; grid-template-columns:5.75rem 1fr 3rem; align-items:center; gap:.75rem; }
.ticket-volume-label,.ticket-volume-value{ color:#6c778b; font-size:.9rem; }
.ticket-volume-value{ text-align:right; font-weight:700; color:#233047; }
.ticket-volume-track{ height:1rem; border-radius:999px; background:#e9eef7; overflow:hidden; }
.ticket-volume-fill{ height:100%; border-radius:999px; background:linear-gradient(90deg,#2558d6,#5bbcff); min-width:.35rem; }
.ticket-dashboard-page .dashboard-progress{ overflow:hidden; }
.ticket-fill-danger{ background:linear-gradient(90deg,#dc3545,#ff7b88); }
.ticket-fill-warning{ background:linear-gradient(90deg,#f59f00,#ffd166); }
.ticket-fill-primary{ background:linear-gradient(90deg,#2558d6,#5bbcff); }
.ticket-fill-secondary{ background:linear-gradient(90deg,#6c757d,#adb5bd); }
@media (max-width:640px){ .ticket-volume-row{ grid-template-columns:1fr; gap:.35rem; } .ticket-volume-value{ text-align:left; } }
