/* ==========================================================================
   ToryCRM - Custom overrides (Velzon app.min.css handles everything else)
   ========================================================================== */

/* ---------- Fix avatar-title icon overlay ---------- */
.avatar-title { font-family: inherit; }
.avatar-title::before, .avatar-title::after { display: none !important; }

/* ---------- Kanban / Pipeline ---------- */
.pipeline-board { overflow-x: auto; }
.deal-card, .task-card {
    cursor: grab;
    transition: box-shadow 0.15s, transform 0.15s;
}
.deal-card:hover, .task-card:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    transform: translateY(-1px);
}
.deal-card.dragging, .task-card.dragging {
    opacity: 0.5;
    transform: rotate(2deg);
}

/* ---------- Activity Timeline ---------- */
.activity-timeline .activity-item {
    position: relative;
    padding-bottom: 16px;
    margin-bottom: 0;
}
.activity-timeline .activity-item:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 36px;
    bottom: 0;
    width: 1px;
    background: #e9ebec;
}

/* ---------- Table dropdown fix ---------- */
.table-responsive .dropdown-menu[style*="position: fixed"] {
    z-index: 1060;
}

/* ---------- Calendar (FullCalendar overrides) ---------- */
.fc .fc-toolbar-title { font-size: 1.2rem; }
.fc .fc-button { font-size: 0.85rem; }
.fc-event { cursor: pointer; }

/* ---------- SortableJS shared ---------- */
.sortable-ghost-class, .sortable-ghost { opacity: 0.3; }
.sortable-chosen { transform: rotate(2deg); box-shadow: 0 4px 16px rgba(0,0,0,0.15); cursor: grabbing; }
.drag-highlight { background-color: rgba(64,81,137,0.05); border-radius: 0.375rem; }

/* ---------- Pipeline ---------- */
.pipeline-board { margin: 0 -0.75rem; padding: 0 0.75rem; }
.pipeline-cards { transition: background-color 0.2s; }
@media (max-width: 768px) { .pipeline-column { min-width: 260px !important; } }

/* ---------- Kanban ---------- */
.kanban-column { transition: background-color 0.2s; }
@media (max-width: 768px) { .kanban-stage { min-width: 260px !important; } }

/* ---------- Print ---------- */
@media print {
    .app-menu, #page-topbar, .footer { display: none !important; }
    .main-content { margin-left: 0 !important; }
    .page-content { padding: 0 !important; }
}
