/* Custom styles for Quotization Management System */

/* General layout enhancements */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container {
    flex: 1;
}

footer {
    margin-top: auto;
}

/* Form styling enhancements */
.form-label {
    font-weight: 500;
}

/* Card styling */
.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.15);
    margin-bottom: 1.5rem;
}

.card-header {
    font-weight: 500;
}

/* Table styling */
.table thead th {
    background-color: rgba(33, 37, 41, 0.6);
    border-color: #2c3034;
}

/* Button hover effects */
.btn {
    transition: all 0.2s ease-in-out;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}

/* Custom alert styling */
.alert {
    border-radius: 0.25rem;
}

/* Dashboard card equal height */
.dashboard-card {
    height: 100%;
}

/* Quotization view page improvements */
.property-label {
    font-weight: 500;
    color: #adb5bd;
}

/* Login and registration forms */
.auth-form-container {
    max-width: 500px;
    margin: 0 auto;
}

/* Add some spacing to the flash messages */
.alert {
    margin-bottom: 1rem;
}

/* Custom styles for date inputs */
input[type="date"] {
    min-height: 38px;
}

/* Make form validation errors more visible */
.is-invalid {
    border-color: #dc3545 !important;
    padding-right: calc(1.5em + 0.75rem) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right calc(0.375em + 0.1875rem) center !important;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important;
}

/* Enhance modal appearance */
.modal-content {
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.modal-header {
    border-radius: 0.5rem 0.5rem 0 0;
}

.modal-footer {
    border-radius: 0 0 0.5rem 0.5rem;
}

/* Pagination styling */
.pagination {
    justify-content: center;
    margin-top: 1.5rem;
}

/* Form sections */
.form-section {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.form-section:last-child {
    border-bottom: none;
}

/* Make address sections more compact */
.address-section {
    margin-bottom: 0.5rem;
}

/* Small helper utility classes */
.cursor-pointer {
    cursor: pointer;
}

.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}