/*
 * Shared styles - gemensamma stilar för hela applikationen
 * Importeras i App.razor
 */

/* ==========================================================================
   Loading & Empty States
   ========================================================================== */

.loading-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px;
    color: #999;
    text-align: center;
}

.empty-icon {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.5;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 36px;
    padding: 6px 16px;
    border: 1px solid #129895;
    border-radius: 4px;
    background: #1abebc;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.12), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.2);
    transition: background 0.2s;
}

.btn-primary:hover {
    background: #17a5a3;
}

.btn-primary:disabled {
    background: #a0e4e1;
    border-color: #a0e4e1;
    cursor: not-allowed;
}

.btn-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    background: #fff;
    border: 1px solid #e6ebeb;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-secondary:hover {
    background: #f5f5f5;
}

.btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #e6ebeb;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    color: #666;
    transition: background 0.2s;
}

.btn-icon:hover {
    background: #f5f5f5;
}

.btn-icon.btn-sm {
    width: 28px;
    height: 28px;
}

.btn-sm {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 500;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}

.btn-sm.btn-primary {
    height: auto;
    background: #129895;
    color: #fff;
}

.btn-sm.btn-primary:hover {
    background: #0e7a78;
}

.btn-sm.btn-secondary {
    background: #f5f5f5;
    color: #333;
    border: 1px solid #e6ebeb;
}

.btn-sm.btn-secondary:hover {
    background: #ebebeb;
}

.btn-icon-danger {
    background: none;
    color: #dc2626;
    border: none;
    padding: 6px;
    cursor: pointer;
}

.btn-icon-danger:hover {
    background: #fee2e2;
}

/* ==========================================================================
   Tables
   ========================================================================== */

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

/* ==========================================================================
   Status Badges & Chips
   ========================================================================== */

.status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.status-enrolled {
    background: #dcfce7;
    color: #166534;
}

.status-registered {
    background: #fef3c7;
    color: #b45309;
}

.status-awaiting {
    background: #fef3c7;
    color: #b45309;
}

.status-invited {
    background: #dcfce7;
    color: #166534;
}

.status-pending-invite {
    background: #fef3c7;
    color: #92400e;
}

.status-chip,
.status-chip-inline {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 500;
}

.status-active {
    background: #e6f7f6;
    color: #129895;
}

.status-ended {
    background: #f5f5f5;
    color: #666;
}

.status-pending {
    background: #fff7e6;
    color: #d97706;
}
