/* Custom Theme CSS for Service Desk Application */
/* Design System: Color Palette and Typography */

/* ===== CSS CUSTOM PROPERTIES (VARIABLES) ===== */
:root {
    --primary-dark: #484b6a !important;
    --secondary-action: #9394a5 !important;
    --light-border: #d2d3db !important;
    --subtle-background: #e4e5f1 !important;
    --main-background: #fafafa !important;
    --text-light: #fafafa !important;
    --text-headings: #484b6a !important;
    --text-body: #1e1f25 !important;
    --status-success-bg: #e9f7ef !important;
    --status-success-text: #28a745 !important;
    --status-danger-bg: #fbe9e7 !important;
    --status-danger-text: #dc3545 !important;
    --status-info-bg: #e8f4fd !important;
    --status-info-text: #17a2b8 !important;
    --bulma-body-background-color: var(--main-background) !important;
}

/* ===== MAIN LAYOUT STYLES ===== */

/* Top Navbar */
.navbar.is-primary {
    background-color: var(--primary-dark) !important;
}

.navbar.is-primary .navbar-brand .navbar-item,
.navbar.is-primary .navbar-brand a.navbar-item,
.navbar.is-primary .navbar-menu .navbar-item,
.navbar.is-primary .navbar-menu a.navbar-item {
    color: var(--text-light) !important;
}

