/**
 * Purchase Orders Page Styles
 * Updated to Warm Professional design system
 */

/* Main Purchase Orders Content */
.purchase-orders-main {
    flex: 1;
    padding: 0;
    margin-top: var(--header-height, 64px);
}

.purchase-orders-container {
    max-width: var(--container-max, 1400px);
    margin: 0 auto;
    padding: var(--spacing-xl, 2rem);
    width: 100%;
}

/* Purchase Orders Header */
.purchase-orders-header {
    margin-bottom: var(--spacing-xl, 2rem);
}

.purchase-orders-title {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 0.75rem);
    font-size: var(--text-3xl, 2rem);
    font-weight: var(--font-bold, 700);
    color: var(--text-primary, #2c2c2c);
    margin-bottom: var(--spacing-sm, 0.5rem);
}

.purchase-orders-title i {
    color: var(--warm-accent, #8b7355);
    font-size: 1.75rem;
}

.purchase-orders-subtitle {
    color: var(--text-muted, #7a6a5a);
    font-size: var(--text-base, 1rem);
    line-height: var(--leading-normal, 1.5);
}

/* Purchase Orders Toolbar */
.purchase-orders-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--bg-card, #ffffff);
    border-radius: var(--radius-md, 12px);
    padding: var(--spacing-lg, 1.5rem);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(139, 115, 85, 0.08));
    border: 1px solid var(--warm-border, #f0ebe3);
    margin-bottom: var(--spacing-lg, 1.5rem);
    gap: var(--spacing-md, 1rem);
}

.toolbar-left {
    display: flex;
    align-items: center;
    gap: var(--spacing-md, 1rem);
    flex: 1;
}

.toolbar-right {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 0.75rem);
}

.search-container {
    position: relative;
    min-width: 300px;
}

.search-icon {
    position: absolute;
    left: var(--spacing-sm, 0.75rem);
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted, #7a6a5a);
    font-size: var(--text-sm, 0.875rem);
}

.search-input {
    width: 100%;
    padding: var(--spacing-sm, 0.75rem) var(--spacing-sm, 0.75rem) var(--spacing-sm, 0.75rem) 2.25rem;
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-sm, 8px);
    font-size: var(--text-sm, 0.875rem);
    background: var(--bg-card-alt, #faf7f2);
    transition: all var(--transition-fast, 0.15s ease);
}

.search-input:focus {
    outline: none;
    border-color: var(--warm-accent, #8b7355);
    background: var(--bg-card, #ffffff);
    box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.1);
}

.filters-group {
    display: flex;
    gap: var(--spacing-sm, 0.75rem);
    align-items: center;
}

.filter-select {
    padding: var(--spacing-sm, 0.75rem);
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-sm, 8px);
    background: var(--bg-card, #ffffff);
    color: var(--text-secondary, #5a4a3a);
    font-size: var(--text-sm, 0.875rem);
    cursor: pointer;
    outline: none;
    transition: border-color var(--transition-fast, 0.15s ease);
    min-width: 140px;
}

.filter-select:focus {
    border-color: var(--warm-accent, #8b7355);
    box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.1);
}

/* Purchase Orders Stats */
.purchase-orders-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md, 1rem);
    margin-bottom: var(--spacing-xl, 2rem);
}

.stat-item {
    background: var(--bg-card, #ffffff);
    border-radius: var(--radius-md, 12px);
    padding: var(--spacing-lg, 1.5rem);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(139, 115, 85, 0.08));
    border: 1px solid var(--warm-border, #f0ebe3);
    text-align: center;
    transition: transform var(--transition-normal, 0.2s ease), box-shadow var(--transition-normal, 0.2s ease);
}

.stat-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(139, 115, 85, 0.12));
}

