/* Let Bootstrap control background via classes like bg-dark */
/* Only set typography + spacing here */
body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin: 0;
    line-height: 1.4;
}

.container {
    max-width: 1300px;
}

/* Messages */
.alert {
    font-size: 14px;
}

/* Generic card/box helpers if you need them outside of pure Bootstrap */
.box {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1rem;
    margin-bottom: 1.25rem;
}

/* Labels etc. */
.label {
    font-weight: 600;
}

/* Tables */
.table-sm td,
.table-sm th {
    padding: 0.35rem 0.5rem;
}

/* Badges */
.badge-light {
    background: #666;
    color: #fff;
}

/* Generic pill badge styling */
.badge-pill {
    border-radius: 999px;
    font-size: 0.75rem;
    padding: 0.25rem 0.65rem;
}

/* Quote status colours */
.badge-quote-draft {
    background-color: #6c757d;
    color: #fff;
}

.badge-quote-sent {
    background-color: #0dcaf0;
    color: #000;
}

.badge-quote-accepted {
    background-color: #198754;
    color: #fff;
}

.badge-quote-declined {
    background-color: #dc3545;
    color: #fff;
}

.badge-quote-expired {
    background-color: #fd7e14;
    color: #000;
}

.badge-quote-invoiced {
    background-color: #0d6efd;
    color: #fff;
}

/* Invoice status colours */
.badge-invoice-draft {
    background-color: #6c757d;
    color: #fff;
}

.badge-invoice-awaiting_payment {
    background-color: #dc3545;
    color: #fff;
}

.badge-invoice-paid {
    background-color: #198754;
    color: #fff;
}

.badge-invoice-voided,
.badge-invoice-deleted {
    background-color: #343a40;
    color: #fff;
}

.badge-invoice-overdue {
    background-color: #dc3545;
    color: #fff;
}


/* Tiny helpers */
.pinned {
    font-size: 16px;
    color: #ffc107 !important;
}

/* Forms */
.textarea-full {
    width: 100%;
}

/* Make all secondary cards a darker grey to match the jobs look */
.card.bg-secondary {
    background-color: #2b3035 !important;
    border-color: #495057;
}

/* Jobs index layout */
.jobs-table thead tr {
    background-color: #1f252b;
}

.jobs-table th,
.jobs-table td {
    border-color: #495057;
}

.jobs-table tbody tr:hover {
    background-color: #20262c;
}

.job-title-link {
    color: #0d6efd;
    font-weight: 600;
    text-decoration: none;
}

.job-title-link:hover {
    text-decoration: underline;
}

.job-pin {
    font-size: 0.9rem;
    line-height: 1.2;
}

/* Tag pills */
.job-tag-pill {
    color: #000;
    font-size: 0.7rem;
    padding: 0.25rem 0.6rem;
    background-clip: padding-box;
}

/* Days-left badges */
.badge-days-positive {
    background-color: rgba(25, 135, 84, 0.25); /* greenish */
    color: #9ef2bf;
}

.badge-days-today {
    background-color: rgba(255, 193, 7, 0.35); /* amber */
    color: #ffe680;
}

.badge-days-negative {
    background-color: rgba(220, 53, 69, 0.35); /* red */
    color: #ffb3c0;
}

.badge-days-none {
    background-color: rgba(108, 117, 125, 0.3);
    color: #ced4da;
}

/* ============================
   Mobile layout tweaks
   ============================ */
@media (max-width: 767.98px) {
    body {
        font-size: 1rem; /* slightly larger base font on mobile */
    }

    .container,
    .container-fluid {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .card {
        border-radius: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .card-header,
    .card-body {
        padding: 0.75rem 0.9rem;
    }

    .btn {
        font-size: 0.95rem;
        padding: 0.4rem 0.9rem;
        border-radius: 999px; /* pill buttons look nicer on touch */
    }

    .form-control,
    .form-select {
        font-size: 0.95rem;
        padding: 0.4rem 0.7rem;
        min-height: 2.4rem;
    }

    /* Tables: hide less-important columns on very small screens
       (we'll use these utility classes in the Blade views) */
    .col-mobile-hidden {
        display: none !important;
    }
}

/* Mobile card list style for index pages */
.card-mobile-list {
    background-color: #212429;
    border-color: #5d6065;
    border-radius: 0.9rem;
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.card-mobile-list:hover {
    background-color: #222b36;
    transform: translateY(-1px);
}

.card-mobile-list .card-body {
    padding: 0.75rem 0.9rem;
}

.card-mobile-list-title {
    font-size: 1rem;
    font-weight: 600;
    color: #f9fafb;
    margin-bottom: 0.15rem;
}

.card-mobile-list-sub {
    font-size: 0.85rem;
    color: #cbd5f5;
}

.card-mobile-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.5rem;
    font-size: 0.8rem;
    align-items: center;
}

.card-mobile-list-meta .badge {
    margin-right: 0.15rem;
}

.card-mobile-list-amount {
    font-weight: 600;
}
/*--- Job Pin Toggle ---*/
.job-pin-toggle {
        border: 0;
        background: transparent;
        padding: 0;
        margin-right: 0.25rem;
        cursor: pointer;
    }

    .job-pin-icon {
        font-size: 1.4rem; /* bigger star */
        line-height: 1;
    }

    .job-pin-icon--pinned {
        color: #ffc107; /* yellow (Bootstrap warning) */
    }

    .job-pin-icon--unpinned {
        color: #6c757d; /* grey */
    }

/* === FullCalendar dark theme tweaks === */

.fc {
    font-size: 0.875rem;
}

/* Header toolbar */
.fc .fc-toolbar.fc-header-toolbar {
    margin-bottom: 1rem;
}

.fc .fc-toolbar-title {
    font-size: 1rem;
    font-weight: 600;
    color: #f8f9fa;
}

/* Buttons */
.fc .fc-button-primary {
    background-color: #343a40;
    border-color: #495057;
}

.fc .fc-button-primary:not(:disabled):hover {
    background-color: #495057;
    border-color: #6c757d;
}
/* Day Cell */
.fc-col-header-cell {
	background-color: #f1912b;
}

/* Grid borders */
.fc-theme-standard .fc-scrollgrid,
.fc-theme-standard td,
.fc-theme-standard th {
    border-color: #707579;
}

/* Day numbers & names */
.fc .fc-daygrid-day-number {
    color: #f8f9fa;
}

.fc .fc-col-header-cell-cushion {
    color: #FFFFFF
}

/* Today highlight */
.fc .fc-daygrid-day.fc-day-today {
    background-color: #4d3926;
}

/* Hover over a day */
.fc .fc-daygrid-day:hover {
    background-color: #23272b;
}

/* List view rows (if you use listWeek) */
.fc .fc-list {
    border-color: #343a40;
}

.fc .fc-list-table td,
.fc .fc-list-table th {
    border-color: #343a40;
}

.fc .fc-list-day-cushion,
.fc .fc-list-table td {
    background-color: #212529;
    color: #f8f9fa;
}

/* Make calendar events show pointer cursor */
.fc-event,
.fc-daygrid-event,
.fc-timegrid-event,
.fc-list-event {
    cursor: pointer;
}

.fc-timegrid-axis-cushion, .fc-scrollgrid-shrink-cushion,
.fc-scrollgrid-sync-inner {
    color: #FFF;
}