.navbar.is-primary .navbar-brand .navbar-item:hover,
.navbar.is-primary .navbar-brand a.navbar-item:hover,
.navbar.is-primary .navbar-menu .navbar-item:hover,
.navbar.is-primary .navbar-menu a.navbar-item:hover {
    color: var(--text-light) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.navbar.is-primary .navbar-burger {
    color: var(--text-light) !important;
}

/* Sidebar */
.menu {
    background-color: var(--subtle-background) !important;
    padding: 1.5rem !important;
    border-radius: 8px !important;
    margin-bottom: 1rem !important;
}

.menu-label {
    color: var(--text-headings) !important;
    font-weight: 600 !important;
    margin-bottom: 0.75rem !important;
}

.menu-list a {
    color: var(--text-body) !important;
    background-color: transparent !important;
    padding: 0.75rem 1rem !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
    margin-bottom: 0.25rem !important;
    display: block !important;
}

.menu-list a:hover {
    background-color: var(--light-border) !important;
    color: var(--text-headings) !important;
    text-decoration: none !important;
}

.menu-list a.is-active {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
}

.menu-list a.is-active:hover {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
}

/* Full Width Layout */
.full-width-layout {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.full-width-layout .columns {
    margin: 0 !important;
    width: 100% !important;
}

/* Main Content Area */
.column.is-10 {
    background-color: var(--main-background) !important;
    padding: 2rem !important;
    border-radius: 8px !important;
}

/* ===== TABLE STYLES ===== */

/* Base table styling override */
.table {
    background-color: var(--subtle-background) !important;
    --bulma-table-color: var(--text-body) !important;
}

/* Table Headers */
.table thead th {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
    border-bottom: none !important;
    font-weight: 600 !important;
    padding: 1rem !important;
}

/* Table Rows */
.table tbody tr {
    background-color: white !important;
    border-bottom: 1px solid var(--light-border) !important;
}

.table tbody tr:last-child {
    border-bottom: 1px solid var(--light-border) !important;
}

.table tbody td {
    background-color: transparent !important;
    border: none !important;
    padding: 1rem !important;
    vertical-align: middle !important;
}

/* Striped Table Rows */
.table.is-striped tbody tr:nth-child(even) {
    background-color: var(--subtle-background) !important;
}

.table.is-striped tbody tr:nth-child(even):hover {
    background-color: var(--light-border) !important;
}

.table tbody tr:hover {
    background-color: var(--subtle-background) !important;
}

/* Table hover for striped tables */
.table.is-striped.is-hoverable tbody tr:hover {
    background-color: var(--light-border) !important;
}



/* ===== STATUS TAGS ===== */

/* Active/Complete/Yes Tags */
.tag.is-success,
.tag[data-status="Active"],
.tag[data-status="Complete"],
.tag[data-status="Yes"] {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
}

/* Open/In Progress Tags */
.tag.is-info,
.tag[data-status="Open"],
.tag[data-status="In Progress"] {
    background-color: var(--secondary-action) !important;
    color: var(--text-light) !important;
}

/* Inactive/Closed/No Tags */
.tag.is-light,
.tag[data-status="Inactive"],
.tag[data-status="Closed"],
.tag[data-status="No"] {
    background-color: var(--light-border) !important;
    color: var(--primary-dark) !important;
}

/* Override default Bulma tag colors for consistency */
.tag.is-success.is-light {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
}

.tag.is-danger.is-light {
    background-color: var(--light-border) !important;
    color: var(--primary-dark) !important;
}

/* ===== PAGINATION STYLES ===== */

.pagination-link,
.pagination-previous,
.pagination-next {
    border: 1px solid var(--light-border) !important;
    background-color: white !important;
    color: var(--text-body) !important;
    transition: all 0.2s ease !important;
}

.pagination-link:hover,
.pagination-previous:hover,
.pagination-next:hover {
    background-color: var(--subtle-background) !important;
    border-color: var(--secondary-action) !important;
    color: var(--text-headings) !important;
}

.pagination-link.is-current {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
    border-color: var(--primary-dark) !important;
}

.pagination-ellipsis {
    color: var(--text-body) !important;
}

/* ===== AUTHENTICATION PAGES SPLIT-SCREEN LAYOUT ===== */

/* Split-screen background for auth pages */
body.auth-page {
    background: linear-gradient(to right, var(--primary-dark) 50%, var(--main-background) 50%) !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Auth form container positioning */
.auth-container {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 50% !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2rem !important;
    box-sizing: border-box !important;
}

.auth-form {
    background-color: white !important;
    padding: 2rem !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    width: 100% !important;
    max-width: 400px !important;
}

/* Auth page branding on left side */
.auth-branding {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 50% !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-light) !important;
    text-align: center !important;
    padding: 2rem !important;
    box-sizing: border-box !important;
}

.auth-branding h1 {
    color: var(--text-light) !important;
    font-size: 3rem !important;
    margin-bottom: 1rem !important;
}

.auth-branding p {
    color: var(--text-light) !important;
    font-size: 1.25rem !important;
    opacity: 0.9 !important;
}

/* ===== DASHBOARD LIST STYLES ===== */

/* Technician & Customer Dashboard Lists */
.dashboard-ticket-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.dashboard-ticket-list li {
    background-color: var(--subtle-background) !important;
    border-bottom: 1px solid var(--light-border) !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 0.5rem !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.dashboard-ticket-list li:hover {
    background-color: var(--light-border) !important;
    transform: translateX(4px) !important;
}

.dashboard-ticket-list li a {
    color: var(--text-headings) !important;
    text-decoration: none !important;
    display: block !important;
    font-weight: 500 !important;
}

.dashboard-ticket-list li a:hover {
    color: var(--primary-dark) !important;
}

/* Make regular ul lists in dashboard use the bar style */
.dashboard ul:not(.menu-list) {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.dashboard ul:not(.menu-list) li {
    background-color: var(--subtle-background) !important;
    border-bottom: 1px solid var(--light-border) !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 0.5rem !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

.dashboard ul:not(.menu-list) li:hover {
    background-color: var(--light-border) !important;
    transform: translateX(4px) !important;
}

.dashboard ul:not(.menu-list) li a {
    color: var(--text-headings) !important;
    text-decoration: none !important;
    display: block !important;
    font-weight: 500 !important;
}

.dashboard ul:not(.menu-list) li a:hover {
    color: var(--primary-dark) !important;
}

/* ===== GLOBAL TYPOGRAPHY STYLES ===== */

/* Body and Paragraph Text */
body {
    color: var(--text-body) !important;
    background-color: var(--main-background) !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    line-height: 1.6 !important;
}

p {
    color: var(--text-body) !important;
    margin-bottom: 1rem !important;
}

/* Labels */
label {
    color: var(--text-headings) !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
    display: inline-block !important;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text-headings) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
}

h1 {
    font-size: 2.5rem !important;
    margin-bottom: 1.5rem !important;
}

h2 {
    font-size: 2rem !important;
    margin-bottom: 1.25rem !important;
}

h3 {
    font-size: 1.75rem !important;
}

h4 {
    font-size: 1.5rem !important;
}

h5 {
    font-size: 1.25rem !important;
}

h6 {
    font-size: 1rem !important;
}

/* Links */
a {
    color: var(--primary-dark) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

a:hover {
    color: var(--secondary-action) !important;
    text-decoration: underline !important;
}

a:focus {
    outline: 2px solid var(--primary-dark) !important;
    outline-offset: 2px !important;
}

/* ===== GLOBAL BUTTON STYLES ===== */

/* Base Button Styles */
.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    font-family: inherit !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    border: none !important;
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    min-height: 2.5rem !important;
}

/* Primary Button */
.button.is-primary,
.button.is-info,
.button.is-link,
.button-primary {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
}

.button.is-primary:hover,
.button.is-info:hover,
.button.is-link:hover,
.button-primary:hover {
    background-color: var(--secondary-action) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(72, 75, 106, 0.2) !important;
}

.button.is-primary:active,
.button.is-info:active,
.button.is-link:active,
.button-primary:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(72, 75, 106, 0.2) !important;
}

/* Secondary Button */
.button.is-light,
.button-secondary {
    background-color: var(--secondary-action) !important;
    color: var(--text-light) !important;
}

.button.is-light:hover,
.button-secondary:hover {
    background-color: var(--light-border) !important;
    color: var(--text-headings) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(147, 148, 165, 0.15) !important;
}

.button.is-light:active,
.button-secondary:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(147, 148, 165, 0.15) !important;
}

/* Success Button */
.button.is-success,
.button-success {
    background-color: var(--status-success-text) !important;
    color: var(--text-light) !important;
}

.button.is-success:hover,
.button-success:hover {
    background-color: #218838 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.2) !important;
}

.button.is-success:active,
.button-success:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(40, 167, 69, 0.2) !important;
}

/* Danger Button */
.button.is-danger,
.button-danger {
    background-color: var(--status-danger-text) !important;
    color: var(--text-light) !important;
}

.button.is-danger:hover,
.button-danger:hover {
    background-color: #c82333 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.2) !important;
}

.button.is-danger:active,
.button-danger:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.2) !important;
}

