/* assets/css/components.css */
/* Buttons */
.btn {
    display: inline-block;
    padding: var(--spacing-sm) var(--spacing-lg);
    background: var(--card-bg);
    border: 1px solid var(--border);
    color: var(--text-primary);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid var(--border);
    background: var(--card-bg);
}

.btn-primary {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
}

.btn-success {
    background: var(--success);
    border-color: var(--success);
    color: white;
}

.btn-danger {
    background: var(--danger);
    border-color: var(--danger);
    color: white;
}

.btn-warning {
    background: var(--warning);
    border-color: var(--warning);
    color: white;
}

.btn-block {
    display: block;
    width: 100%;
}

/* Cards */
.card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    padding: var(--spacing-lg);
}

.card-header {
    border-bottom: 1px solid var(--border);
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-sm);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
}

/* Forms */
.form-group {
    margin-bottom: var(--spacing-md);
}

.form-label {
    display: block;
    margin-bottom: var(--spacing-xs);
    font-weight: 500;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.form-control {
    width: 100%;
    padding: var(--spacing-sm);
    border: 1px solid var(--border);
    background: var(--card-bg);
    font-family: var(--font-family);
    font-size: 14px;
}

textarea.form-control {
    resize: vertical;
}

/* Tables */
.table-container {
    overflow-x: auto;
}

.table {
    width: 100%;
    border-collapse: collapse;
    background: var(--card-bg);
    border: 1px solid var(--border);
}

.table th,
.table td {
    padding: var(--spacing-sm) var(--spacing-md);
    text-align: left;
    border-bottom: 1px solid var(--border);
}

.table th {
    background: var(--bg);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    color: var(--text-secondary);
}

.table tbody tr:hover {
    background: #f9fafb;
}

/* Badges */
.badge {
    display: inline-block;
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    background: var(--bg);
    border: 1px solid var(--border);
}

.badge-success {
    background: var(--success);
    border-color: var(--success);
    color: white;
}

.badge-danger {
    background: var(--danger);
    border-color: var(--danger);
    color: white;
}

.badge-warning {
    background: var(--warning);
    border-color: var(--warning);
    color: white;
}

/* Square images */
.img-square {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid var(--border);
}