/* Welcome Card */
.welcome-card {
    background: linear-gradient(135deg, var(--rz-primary-lighter) 0%, var(--rz-base-background-color) 100%);
}

/* Quick Stats in header */
.quick-stat {
    text-align: center;
    padding: 0.5rem 1rem;
    border-radius: var(--rz-border-radius);
    background: var(--rz-base-background-color);
}
.quick-stat-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--rz-text-color);
}
.quick-stat-value.has-items {
    color: var(--rz-warning);
}
.quick-stat.alert .quick-stat-value {
    color: var(--rz-danger);
}
.quick-stat-label {
    font-size: 0.7rem;
    color: var(--rz-text-secondary-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Alerts Card */
.alerts-card {
    border-left: 4px solid var(--rz-danger);
    background: rgba(var(--rz-danger-rgb), 0.05);
}
.alert-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: var(--rz-border-radius);
    cursor: pointer;
    transition: background 0.2s;
    margin-bottom: 0.5rem;
}
.alert-item:hover {
    background: var(--rz-base-200);
}
.alert-item.warning { border-left: 3px solid var(--rz-warning); }
.alert-item.danger { border-left: 3px solid var(--rz-danger); }
.alert-item.info { border-left: 3px solid var(--rz-info); }
.alert-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.alert-title {
    font-weight: 600;
    font-size: 0.875rem;
}
.alert-desc {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
}
.alert-arrow {
    opacity: 0.3;
}

/* Activity Timeline */
.activity-timeline {
    display: flex;
    flex-direction: column;
}
.activity-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--rz-base-200);
    cursor: pointer;
    transition: background 0.2s;
}
.activity-item:hover {
    background: var(--rz-base-100);
    margin: 0 -1rem;
    padding: 0.75rem 1rem;
}
.activity-item:last-child {
    border-bottom: none;
}
.activity-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.activity-icon.ticket { background: rgba(var(--rz-warning-rgb), 0.15); color: var(--rz-warning); }
.activity-icon.project { background: rgba(var(--rz-success-rgb), 0.15); color: var(--rz-success); }
.activity-icon.invoice { background: rgba(var(--rz-info-rgb), 0.15); color: var(--rz-info); }
.activity-icon.license { background: rgba(var(--rz-primary-rgb), 0.15); color: var(--rz-primary); }
.activity-content {
    flex: 1;
    min-width: 0;
}
.activity-title {
    font-weight: 500;
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.activity-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
}
.activity-entity {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.activity-time {
    font-size: 0.7rem;
    color: var(--rz-text-tertiary-color);
    white-space: nowrap;
}

/* List Cards (Tickets, Projects) */
.list-card {
    min-height: 280px;
}
.list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--rz-base-200);
    cursor: pointer;
    transition: background 0.2s;
}
.list-item:hover {
    background: var(--rz-base-100);
    margin: 0 -1rem;
    padding: 0.6rem 1rem;
}
.list-item:last-child {
    border-bottom: none;
}
.list-item-main {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    flex: 1;
}
.list-item-code {
    font-size: 0.7rem;
    color: var(--rz-text-tertiary-color);
    font-family: monospace;
}
.list-item-title {
    font-size: 0.85rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.list-item-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* AI Card */
.ai-card {
    background: linear-gradient(180deg, var(--rz-base-100) 0%, var(--rz-base-background-color) 100%);
    border: 1px solid var(--rz-primary-lighter);
}
.ai-generating {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    color: var(--rz-text-secondary-color);
}
.ai-content {
    padding: 0.5rem;
    background: var(--rz-base-background-color);
    border-radius: var(--rz-border-radius);
}
.ai-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem;
    text-align: center;
}

/* AI Summary Card (Full width in main column) */
.ai-summary-card {
    background: linear-gradient(135deg, var(--rz-base-100) 0%, rgba(var(--rz-primary-rgb), 0.05) 100%);
    border: 1px solid var(--rz-primary-lighter);
    border-left: 4px solid var(--rz-primary);
}
.ai-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--rz-primary);
    color: white;
    border-radius: 8px;
}
.ai-icon-wrapper .rz-icon {
    font-size: 1.1rem;
}
.ai-generating-inline {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    color: var(--rz-text-secondary-color);
    background: var(--rz-base-background-color);
    border-radius: var(--rz-border-radius);
}
.ai-summary-content {
    padding: 1rem;
    background: var(--rz-base-background-color);
    border-radius: var(--rz-border-radius);
    line-height: 1.7;
    font-size: 0.95rem;
    color: var(--rz-text-color);
    white-space: pre-wrap;
}
.ai-empty-inline {
    display: flex;
    align-items: center;
    padding: 1rem;
    background: var(--rz-base-background-color);
    border-radius: var(--rz-border-radius);
}

