@font-face {
  font-family: 'secure-icon';
  src: url('/wp-content/themes/securewp/fonts/secure-icon.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'secure-icon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-ico-error:before {
  content: "\e900";
}
.icon-ico-warning:before {
  content: "\e901";
}
.icon-logout:before {
  content: "\e902";
}
.icon-manage:before {
  content: "\e903";
}
.icon-my-account:before {
  content: "\e904";
}
.icon-notifications:before {
  content: "\e905";
}
.icon-schedule:before {
  content: "\e906";
}
.icon-services:before {
  content: "\e907";
}
.icon-shield-check:before {
  content: "\e908";
}
.icon-shield-cross:before {
  content: "\e909";
}
.icon-shield-warn:before {
  content: "\e90a";
}
.icon-subscription:before {
  content: "\e90b";
}

/**
 * SecureScan Dashboard Styles
 */

/* Dashboard Container */
@media (min-width: 1400px) {
  #lc-header .container, #lc-footer .container {
    max-width: 98%;
  }
}

/* License Card Styling */
.card.bg-primary {
    background: linear-gradient(135deg, #4169E1 0%, #1E3A8A 100%) !important;
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.card.bg-primary .bi-award-fill {
    opacity: 0.9;
}

/* Table Styling */
.table-responsive {
    overflow-x: auto;
}
.table thead {
    border: 1px solid var(--bs-border-color)
}
.table tbody td {
    padding: .5rem 1rem;
}
.table thead th {
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.5px;
	border-bottom: 1px solid var(--bs-border-color);
	padding: .5rem 1rem;
	color: rgb(75, 85, 99);
}

/* Badge Styling */

.status-badge {
	padding: 0.25rem 0.625rem;
	border-radius: 20px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	line-height: 1rem;
	font-size: 0.75rem;
}
.severity-item {
	padding: 0.25rem 0.5rem;
	border-radius: 0.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1rem;
}
.badge-secure {
    background-color: #dcfce7;
    color: #15803d;
}
.badge-info, .severity-low {
    background-color: #d1ecf1;
    color: #0c5460;
}
.badge-warning {
    background-color: #fff3cd;
    color: #856404;
}

.badge-critical, .severity-critical {
    background-color: #f8d7da;
    color: #721c24;
}
.badge-warning, .severity-medium {
    background-color: #ffe6e6;
    color: #0c5460;
}
.badge-high, .severity-high {
    background-color: #ffedd5;
    color: #c92a2a;
}

[class*="badge-"]::before {
    font-family: 'secure-icon' !important;
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.badge-critical::before, .badge-high::before {
    content: "\e909";
}
.badge-warning::before {
    content: "\e90a";
}
.badge-info::before {
    content: "\e90a";
}
.badge-secure::before {
    content: "\e908";
}

.scan-state-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    background-color: #fff7e6;
    color: #92400e;
    font-size: 0.75rem;
    font-weight: 600;
    margin-top: 0.35rem;
}

.scan-state-pill .spinner-border {
    width: 0.9rem;
    height: 0.9rem;
    border-width: 2px;
}

.scan-row.is-scanning .status-badge,
.scan-row.is-scanning .vulnerabilities,
.scan-row.is-scanning .last-scan-meta {
    opacity: 0.55;
    transition: opacity 0.2s ease;
}

/* Card Header */
.card-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

/* Empty State */
.text-center.py-5 {
    padding: 3rem 1rem !important;
}

.text-center.py-5 .bi {
    color: #6c757d;
}

/* Modal Styling */
.modal-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.modal-footer {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
}

/* Form Styling */
.form-label {
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.form-control,
.form-select {
    border-radius: 0.375rem;
    border: 1px solid #ced4da;
}

.form-control:focus,
.form-select:focus {
    border-color: #4169E1;
    box-shadow: 0 0 0 0.2rem rgba(65, 105, 225, 0.25);
}

.form-check-input:checked {
    background-color: #4169E1;
    border-color: #4169E1;
}

/* Responsive Design */
@media (max-width: 768px) {
    .securescan-dashboard {
        padding: 10px;
    }
    
    .card-body {
        padding: 1rem;
    }
    
    .table {
        font-size: 0.875rem;
    }
    
    .btn-sm {
        padding: 0.2rem 0.4rem;
        font-size: 0.75rem;
    }
    
    .d-flex.justify-content-between {
        flex-direction: column;
        gap: 1rem;
    }
}

