/*
 * This is a manifest file that'll be compiled into application.css.
 */

/*
 *= require security_report_styles
 */

/* ---------- Z-INDEX ИЕРАРХИЯ (UI поверх всего) ---------- */
.toast-notification { z-index: 10000 !important; }
.modal, .modal-backdrop { z-index: 9998 !important; }
.popup-overlay, .overlay { z-index: 9997 !important; }

/* ---------- КНОПКИ КОПИРОВАНИЯ ---------- */
.copy-btn { position: relative; overflow: hidden; z-index: 1; }
.copy-btn:disabled { opacity: .7; cursor: not-allowed; }
.copy-btn:disabled::after {
  content: '';
  position: absolute; top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer { 0% { left:-100%; } 100% { left:100%; } }
.copy-success { animation: bounceSuccess .6s ease-out; }
@keyframes bounceSuccess {
  0%, 20%, 53%, 80%, 100% { transform: translate3d(0,0,0); }
  40%, 43% { transform: translate3d(0,-8px,0); }
  70% { transform: translate3d(0,-4px,0); }
  90% { transform: translate3d(0,-2px,0); }
}

/* ---------- НЕОНОВЫЕ УТИЛИТЫ (glow) ---------- */
.neon-card {
  position: relative;
  overflow: hidden;
}
.neon-card::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 24px;
  filter: blur(32px);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
  background:
    radial-gradient(120px 60px at 12% 12%, rgba(56,189,248,.35), transparent),
    radial-gradient(160px 80px at 88% 88%, rgba(59,130,246,.35), transparent);
}
.neon-card:hover::before { opacity: .7; }

/* Плитка-иконка с градиентом и внутренним свечением */
.icon-gradient {
  position: relative;
  display: inline-flex;
  width: 3rem; height: 3rem; /* Tailwind size 12 */
  align-items: center; justify-content: center;
  border-radius: 1rem; /* rounded-2xl */
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.35);
}
.icon-gradient::after {
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  background: rgba(255,255,255,.10);
  mix-blend-mode: overlay;
  pointer-events:none;
}

/* ---------- МОБИЛЬНЫЕ ИСПРАВЛЕНИЯ ---------- */
@media only screen and (max-width: 768px) {
  html, body { overflow-x: hidden !important; max-width: 100% !important; }
  .absolute.-inset-4 { display: none !important; }
  .hero-section h1 span.relative .absolute {
    position: relative !important;
    bottom:auto !important; left:auto !important; right:auto !important;
    margin-top:.5rem !important; display:block !important; transform:none !important;
  }
  a[href*="/sample_report.pdf"] {
    font-size:10px !important; padding:8px 12px !important;
    text-align:center !important; white-space:normal !important;
  }
  .grid-cols-2.md\:grid-cols-4,
  .grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3,
  .grid-cols-1.md\:grid-cols-3 {
    grid-template-columns: 1fr !important; gap: 1rem !important;
  }
  .grid-cols-1.lg\:grid-cols-2 {
    grid-template-columns: 1fr !important; gap: 2rem !important;
  }
  .text-5xl, .text-6xl, .text-7xl, .text-8xl {
    font-size: 2.5rem !important; line-height: 1.1 !important;
  }
  .py-20 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .px-4.sm\:px-6.lg\:px-8 { padding-left:1rem !important; padding-right:1rem !important; }
  .bg-white.rounded-lg { overflow-x:auto !important; font-size:9px !important; }
}
@media only screen and (max-width: 480px) {
  .text-5xl, .text-6xl, .text-7xl, .text-8xl { font-size: 2rem !important; }
}

/* ---------- TAILWIND ВСТАВКИ ---------- */
@tailwind base;
@tailwind components;
@tailwind utilities;

/* ---------- СТИЛИ ОТЧЕТА (изолированы в .security-report) ---------- */
.security-report {
  --color-critical:#dc3545; --color-high:#fd7e14; --color-medium:#ffc107;
  --color-low:#28a745; --color-info:#17a2b8;
  --font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-family-mono:"SF Mono",Monaco,"Cascadia Code","JetBrains Mono",Consolas,monospace;
  --spacer-xs:.25rem; --spacer-sm:.5rem; --spacer-md:1rem; --spacer-lg:1.5rem; --spacer-xl:2rem;
  --shadow-sm:0 1px 3px rgba(0,0,0,.12); --shadow-md:0 4px 6px rgba(0,0,0,.16); --shadow-lg:0 8px 24px rgba(0,0,0,.2);
  font-family:var(--font-family-base); line-height:1.5; color:#212529;
  max-width:820px; margin:0 auto; padding:var(--spacer-md);
}
.security-report .report-header {
  text-align:center; margin-bottom:var(--spacer-lg);
  border-bottom:3px solid var(--color-critical); padding-bottom:var(--spacer-md);
  background:linear-gradient(135deg,#fff,#f8f9fa);
}
.security-report .severity-badge {
  display:inline-block; padding:var(--spacer-xs) var(--spacer-sm);
  border-radius:1rem; font-size:.75rem; font-weight:600; text-transform:uppercase;
}
.security-report .vulnerability-card {
  border:2px solid; border-radius:.5rem; margin-bottom:var(--spacer-md);
  padding:var(--spacer-md); box-shadow:var(--shadow-sm); page-break-inside:avoid;
}
.security-report .vulnerability-critical { border-color:var(--color-critical); background:rgba(220,53,69,.05); }
.security-report .vulnerability-high { border-color:var(--color-high); background:rgba(253,126,20,.05); }
.security-report .vulnerability-medium { border-color:var(--color-medium); background:rgba(255,193,7,.05); }
.security-report .severity-table { width:100%; border-collapse:collapse; box-shadow:var(--shadow-sm); margin-bottom:var(--spacer-md); }
.security-report .severity-table th { background:linear-gradient(135deg,#343a40,#495057); color:#fff; padding:var(--spacer-sm); font-size:.75rem; }

@media print {
  @page { margin:10mm; size:A4; }
  .security-report { max-width:none; padding:0; }
  .security-report .vulnerability-card { box-shadow:none; border-width:1px; }
}