/* Upcoming Dates */
.upcoming-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--rz-base-200);
}
.upcoming-item:last-child {
    border-bottom: none;
}
.upcoming-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40px;
    padding: 0.25rem;
    background: var(--rz-primary-lighter);
    border-radius: var(--rz-border-radius);
}
.upcoming-day {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--rz-primary);
}
.upcoming-month {
    font-size: 0.65rem;
    text-transform: uppercase;
    color: var(--rz-primary);
}
.upcoming-info {
    display: flex;
    flex-direction: column;
}
.upcoming-title {
    font-size: 0.85rem;
}
.upcoming-type {
    font-size: 0.7rem;
    color: var(--rz-text-secondary-color);
}

/* Consumption Card */
.consumption-card {
    background: linear-gradient(135deg, var(--rz-base-100) 0%, rgba(0, 120, 212, 0.05) 100%);
    border: 1px solid rgba(0, 120, 212, 0.2);
    border-left: 4px solid #0078d4;
}
.consumption-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #0078d4, #00a4ef);
    color: white;
    border-radius: 8px;
}
.consumption-icon-wrapper .rz-icon {
    font-size: 1.2rem;
}
.consumption-loading, .consumption-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--rz-text-secondary-color);
}
.consumption-empty {
    flex-direction: column;
}
.consumption-summary {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.consumption-total {
    display: flex;
    flex-direction: column;
}
.consumption-label {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.consumption-value {
    font-size: 2rem;
    font-weight: 700;
    color: #0078d4;
}
.consumption-comparison {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
}
.text-danger { color: var(--rz-danger); }
.text-success { color: var(--rz-success); }

/* Empty States */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    text-align: center;
}
.empty-state-small {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    color: var(--rz-text-secondary-color);
    font-size: 0.875rem;
}

/* Status Card */
.status-card {
    background: linear-gradient(135deg, var(--rz-base-100) 0%, rgba(var(--rz-success-rgb), 0.05) 100%);
    border: 1px solid rgba(var(--rz-success-rgb), 0.2);
}
.status-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    color: white;
}
.status-icon-wrapper.ok {
    background: var(--rz-success);
}
.status-icon-wrapper.warning {
    background: var(--rz-warning);
}
.status-icon-wrapper .rz-icon {
    font-size: 1.2rem;
}
.status-services {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.status-service-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    background: var(--rz-base-background-color);
    border-radius: var(--rz-border-radius);
}
.status-service-item span {
    flex: 1;
    font-size: 0.85rem;
}

/* Expiring Licenses Card */
.expiring-card {
    background: linear-gradient(135deg, var(--rz-base-100) 0%, rgba(var(--rz-warning-rgb), 0.05) 100%);
    border: 1px solid rgba(var(--rz-warning-rgb), 0.2);
}
.expiring-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem;
    margin: 0 -0.5rem;
    border-radius: var(--rz-border-radius);
    cursor: pointer;
    transition: background 0.2s;
}
.expiring-item:hover {
    background: var(--rz-base-100);
}
.expiring-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}
.expiring-name {
    font-size: 0.85rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.expiring-date {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
}
.expiring-days {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    border-radius: var(--rz-border-radius);
    background: var(--rz-base-200);
    color: var(--rz-text-color);
}
.expiring-days.warning {
    background: rgba(var(--rz-warning-rgb), 0.2);
    color: var(--rz-warning);
}
.expiring-days.critical {
    background: rgba(var(--rz-danger-rgb), 0.2);
    color: var(--rz-danger);
}

/* Quick Ticket Card */
.quick-ticket-card {
    background: linear-gradient(135deg, var(--rz-base-100) 0%, rgba(var(--rz-primary-rgb), 0.05) 100%);
    border: 1px solid var(--rz-primary-lighter);
}

/* Admin Dashboard */
.stat-card {
    text-align: center;
    transition: transform 0.2s;
    cursor: pointer;
}
.stat-card:hover {
    transform: translateY(-2px);
}
.stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--rz-text-color);
}
.stat-label {
    color: var(--rz-text-secondary-color);
    font-size: 0.875rem;
}

/* Admin Consumption Card */
.consumption-admin-card {
    background: linear-gradient(135deg, var(--rz-base-100) 0%, rgba(0, 120, 212, 0.03) 100%);
    border: 1px solid rgba(0, 120, 212, 0.15);
}
.consumption-admin-summary {
    display: flex;
    gap: 2rem;
    padding: 1rem;
    background: var(--rz-base-100);
    border-radius: var(--rz-border-radius);
}
.admin-summary-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.admin-summary-label {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.admin-summary-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0078d4;
}