/* Button Sizes */
.button.is-small,
.button-small {
    padding: 0.5rem 1rem !important;
    font-size: 0.875rem !important;
    min-height: 2rem !important;
}

.button.is-large,
.button-large {
    padding: 1rem 2rem !important;
    font-size: 1.125rem !important;
    min-height: 3rem !important;
}

/* Disabled Button State */
.button:disabled,
.button.is-disabled {
    background-color: var(--light-border) !important;
    color: var(--secondary-action) !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Button Focus State */
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
    outline: 2px solid var(--primary-dark) !important;
    outline-offset: 2px !important;
}

/* ===== GLOBAL FORM STYLES ===== */

/* Form Containers */
.field,
.form-group {
    margin-bottom: 1.5rem !important;
}

.field.is-grouped,
.form-group.is-grouped {
    display: flex !important;
    gap: 1rem !important;
    align-items: flex-end !important;
}

.field.is-grouped .field,
.form-group.is-grouped .form-group {
    margin-bottom: 0 !important;
    flex: 1 !important;
}

/* Input Fields */
.input,
.textarea,
.select select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
textarea,
select {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    color: var(--text-body) !important;
    background-color: white !important;
    border: 1px solid var(--light-border) !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

/* Input Focus State */
.input:focus,
.textarea:focus,
.select select:focus,
input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    border-color: var(--primary-dark) !important;
    box-shadow: 0 0 0 3px rgba(72, 75, 106, 0.1) !important;
    background-color: white !important;
}