.stat-number {
    font-size: var(--text-3xl, 2rem);
    font-weight: var(--font-bold, 700);
    color: var(--warm-accent, #8b7355);
    margin-bottom: var(--spacing-xs, 0.25rem);
}

.stat-label {
    font-size: var(--text-sm, 0.875rem);
    color: var(--text-muted, #7a6a5a);
    font-weight: var(--font-medium, 500);
}

/* Purchase Orders Table */
.purchase-orders-table-container {
    background: var(--bg-card, #ffffff);
    border-radius: var(--radius-md, 12px);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(139, 115, 85, 0.08));
    border: 1px solid var(--warm-border, #f0ebe3);
    overflow: hidden;
    margin-bottom: var(--spacing-lg, 1.5rem);
}

.purchase-orders-table {
    width: 100%;
    border-collapse: collapse;
}

.purchase-orders-table th {
    background: var(--bg-card-alt, #faf7f2);
    color: var(--text-secondary, #5a4a3a);
    font-weight: var(--font-semibold, 600);
    padding: var(--spacing-md, 1rem);
    text-align: left;
    border-bottom: 1px solid var(--warm-border, #f0ebe3);
    font-size: var(--text-sm, 0.875rem);
    white-space: nowrap;
}

.purchase-orders-table th.sortable {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast, 0.15s ease);
}

.purchase-orders-table th.sortable:hover {
    background: var(--warm-subtle, #f5f3f0);
}

.purchase-orders-table th.sortable i {
    margin-left: var(--spacing-xs, 0.5rem);
    opacity: 0.5;
    transition: opacity var(--transition-fast, 0.15s ease);
}

.purchase-orders-table th.sortable:hover i {
    opacity: 1;
}

.purchase-orders-table td {
    padding: var(--spacing-md, 1rem);
    border-bottom: 1px solid var(--warm-subtle, #f5f3f0);
    vertical-align: middle;
    font-size: var(--text-sm, 0.875rem);
}

.purchase-orders-table tbody tr {
    transition: background-color var(--transition-fast, 0.15s ease);
    cursor: pointer;
}

.purchase-orders-table tbody tr:hover {
    background: var(--bg-card-alt, #faf7f2);
}

.purchase-orders-table tbody tr:last-child td {
    border-bottom: none;
}

/* Purchase Order Table Cells */
.po-number {
    font-weight: var(--font-semibold, 600);
    color: var(--warm-accent, #8b7355);
}

.vendor-info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs, 0.25rem);
}

.vendor-name {
    font-weight: var(--font-semibold, 600);
    color: var(--text-primary, #2c2c2c);
}

.vendor-contact {
    font-size: var(--text-xs, 0.75rem);
    color: var(--text-muted, #7a6a5a);
}

.po-description {
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-secondary, #5a4a3a);
}

.po-amount {
    font-weight: var(--font-semibold, 600);
    color: var(--text-primary, #2c2c2c);
}

/* Status Badges */
.status-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--spacing-xs, 0.25rem) var(--spacing-sm, 0.75rem);
    border-radius: var(--radius-full, 20px);
    font-size: var(--text-xs, 0.75rem);
    font-weight: var(--font-medium, 500);
    text-transform: capitalize;
}

.status-badge.draft {
    background: var(--warm-subtle, #f5f3f0);
    color: var(--text-muted, #7a6a5a);
}

.status-badge.pending {
    background: var(--warning-bg, rgba(245, 158, 11, 0.1));
    color: #d97706;
}

.status-badge.approved {
    background: var(--success-bg, rgba(16, 185, 129, 0.1));
    color: #16a34a;
}

.status-badge.ordered {
    background: rgba(139, 115, 85, 0.1);
    color: var(--warm-accent-dark, #6d5a42);
}

.status-badge.received {
    background: var(--success-bg, rgba(16, 185, 129, 0.1));
    color: #059669;
}

.status-badge.cancelled {
    background: var(--error-bg, rgba(239, 68, 68, 0.1));
    color: #dc2626;
}

/* Priority Badges */
.priority-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--spacing-xs, 0.25rem) var(--spacing-xs, 0.5rem);
    border-radius: var(--radius-xs, 6px);
    font-size: var(--text-xs, 0.75rem);
    font-weight: var(--font-semibold, 600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.priority-badge.urgent {
    background: var(--error-bg, rgba(239, 68, 68, 0.1));
    color: #dc2626;
}

.priority-badge.high {
    background: var(--warning-bg, rgba(245, 158, 11, 0.1));
    color: #ea580c;
}

.priority-badge.normal {
    background: rgba(139, 115, 85, 0.1);
    color: var(--warm-accent-dark, #6d5a42);
}

.priority-badge.low {
    background: var(--success-bg, rgba(16, 185, 129, 0.1));
    color: #16a34a;
}

/* Actions Column */
.actions-cell {
    display: flex;
    gap: var(--spacing-xs, 0.5rem);
    align-items: center;
}

.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: var(--radius-sm, 8px);
    cursor: pointer;
    transition: all var(--transition-fast, 0.15s ease);
    background: transparent;
    font-size: 1rem;
}

.action-btn i {
    font-size: 1rem;
}

.action-btn:hover {
    background: var(--warm-subtle, #f5f3f0);
    transform: scale(1.05);
}

.action-btn.view {
    color: var(--warm-accent, #8b7355);
}

.action-btn.view:hover {
    background: rgba(139, 115, 85, 0.1);
}

.action-btn.edit {
    color: var(--warning, #f59e0b);
}

.action-btn.edit:hover {
    background: rgba(245, 158, 11, 0.1);
}

.action-btn.delete {
    color: var(--error, #ef4444);
}

.action-btn.delete:hover {
    background: rgba(239, 68, 68, 0.1);
}

/* Empty State */
.empty-state {
    text-align: center;
    padding: var(--spacing-2xl, 3rem) var(--spacing-xl, 2rem);
    color: var(--text-muted, #7a6a5a);
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: var(--spacing-md, 1rem);
    color: var(--warm-border, #f0ebe3);
}

.empty-state h3 {
    font-size: var(--text-xl, 1.25rem);
    font-weight: var(--font-semibold, 600);
    margin-bottom: var(--spacing-xs, 0.5rem);
    color: var(--text-secondary, #5a4a3a);
}

.empty-state p {
    font-size: var(--text-sm, 0.875rem);
    line-height: var(--leading-normal, 1.5);
    margin-bottom: var(--spacing-lg, 1.5rem);
}

/* Pagination */
.pagination-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--bg-card, #ffffff);
    border-radius: var(--radius-md, 12px);
    padding: var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(139, 115, 85, 0.08));
    border: 1px solid var(--warm-border, #f0ebe3);
}

.pagination-info {
    font-size: var(--text-sm, 0.875rem);
    color: var(--text-muted, #7a6a5a);
}

.pagination-controls {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs, 0.5rem);
}

.pagination-btn {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs, 0.5rem);
    padding: var(--spacing-xs, 0.5rem) var(--spacing-md, 1rem);
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-xs, 6px);
    background: var(--bg-card, #ffffff);
    color: var(--text-secondary, #5a4a3a);
    font-size: var(--text-sm, 0.875rem);
    cursor: pointer;
    transition: all var(--transition-fast, 0.15s ease);
}

.pagination-btn:hover:not(:disabled) {
    background: var(--bg-card-alt, #faf7f2);
    border-color: var(--warm-accent-light, #a8937a);
}

.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-numbers {
    display: flex;
    gap: var(--spacing-xs, 0.25rem);
}

.pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-xs, 6px);
    background: var(--bg-card, #ffffff);
    color: var(--text-secondary, #5a4a3a);
    font-size: var(--text-sm, 0.875rem);
    cursor: pointer;
    transition: all var(--transition-fast, 0.15s ease);
}

.pagination-number:hover {
    background: var(--bg-card-alt, #faf7f2);
    border-color: var(--warm-accent-light, #a8937a);
}

.pagination-number.active {
    background: var(--warm-accent, #8b7355);
    border-color: var(--warm-accent, #8b7355);
    color: var(--text-inverse, #ffffff);
}

/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--z-modal, 400);
}

.modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

.modal-content {
    position: relative;
    background: var(--bg-card, #ffffff);
    margin: 2% auto;
    width: 90%;
    max-width: 600px;
    border-radius: var(--radius-md, 12px);
    box-shadow: var(--shadow-xl, 0 20px 40px rgba(139, 115, 85, 0.16));
    animation: modalSlideIn 0.3s ease-out;
    max-height: 95vh;
    overflow-y: auto;
}

.modal-content.large {
    max-width: 900px;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-50px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-lg, 1.5rem) var(--spacing-lg, 1.5rem) 0;
    border-bottom: 1px solid var(--warm-border, #f0ebe3);
    margin-bottom: var(--spacing-lg, 1.5rem);
}

.modal-header h2 {
    font-size: var(--text-xl, 1.25rem);
    font-weight: var(--font-semibold, 600);
    color: var(--text-primary, #2c2c2c);
}

.modal-close {
    background: none;
    border: none;
    color: var(--text-muted, #7a6a5a);
    font-size: 1.25rem;
    cursor: pointer;
    padding: var(--spacing-xs, 0.5rem);
    border-radius: var(--radius-xs, 6px);
    transition: all var(--transition-fast, 0.15s ease);
}

.modal-close:hover {
    background: var(--warm-subtle, #f5f3f0);
    color: var(--text-primary, #2c2c2c);
}

.modal-body {
    padding: 0 var(--spacing-lg, 1.5rem) var(--spacing-lg, 1.5rem);
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm, 0.75rem);
    padding: var(--spacing-lg, 1.5rem);
    border-top: 1px solid var(--warm-border, #f0ebe3);
    background: var(--bg-card-alt, #faf7f2);
    border-radius: 0 0 var(--radius-md, 12px) var(--radius-md, 12px);
}

/* Form Styles */
.form-section {
    margin-bottom: var(--spacing-xl, 2rem);
}

.section-title {
    font-size: var(--text-lg, 1.125rem);
    font-weight: var(--font-semibold, 600);
    color: var(--text-primary, #2c2c2c);
    margin-bottom: var(--spacing-md, 1rem);
    padding-bottom: var(--spacing-xs, 0.5rem);
    border-bottom: 1px solid var(--warm-border, #f0ebe3);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md, 1rem);
    margin-bottom: var(--spacing-md, 1rem);
}

.form-group {
    margin-bottom: var(--spacing-md, 1rem);
}

.form-group label {
    display: block;
    font-weight: var(--font-medium, 500);
    color: var(--text-secondary, #5a4a3a);
    margin-bottom: var(--spacing-xs, 0.5rem);
    font-size: var(--text-sm, 0.875rem);
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: var(--spacing-sm, 0.75rem);
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-xs, 6px);
    font-size: var(--text-sm, 0.875rem);
    transition: border-color var(--transition-fast, 0.15s ease), box-shadow var(--transition-fast, 0.15s ease);
    background: var(--bg-card, #ffffff);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--warm-accent, #8b7355);
    box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.1);
}

.form-group input[readonly] {
    background: var(--bg-card-alt, #faf7f2);
    color: var(--text-muted, #7a6a5a);
}

.form-group textarea {
    resize: vertical;
    min-height: 80px;
}

input.calculated-field,
textarea.calculated-field,
select.calculated-field {
    background: var(--bg-card-alt, #faf7f2);
    color: var(--text-muted, #7a6a5a);
    font-weight: var(--font-medium, 500);
}

input.total-highlight,
textarea.total-highlight,
select.total-highlight {
    background: rgba(139, 115, 85, 0.1);
    border-color: var(--warm-accent, #8b7355);
    color: var(--warm-accent-dark, #6d5a42);
    font-weight: var(--font-bold, 700);
    font-size: var(--text-base, 1rem);
}

/* Line Items Styles */
.line-item {
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-sm, 8px);
    padding: var(--spacing-lg, 1.5rem);
    margin-bottom: var(--spacing-md, 1rem);
    background: var(--bg-card-alt, #faf7f2);
    transition: all var(--transition-fast, 0.15s ease);
}

.line-item:hover {
    border-color: var(--warm-accent-light, #a8937a);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(139, 115, 85, 0.08));
}

.line-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-md, 1rem);
    padding-bottom: var(--spacing-xs, 0.5rem);
    border-bottom: 1px solid var(--warm-border, #f0ebe3);
}

.line-item-header h4 {
    font-size: var(--text-base, 1rem);
    font-weight: var(--font-semibold, 600);
    color: var(--text-primary, #2c2c2c);
}

.remove-line-item {
    padding: 0.375rem var(--spacing-sm, 0.75rem);
    font-size: var(--text-xs, 0.75rem);
}

/* Button Styles */
.btn {
    border: none;
    border-radius: var(--radius-sm, 8px);
    padding: var(--spacing-sm, 0.75rem) var(--spacing-lg, 1.5rem);
    font-weight: var(--font-semibold, 600);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs, 0.5rem);
    font-size: var(--text-sm, 0.875rem);
    transition: all var(--transition-normal, 0.2s ease);
    text-decoration: none;
    white-space: nowrap;
}

.btn.small {
    padding: var(--spacing-xs, 0.5rem) var(--spacing-md, 1rem);
    font-size: var(--text-xs, 0.75rem);
}

.btn.primary {
    background: linear-gradient(135deg, var(--warm-accent, #8b7355), var(--gold-accent, #c9a96e));
    color: var(--text-inverse, #ffffff);
}

.btn.primary:hover {
    background: linear-gradient(135deg, var(--warm-accent-dark, #6d5a42), var(--warm-accent, #8b7355));
    transform: translateY(-1px);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(139, 115, 85, 0.2));
}

.btn.secondary {
    background: var(--warm-subtle, #f5f3f0);
    color: var(--text-secondary, #5a4a3a);
    border: 1px solid var(--warm-border, #f0ebe3);
}

.btn.secondary:hover {
    background: var(--warm-border, #f0ebe3);
    border-color: var(--warm-accent-light, #a8937a);
}

.btn.danger {
    background: var(--error, #ef4444);
    color: var(--text-inverse, #ffffff);
}

.btn.danger:hover {
    background: #dc2626;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}

/* Document Upload Styles */
.upload-options {
    background: var(--bg-card-alt, #faf7f2);
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-sm, 8px);
    padding: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-md, 16px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md, 16px);
}

.upload-option-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.upload-option-group label {
    font-weight: var(--font-medium, 500);
    color: var(--text-secondary, #5a4a3a);
    font-size: var(--text-sm, 14px);
}

.upload-option-group .form-select,
.upload-option-group .form-input {
    padding: var(--spacing-xs, 8px) var(--spacing-sm, 12px);
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-xs, 6px);
    font-size: var(--text-sm, 14px);
    background: var(--bg-card, #ffffff);
    transition: border-color var(--transition-fast, 0.15s ease), box-shadow var(--transition-fast, 0.15s ease);
}

.upload-option-group .form-select:focus,
.upload-option-group .form-input:focus {
    outline: none;
    border-color: var(--warm-accent, #8b7355);
    box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.1);
}

.drag-drop-zone {
    border: 2px dashed var(--warm-border, #f0ebe3);
    border-radius: var(--radius-sm, 8px);
    padding: var(--spacing-xl, 32px);
    text-align: center;
    transition: border-color var(--transition-fast, 0.15s ease), background-color var(--transition-fast, 0.15s ease);
    margin-bottom: var(--spacing-md, 16px);
}

.drag-drop-zone:hover {
    border-color: var(--warm-accent, #8b7355);
    background-color: var(--bg-card-alt, #faf7f2);
}

.drag-drop-zone.drag-over {
    border-color: var(--warm-accent, #8b7355);
    background-color: rgba(139, 115, 85, 0.1);
}

.drag-drop-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm, 12px);
}

.drag-drop-icon {
    color: var(--text-muted, #7a6a5a);
    font-size: 48px;
}

.drag-drop-text h5 {
    margin: 0;
    color: var(--text-secondary, #5a4a3a);
    font-size: var(--text-base, 16px);
    font-weight: var(--font-medium, 500);
}

.drag-drop-text p {
    margin: 4px 0;
    color: var(--text-muted, #7a6a5a);
    font-size: var(--text-sm, 14px);
}

.drag-drop-browse {
    color: var(--warm-accent, #8b7355);
    cursor: pointer;
    text-decoration: underline;
}

.drag-drop-browse:hover {
    color: var(--warm-accent-dark, #6d5a42);
}

.drag-drop-text small {
    color: var(--text-muted, #7a6a5a);
    font-size: var(--text-xs, 12px);
}

.duration-item.muted {
    opacity: 0.5;
    color: var(--text-muted, #7a6a5a);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .purchase-orders-container {
        padding: var(--spacing-lg, 1.5rem);
    }

    .purchase-orders-toolbar {
        flex-wrap: wrap;
        gap: var(--spacing-md, 1rem);
        align-items: center;
    }

    .toolbar-left {
        flex: 1 1 400px;
        flex-wrap: wrap;
        gap: var(--spacing-md, 1rem);
        min-width: 0;
    }

    .toolbar-right {
        flex: 0 1 auto;
        flex-wrap: wrap;
        gap: var(--spacing-sm, 0.5rem);
    }

    .search-container {
        min-width: 200px;
        flex: 1 1 auto;
    }

    .filters-group {
        flex-wrap: wrap;
        gap: var(--spacing-sm, 0.5rem);
    }

    .purchase-orders-stats {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}

@media (max-width: 768px) {
    .purchase-orders-container {
        padding: var(--spacing-md, 1rem);
    }

    .purchase-orders-title {
        font-size: 1.75rem;
        text-align: center;
    }

    .purchase-orders-toolbar {
        padding: var(--spacing-md, 1rem);
    }

    .toolbar-right {
        flex-direction: column;
        gap: var(--spacing-xs, 0.5rem);
        width: 100%;
    }

    .btn {
        justify-content: center;
        width: 100%;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .purchase-orders-table-container {
        overflow-x: auto;
    }

    .purchase-orders-table {
        min-width: 900px;
    }

    .pagination-container {
        flex-direction: column;
        gap: var(--spacing-md, 1rem);
        text-align: center;
    }

    .modal-content {
        margin: 5% auto;
        width: 95%;
    }

    .section-title {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-xs, 0.5rem);
    }

    .line-item {
        padding: var(--spacing-md, 1rem);
    }

    .upload-options {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm, 12px);
        padding: var(--spacing-sm, 12px);
    }

    .drag-drop-zone {
        padding: var(--spacing-lg, 24px) var(--spacing-md, 16px);
    }

    .drag-drop-icon {
        font-size: 36px;
    }
}

@media (max-width: 480px) {
    .purchase-orders-container {
        padding: var(--spacing-sm, 0.75rem);
    }

    .purchase-orders-title {
        font-size: var(--text-2xl, 1.5rem);
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-xs, 0.5rem);
    }

    .purchase-orders-toolbar {
        padding: var(--spacing-sm, 0.75rem);
    }

    .stat-item {
        padding: var(--spacing-md, 1rem);
    }

    .stat-number {
        font-size: var(--text-2xl, 1.5rem);
    }

    .modal-content {
        margin: 5% auto;
        width: 95%;
        max-height: 90vh;
    }

    .modal-header,
    .modal-body,
    .modal-footer {
        padding-left: var(--spacing-md, 1rem);
        padding-right: var(--spacing-md, 1rem);
    }

    .line-item {
        padding: var(--spacing-sm, 0.75rem);
        margin-bottom: var(--spacing-sm, 0.75rem);
    }

    .line-item-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-xs, 0.5rem);
    }
}

/* Print Styles */
@media print {
    .purchase-orders-main {
        margin-top: 0;
    }

    .purchase-orders-toolbar,
    .purchase-orders-stats,
    .pagination-container {
        display: none;
    }

    .purchase-orders-table-container {
        box-shadow: none;
        border: 1px solid var(--warm-border, #f0ebe3);
    }

    @media print {
        .modal {
            display: none;
        }
    }

    .actions-cell {
        display: none;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .purchase-orders-table-container,
    .purchase-orders-toolbar,
    .stat-item,
    .line-item {
        border: 2px solid #000000;
    }

    .btn.primary {
        background: #000000;
        color: #ffffff;
    }

    .status-badge,
    .priority-badge {
        border: 1px solid #000000;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .btn,
    .action-btn,
    .stat-item,
    .purchase-orders-table tbody tr,
    .line-item {
        transition: none;
    }

    .modal-content {
        animation: none;
    }

    .btn.primary:hover,
    .btn.danger:hover {
        transform: none;
    }
}

/* Dark Mode Support */
[data-theme="dark"] .purchase-orders-toolbar,
[data-theme="dark"] .purchase-orders-table-container,
[data-theme="dark"] .stat-item,
[data-theme="dark"] .pagination-container {
    background: var(--bg-secondary, #242424);
    border-color: var(--warm-border, #3d3d3d);
}

[data-theme="dark"] .purchase-orders-table th {
    background: var(--bg-primary, #1a1a1a);
}

[data-theme="dark"] .purchase-orders-table tbody tr:hover {
    background: var(--bg-primary, #1a1a1a);
}

[data-theme="dark"] .line-item,
[data-theme="dark"] .upload-options {
    background: var(--bg-primary, #1a1a1a);
    border-color: var(--warm-border, #3d3d3d);
}

/* ==========================================================================
   CLASS ALIASES - Match HTML class names to existing CSS definitions
   ========================================================================== */

/* Alias: HTML uses .orders-main but CSS defines .purchase-orders-main */
.orders-main {
    flex: 1;
    padding: 0;
    margin-top: var(--header-height, 64px);
}

/* Alias: HTML uses .orders-header but CSS defines .purchase-orders-header */
.orders-header {
    margin-bottom: var(--spacing-xl, 2rem);
}

/* Alias: HTML uses .orders-title but CSS defines .purchase-orders-title */
.orders-title {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 0.75rem);
    font-size: var(--text-3xl, 2rem);
    font-weight: var(--font-bold, 700);
    color: var(--text-primary, #2c2c2c);
    margin-bottom: var(--spacing-sm, 0.5rem);
}

.orders-title i {
    color: var(--warm-accent, #8b7355);
    font-size: 1.75rem;
}

/* Alias: HTML uses .orders-subtitle but CSS defines .purchase-orders-subtitle */
.orders-subtitle {
    color: var(--text-muted, #7a6a5a);
    font-size: var(--text-base, 1rem);
    line-height: var(--leading-normal, 1.5);
}

/* Alias: HTML uses .orders-table but CSS defines .purchase-orders-table */
.orders-table {
    width: 100%;
    border-collapse: collapse;
}

.orders-table th {
    background: var(--bg-card-alt, #faf7f2);
    color: var(--text-secondary, #5a4a3a);
    font-weight: var(--font-semibold, 600);
    padding: var(--spacing-md, 1rem);
    text-align: left;
    border-bottom: 1px solid var(--warm-border, #f0ebe3);
    font-size: var(--text-sm, 0.875rem);
    white-space: nowrap;
}

.orders-table td {
    padding: var(--spacing-md, 1rem);
    border-bottom: 1px solid var(--warm-subtle, #f5f3f0);
    vertical-align: middle;
    font-size: var(--text-sm, 0.875rem);
}

.orders-table tbody tr {
    transition: background-color var(--transition-fast, 0.15s ease);
    cursor: pointer;
}

.orders-table tbody tr:hover {
    background: var(--bg-card-alt, #faf7f2);
}

.orders-table tbody tr:last-child td {
    border-bottom: none;
}

/* ==========================================================================
   MISSING CLASSES - Used in HTML but not previously defined
   ========================================================================== */

/* Main controls containers */
.orders-controls,
.enhanced-purchase-controls,
.enhanced-sales-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--bg-card, #ffffff);
    border-radius: var(--radius-md, 12px);
    padding: var(--spacing-lg, 1.5rem);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(139, 115, 85, 0.08));
    border: 1px solid var(--warm-border, #f0ebe3);
    margin-bottom: var(--spacing-lg, 1.5rem);
    flex-wrap: wrap;
    gap: var(--spacing-md, 1rem);
}

/* Left/Right control sections */
.controls-left,
.primary-controls {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.controls-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Order tabs */
.order-tabs {
    display: flex;
    gap: 0.5rem;
}

/* Search and filter sections */
.search-section,
.filter-section {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Enhanced search container */
.enhanced-search-container {
    position: relative;
    min-width: 250px;
    flex: 1 1 auto;
}

.enhanced-search-input {
    width: 100%;
    padding: 0.75rem 0.75rem 0.75rem 2.5rem;
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-sm, 8px);
    font-size: 0.875rem;
    background: var(--bg-card-alt, #faf7f2);
    transition: all var(--transition-fast, 0.15s ease);
}

.enhanced-search-input:focus {
    outline: none;
    border-color: var(--warm-accent, #8b7355);
    background: var(--bg-card, #ffffff);
    box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.1);
}

/* Compact controls and control groups */
.compact-controls,
.control-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Control icon */
.control-icon {
    color: var(--text-muted, #7a6a5a);
    font-size: 0.875rem;
}

/* Enhanced select dropdown */
.enhanced-select {
    padding: 0.5rem 1rem;
    border: 1px solid var(--warm-border, #f0ebe3);
    border-radius: var(--radius-sm, 8px);
    background: var(--bg-card-alt, #faf7f2);
    font-size: 0.875rem;
    min-width: 120px;
    cursor: pointer;
    transition: all var(--transition-fast, 0.15s ease);
}

.enhanced-select:focus {
    outline: none;
    border-color: var(--warm-accent, #8b7355);
    background: var(--bg-card, #ffffff);
}

/* Orders table container */
.orders-table-container {
    background: var(--bg-card, #ffffff);
    border-radius: var(--radius-md, 12px);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(139, 115, 85, 0.08));
    border: 1px solid var(--warm-border, #f0ebe3);
    overflow: hidden;
    overflow-x: auto;
    margin-bottom: var(--spacing-lg, 1.5rem);
}

/* Tab content visibility */
.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

/* Loading spinner */
.loading-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    min-height: 200px;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--warm-border, #f0ebe3);
    border-top-color: var(--warm-accent, #8b7355);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* ==========================================================================
   RESPONSIVE ADJUSTMENTS FOR NEW CLASSES
   ========================================================================== */

@media (max-width: 1024px) {
    .orders-controls,
    .enhanced-purchase-controls,
    .enhanced-sales-controls {
        flex-wrap: wrap;
        gap: var(--spacing-md, 1rem);
    }

    .enhanced-search-container {
        min-width: 200px;
    }
}

@media (max-width: 768px) {
    .orders-controls,
    .enhanced-purchase-controls,
    .enhanced-sales-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .controls-left,
    .controls-right,
    .primary-controls {
        width: 100%;
        justify-content: space-between;
    }

    .enhanced-search-container {
        width: 100%;
        min-width: unset;
    }

    .order-tabs {
        width: 100%;
        overflow-x: auto;
    }

    .orders-table-container {
        margin: 0 -1rem;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .search-section,
    .filter-section {
        flex-wrap: wrap;
    }
}