/* Input Hover State */
.input:hover,
.textarea:hover,
.select select:hover,
input:hover,
textarea:hover,
select:hover {
    border-color: var(--secondary-action) !important;
}

/* Form Validation Errors */
.input.is-danger,
.textarea.is-danger,
.select select.is-danger {
    border-color: var(--status-danger-text) !important;
}

.input.is-danger:focus,
.textarea.is-danger:focus,
.select select.is-danger:focus {
    border-color: var(--status-danger-text) !important;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1) !important;
}

/* Help Text */
.help {
    font-size: 0.875rem !important;
    margin-top: 0.25rem !important;
    color: var(--text-body) !important;
}

.help.is-danger {
    color: var(--status-danger-text) !important;
}

/* Textarea Specific */
.textarea,
textarea {
    min-height: 120px !important;
    resize: vertical !important;
    font-family: inherit !important;
}

/* Select Dropdown */
.select {
    position: relative !important;
    display: inline-block !important;
    width: 100% !important;
    height: auto !important;
}

.select select {
    cursor: pointer !important;
    padding-right: 2.5rem !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml !important;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23484b6a' d='m2 0-2 2h4zm0 5 2-2h-4z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 12px !important;
    max-height: none !important;
    height: auto !important;
}

/* Fix for dropdown options visibility */
select[multiple] {
    height: auto !important;
    min-height: 120px !important;
    max-height: 240px !important;
    overflow: auto !important;
}

select option {
    padding: 0.5rem 1rem !important;
    background-color: white !important;
}

select optgroup {
    color: var(--text-headings) !important;
    font-weight: 600 !important;
    padding: 0.5rem 0 !important;
}

/* Ensure dropdown options are visible */
.select select:not([multiple]) {
    overflow: visible !important;
}

.select.is-multiple {
    height: auto !important;
}

.select.is-multiple select {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    height: auto !important;
    max-height: none !important;
}

/* Override Bulma's default select height constraints */
.select:not(.is-multiple):not(.is-loading)::after {
    z-index: 2 !important;
}

.select.is-fullwidth {
    width: 100% !important;
    height: auto !important;
}

/* Style for dropdown options */
.select select option:checked,
.select select option:hover {
    background-color: var(--subtle-background) !important;
    color: var(--text-headings) !important;
}

/* Fix for Firefox */
@-moz-document url-prefix() {
    .select select {
        overflow: auto !important;
        text-overflow: initial !important;
    }

    .select select[multiple] {
        overflow: auto !important;
    }
}

/* Checkbox and Radio */
input[type="checkbox"],
input[type="radio"] {
    width: auto !important;
    margin-right: 0.5rem !important;
    transform: scale(1.1) !important;
}

/* ===== CARD AND BOX STYLES ===== */

.box,
.card {
    background-color: white !important;
    border: 1px solid var(--light-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    margin-bottom: 1rem !important;
}

.box:hover,
.card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
    transition: all 0.2s ease !important;
}

.card-header {
    background-color: var(--subtle-background) !important;
    border-bottom: 1px solid var(--light-border) !important;
    padding: 1rem 1.25rem !important;
}

.card-header-title {
    color: var(--text-headings) !important;
    font-weight: 600 !important;
}

.card-content {
    padding: 1.25rem !important;
}

/* ===== NOTIFICATION STYLES ===== */

.notification {
    padding: 1rem 1.25rem !important;
    border-radius: 6px !important;
    margin-bottom: 1rem !important;
    position: relative !important;
    border: 1px solid transparent !important;
}

.notification.is-success {
    background-color: var(--status-success-bg) !important;
    color: var(--status-success-text) !important;
    border-color: var(--status-success-text) !important;
}

.notification.is-danger {
    background-color: var(--status-danger-bg) !important;
    color: var(--status-danger-text) !important;
    border-color: var(--status-danger-text) !important;
}

.notification.is-info {
    background-color: var(--status-info-bg) !important;
    color: var(--status-info-text) !important;
    border-color: var(--status-info-text) !important;
}

.notification.is-warning {
    background-color: #fff8e1 !important;
    color: #f57c00 !important;
    border-color: #f57c00 !important;
}

/* Remove light variants for consistent styling */
.notification.is-success.is-light {
    background-color: var(--status-success-bg) !important;
    color: var(--status-success-text) !important;
    border-color: var(--status-success-text) !important;
}

.notification.is-danger.is-light {
    background-color: var(--status-danger-bg) !important;
    color: var(--status-danger-text) !important;
    border-color: var(--status-danger-text) !important;
}

.notification.is-info.is-light {
    background-color: var(--status-info-bg) !important;
    color: var(--status-info-text) !important;
    border-color: var(--status-info-text) !important;
}

/* ===== RESPONSIVE DESIGN ===== */

/* Mobile Navbar */
@media screen and (max-width: 1023px) {
    .navbar-burger {
        color: var(--text-light) !important;
    }

    .navbar-menu {
        background-color: var(--primary-dark) !important;
    }

    .navbar-menu .navbar-item {
        color: var(--text-light) !important;
    }
}

/* Mobile Layout Adjustments */
@media screen and (max-width: 768px) {
    .column.is-10 {
        padding: 1rem !important;
    }

    .menu {
        padding: 1rem !important;
    }

    /* Auth pages mobile adjustment */
    body.auth-page {
        background: var(--main-background) !important;
    }

    .auth-branding {
        display: none !important;
    }

    .auth-container {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100vh !important;
    }

    .dashboard ul:not(.menu-list) li:hover {
        transform: none !important;
    }

    .dashboard-ticket-list li:hover {
        transform: none !important;
    }
}

/* Tablet Layout */
@media screen and (min-width: 769px) and (max-width: 1023px) {
    .auth-container {
        padding: 1rem !important;
    }

    .auth-form {
        max-width: 500px !important;
    }
}

/* Toast Notification System */
.toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    max-width: 400px;
}

.toast {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    margin-bottom: 10px;
    padding: 16px 20px;
    border-left: 4px solid #3273dc;
    opacity: 0;
    transform: translateX(100%);
    transition: all 0.3s ease-in-out;
    position: relative;
    min-width: 300px;
    word-wrap: break-word;
}

.toast.show {
    opacity: 1;
    transform: translateX(0);
}

.toast.hide {
    opacity: 0;
    transform: translateX(100%);
}

.toast.success {
    border-left-color: #48c774;
}

.toast.success .toast-icon {
    color: #48c774;
}

.toast.error {
    border-left-color: #f14668;
}

.toast.error .toast-icon {
    color: #f14668;
}

.toast.warning {
    border-left-color: #ffdd57;
}

.toast.warning .toast-icon {
    color: #947600;
}

.toast.info {
    border-left-color: #3273dc;
}

.toast.info .toast-icon {
    color: #3273dc;
}

.toast-content {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.toast-icon {
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.toast-message {
    flex: 1;
    font-size: 14px;
    line-height: 1.4;
    color: #363636;
    margin-top: 10px;
}

.toast-title {
    font-weight: 600;
    margin-bottom: 4px;
    color: #363636;
}

.toast-close {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    font-size: 18px;
    color: #999;
    cursor: pointer;
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.toast-close:hover {
    background: #f5f5f5;
    color: #666;
}

.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 0 0 6px 6px;
    overflow: hidden;
}

.toast-progress-bar {
    height: 100%;
    background: currentColor;
    width: 100%;
    transform: translateX(-100%);
    transition: transform linear;
}

.toast.success .toast-progress-bar {
    background: #48c774;
}

.toast.error .toast-progress-bar {
    background: #f14668;
}

.toast.warning .toast-progress-bar {
    background: #947600;
}

.toast.info .toast-progress-bar {
    background: #3273dc;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .toast-container {
        top: 10px;
        right: 10px;
        left: 10px;
        max-width: none;
    }

    .toast {
        min-width: auto;
    }
}

/* ===== COMMENT VISIBILITY STYLES ===== */

/* Comment visibility indicators */
.comment.internal-only {
    background-color: #f8f9fa !important;
    border-left: 3px solid #6c757d !important;
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    border-radius: 6px !important;
}

.comment.customer-visible {
    background-color: #fff !important;
    border-left: 3px solid #28a745 !important;
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    border-radius: 6px !important;
}

.visibility-indicator {
    float: right !important;
    color: #6c757d !important;
    font-size: 0.875rem !important;
    margin-left: 0.5rem !important;
}

.visibility-indicator.visible {
    color: #28a745 !important;
}

.visibility-indicator.hidden {
    color: #6c757d !important;
}

.comment-timestamp {
    color: #6c757d !important;
    font-size: 0.85em !important;
    margin-left: 0.5rem !important;
}

.comment-edited {
    color: #6c757d !important;
    font-size: 0.85em !important;
    margin-left: 0.25rem !important;
}

/* Customer visible checkbox styling */
.checkbox input[type="checkbox"] {
    margin-right: 0.5rem !important;
    transform: scale(1.1) !important;
}

/* Closing comment alert styling */
#closing-comment-alert {
    margin-top: 1rem !important;
    border-radius: 6px !important;
}

/* ===== AUDIT COMMENT STYLES ===== */

/* Audit comment styling */
.comment.audit-comment {
    background-color: #f8f9fa !important;
    border-left: 3px solid #6c757d !important;
    padding-left: 10px !important;
    font-size: 0.9em !important;
}

.audit-indicator {
    float: right !important;
    color: #6c757d !important;
    font-size: 0.9em !important;
    margin-left: 0.5rem !important;
}

.audit-indicator i {
    margin-right: 5px !important;
}

/* ===== STATUS DROPDOWN STYLES ===== */

/* Status dropdown color coding */
.status-select {
    font-weight: 600 !important;
    border-width: 2px !important;
    transition: all 0.2s ease !important;
}

/* Default status dropdown styling */
.status-select:focus {
    box-shadow: 0 0 0 3px rgba(72, 75, 106, 0.1) !important;
}

/* Open status - secondary action color */
.status-select.status-open,
.status-select option[value="Open"]:checked {
    background-color: var(--secondary-action) !important;
    color: var(--text-body) !important;
    border-color: var(--secondary-action) !important;
}

/* In Progress status - info blue color */
.status-select.status-in-progress,
.status-select option[value="In Progress"]:checked {
    background-color: #f57c00 !important;
    color: var(--text-body) !important;
    border-color: var(--status-info-text) !important;
}

/* Complete status - success green color */
.status-select.status-complete,
.status-select option[value="Complete"]:checked {
    background-color: var(--status-success-text) !important;
    color: var(--text-body) !important;
    border-color: var(--status-success-text) !important;
}

/* Closed status - primary dark color */
.status-select.status-closed,
.status-select option[value="Closed"]:checked {
    background-color: var(--primary-dark) !important;
    color: var(--text-body) !important;
    border-color: var(--primary-dark) !important;
}

/* Hover states for status dropdowns */
.status-select.status-open:hover {
    background-color: var(--light-border) !important;
    color: var(--text-headings) !important;
}

.status-select.status-in-progress:hover {
    background-color: #f57c00 !important;
    border-color: #f57c00 !important;
}

.status-select.status-complete:hover {
    background-color: #218838 !important;
    border-color: #218838 !important;
}

.status-select.status-closed:hover {
    background-color: var(--secondary-action) !important;
    border-color: var(--secondary-action) !important;
}
