@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --bg-dark: #0a0f1a;
  --bg-section: #0f1629;
  --bg-card: rgba(255,255,255,0.03);
  --bg-card-hover: rgba(255,255,255,0.06);
  --glass: rgba(255,255,255,0.04);
  --glass-border: rgba(255,255,255,0.08);
  --blue: #3b82f6;
  --blue-glow: rgba(59,130,246,0.15);
  --blue-deep: #1e3a5f;
  --accent: #f59e0b;
  --accent-glow: rgba(245,158,11,0.15);
  --red: #ef4444;
  --red-glow: rgba(239,68,68,0.12);
  --green: #22c55e;
  --green-glow: rgba(34,197,94,0.12);
  --cyan: #06b6d4;
  --purple: #a855f7;
  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --text-dim: #475569;
  --white: #fff;
  --gradient-accent: linear-gradient(135deg, #f59e0b, #ef4444);
  --gradient-blue: linear-gradient(135deg, #3b82f6, #06b6d4);
  --gradient-dark: linear-gradient(180deg, #0a0f1a, #111827);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.2);
  --shadow: 0 4px 20px rgba(0,0,0,.3);
  --shadow-lg: 0 12px 48px rgba(0,0,0,.4);
  --radius: 16px;
  --radius-sm: 10px;
  --radius-xs: 6px;
  --transition: .3s cubic-bezier(.4,0,.2,1);
  --max-w: 1280px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;scroll-padding-top:72px}

body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--text-primary);
  background:var(--bg-dark);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

::selection{background:var(--blue);color:var(--white)}

.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(10,15,26,.85);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--glass-border);
  padding:0 2rem;
  display:flex;align-items:center;justify-content:space-between;
  height:68px;
  transition:var(--transition);
}

.navbar.scrolled{
  background:rgba(10,15,26,.95);
  box-shadow:0 2px 20px rgba(0,0,0,.3);
}

.nav-logo{
  font-size:1.3rem;font-weight:900;
  background:var(--gradient-accent);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  text-decoration:none;letter-spacing:-.5px;
}

.nav-links{display:flex;gap:.25rem;list-style:none}
.nav-links a{
  text-decoration:none;color:var(--text-secondary);
  font-size:.78rem;font-weight:500;padding:.4rem .7rem;
  border-radius:var(--radius-xs);transition:var(--transition);
  white-space:nowrap;
}
.nav-links a:hover{background:var(--glass);color:var(--text-primary)}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-primary)}

.hero{
  position:relative;
  min-height:70vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  padding:8rem 2rem 5rem;
  overflow:hidden;
  background:var(--bg-dark);
}

.hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 20%,rgba(59,130,246,.12),transparent 50%),
             radial-gradient(ellipse at 70% 60%,rgba(245,158,11,.08),transparent 50%);
  pointer-events:none;
}

.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}

.hero-content{position:relative;z-index:2;max-width:900px}

.hero-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--glass);
  border:1px solid var(--glass-border);
  padding:.5rem 1.4rem;border-radius:50px;
  font-size:.82rem;font-weight:600;margin-bottom:2rem;
  color:var(--accent);
  backdrop-filter:blur(10px);
}

.hero-badge::before{
  content:'';display:inline-block;width:8px;height:8px;
  background:var(--green);border-radius:50%;
  animation:pulse 2s infinite;
}

@keyframes pulse{
  0%,100%{opacity:1}
  50%{opacity:.4}
}

.hero h1{
  font-size:3rem;font-weight:900;line-height:1.1;
  letter-spacing:-.03em;margin-bottom:1.5rem;
}

.hero h1 .gradient-text{
  background:var(--gradient-accent);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero p{
  font-size:1.1rem;color:var(--text-secondary);
  max-width:650px;margin:0 auto 2.5rem;line-height:1.7;
}

.hero-stats{
  display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;
  margin-top:2rem;
}

.hero-stat{
  text-align:center;
  padding:1rem 1.5rem;
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-sm);
  backdrop-filter:blur(10px);
}

.hero-stat-value{
  font-size:1.8rem;font-weight:900;
  background:var(--gradient-blue);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero-stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-top:.25rem}

.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 2rem;border-radius:50px;
  font-weight:700;font-size:.9rem;text-decoration:none;
  transition:var(--transition);cursor:pointer;border:none;
  font-family:inherit;
}

.btn-accent{
  background:var(--gradient-accent);color:var(--white);
  box-shadow:0 4px 20px rgba(245,158,11,.3);
}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 6px 30px rgba(245,158,11,.4)}

.btn-ghost{
  background:var(--glass);color:var(--text-primary);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(10px);
}
.btn-ghost:hover{background:var(--bg-card-hover);border-color:rgba(255,255,255,.15)}

section{padding:5rem 1.5rem;position:relative}
section:nth-child(even){background:var(--bg-section)}

.section-header{text-align:center;margin-bottom:3.5rem;position:relative;z-index:2}
.section-header h2{
  font-size:2.2rem;font-weight:900;letter-spacing:-.02em;
  margin-bottom:.75rem;
}

.section-header h2 .accent{
  background:var(--gradient-accent);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.section-header p{color:var(--text-secondary);font-size:1.05rem;max-width:640px;margin:0 auto;line-height:1.7}

.section-number{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--gradient-accent);color:var(--white);
  font-size:.8rem;font-weight:800;margin-bottom:1rem;
}

.container{max-width:var(--max-w);margin:0 auto}

.kpis-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1.25rem;
}

.kpi-card{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  padding:1.5rem;
  text-align:center;
  transition:var(--transition);
  position:relative;
  overflow:hidden;
}

.kpi-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--gradient-blue);
  opacity:.5;
}

.kpi-card.critical::before{background:var(--red)}
.kpi-card.good::before{background:var(--green)}
.kpi-card.warn::before{background:var(--accent)}

.kpi-card:hover{
  background:var(--bg-card-hover);
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}

.kpi-icon{font-size:1.5rem;margin-bottom:.5rem}
.kpi-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;font-weight:700;letter-spacing:1px}
.kpi-value{
  font-size:2rem;font-weight:900;margin:.35rem 0;
  background:var(--gradient-blue);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.kpi-card.critical .kpi-value{
  background:var(--gradient-accent);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.kpi-sub{font-size:.72rem;color:var(--text-muted)}

.status-card{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  padding:1.25rem 1.5rem;
  display:flex;align-items:flex-start;gap:1rem;
  margin-bottom:.75rem;
  transition:var(--transition);
}

.status-card:hover{background:var(--bg-card-hover)}

.status-indicator{
  width:12px;height:12px;border-radius:50%;flex-shrink:0;
  margin-top:4px;
}

.status-indicator.critical{background:var(--red);box-shadow:0 0 12px var(--red-glow)}
.status-indicator.warning{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}
.status-indicator.positive{background:var(--green);box-shadow:0 0 12px var(--green-glow)}

.status-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}
.status-detail{font-size:.82rem;color:var(--text-secondary);line-height:1.6}

.chart-wrapper{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  padding:1.5rem;
  position:relative;
  backdrop-filter:blur(10px);
}

.chart-wrapper canvas{max-height:380px}
.chart-title{
  font-size:.95rem;font-weight:700;color:var(--text-primary);
  margin-bottom:1.25rem;
  display:flex;align-items:center;gap:.5rem;
}

.chart-title::before{
  content:'';display:inline-block;width:4px;height:16px;
  background:var(--gradient-accent);border-radius:2px;
}

.charts-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
}

.charts-grid-3{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1.5rem;
}

.table-wrapper{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  overflow-x:auto;
  backdrop-filter:blur(10px);
}

table{width:100%;border-collapse:collapse;font-size:.82rem}
thead{background:var(--blue-deep)}
thead th{
  color:var(--text-primary);padding:.75rem 1rem;text-align:left;
  font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;
}
tbody td{padding:.65rem 1rem;border-bottom:1px solid rgba(255,255,255,.04)}
tbody tr:hover{background:rgba(255,255,255,.03)}
td.positive{color:var(--green);font-weight:700}
td.negative{color:var(--red);font-weight:700}
td.warn{color:var(--accent);font-weight:700}

.badge{
  display:inline-block;padding:.2rem .65rem;border-radius:50px;
  font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
}

.badge-critical{background:rgba(239,68,68,.15);color:var(--red)}
.badge-warning{background:rgba(245,158,11,.15);color:var(--accent)}
.badge-positive{background:rgba(34,197,94,.15);color:var(--green)}
.badge-info{background:rgba(59,130,246,.15);color:var(--blue)}

.alert{
  background:rgba(239,68,68,.06);
  border:1px solid rgba(239,68,68,.2);
  border-left:4px solid var(--red);
  padding:1.25rem 1.5rem;border-radius:var(--radius-sm);
  margin:1.5rem 0;
  display:flex;align-items:flex-start;gap:1rem;
}

.alert-critical{
  background:rgba(239,68,68,.06);
  border-color:rgba(239,68,68,.2);
  border-left-color:var(--red);
}

.alert-warning{
  background:rgba(245,158,11,.06);
  border-color:rgba(245,158,11,.2);
  border-left-color:var(--accent);
}

.alert-icon{font-size:1.5rem;flex-shrink:0}
.alert-content h3{font-size:.95rem;font-weight:700;margin-bottom:.35rem}
.alert-content p{font-size:.85rem;color:var(--text-secondary);line-height:1.6}

.funnel{display:flex;flex-direction:column;gap:.75rem;max-width:700px;margin:0 auto}
.funnel-step{
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.5rem;
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-sm);
  transition:var(--transition);
}

.funnel-step:hover{background:var(--bg-card-hover)}

.funnel-bar{
  height:40px;border-radius:var(--radius-xs);
  display:flex;align-items:center;padding-left:1rem;
  font-weight:700;font-size:.85rem;color:var(--white);
  min-width:60px;
  transition:width 1.5s cubic-bezier(.4,0,.2,1);
  position:relative;
  overflow:hidden;
}

.funnel-bar::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1));
}

.funnel-label{font-size:.82rem;font-weight:600;color:var(--text-primary);min-width:150px}
.funnel-count{font-size:.9rem;font-weight:700;color:var(--text-primary);margin-left:auto;white-space:nowrap}
.funnel-drop{font-size:.72rem;font-weight:600;min-width:85px;text-align:right}
.funnel-drop.drop-red{color:var(--red)}
.funnel-drop.drop-green{color:var(--green)}

.reco-card{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  padding:1.75rem;
  transition:var(--transition);
  position:relative;
  overflow:hidden;
}

.reco-card::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:4px;
}

.reco-card.critical::before{background:var(--red)}
.reco-card.high::before{background:var(--accent)}
.reco-card.medium::before{background:var(--blue)}
.reco-card.low::before{background:var(--green)}

.reco-card:hover{
  background:var(--bg-card-hover);
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}

.reco-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}

.reco-priority{
  font-size:.6rem;font-weight:800;text-transform:uppercase;
  padding:.25rem .7rem;border-radius:50px;
  letter-spacing:.5px;
}

.reco-priority.critical{background:rgba(239,68,68,.15);color:var(--red)}
.reco-priority.high{background:rgba(245,158,11,.15);color:var(--accent)}
.reco-priority.medium{background:rgba(59,130,246,.15);color:var(--blue)}
.reco-priority.low{background:rgba(34,197,94,.15);color:var(--green)}

.reco-card h3{font-size:1rem;font-weight:800;color:var(--text-primary);margin-bottom:.75rem;line-height:1.4}
.reco-card p{font-size:.82rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}
.reco-impact{font-size:.78rem;color:var(--green);font-weight:600}

.reco-steps{margin-top:1rem;padding-left:0;list-style:none}

.reco-steps li{
  font-size:.78rem;color:var(--text-secondary);
  padding:.4rem 0;padding-left:1.5rem;position:relative;line-height:1.5;
}

.reco-steps li::before{
  content:'';position:absolute;left:0;top:12px;
  width:8px;height:8px;border-radius:50%;
  background:var(--glass-border);
}

.reco-steps li::after{
  content:'';position:absolute;left:3px;top:20px;
  width:2px;height:calc(100% - 8px);
  background:var(--glass-border);
}

.reco-steps li:last-child::after{display:none}

.recos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:1.5rem;
}

.negative-keywords-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1rem;
}

.nk-category{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-sm);
  padding:1.25rem;
}

.nk-category h4{font-size:.85rem;font-weight:700;color:var(--accent);margin-bottom:.75rem}
.nk-tags{display:flex;flex-wrap:wrap;gap:.35rem}

.nk-tag{
  display:inline-block;padding:.2rem .55rem;
  background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.15);
  border-radius:4px;font-size:.7rem;
  color:var(--red);font-weight:500;
}

.proposal-card{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  padding:2rem;
  position:relative;
  overflow:hidden;
}

.proposal-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
}

.proposal-card.brand::before{background:var(--blue)}
.proposal-card.service::before{background:var(--accent)}
.proposal-card.consideration::before{background:var(--purple)}

.proposal-badge{
  display:inline-block;padding:.3rem .8rem;
  border-radius:50px;font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:.75rem;
}

.proposal-card.brand .proposal-badge{background:rgba(59,130,246,.15);color:var(--blue)}
.proposal-card.service .proposal-badge{background:rgba(245,158,11,.15);color:var(--accent)}
.proposal-card.consideration .proposal-badge{background:rgba(168,85,247,.15);color:var(--purple)}

.proposal-card h3{font-size:1.1rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem}
.proposal-card p{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}

.proposal-detail{font-size:.78rem;color:var(--text-muted);line-height:1.7}
.proposal-detail strong{color:var(--text-secondary)}

.timeline{
  position:relative;
  padding-left:2rem;
}

.timeline::before{
  content:'';position:absolute;left:8px;top:0;bottom:0;
  width:2px;background:linear-gradient(180deg,var(--accent),var(--red),var(--green));
  border-radius:2px;
}

.timeline-item{
  position:relative;padding-left:2rem;padding-bottom:2rem;
}

.timeline-item::before{
  content:'';position:absolute;left:-2rem;top:4px;
  width:18px;height:18px;border-radius:50%;
  border:3px solid var(--accent);
  background:var(--bg-dark);
}

.timeline-item.urgent::before{border-color:var(--red)}
.timeline-item.short::before{border-color:var(--accent)}
.timeline-item.mid::before{border-color:var(--blue)}
.timeline-item.long::before{border-color:var(--green)}

.timeline-phase{
  font-size:.7rem;font-weight:700;text-transform:uppercase;
  letter-spacing:1px;color:var(--text-muted);margin-bottom:.35rem;
}

.timeline-item h4{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}

.timeline-item ul{list-style:none;padding:0}
.timeline-item li{
  font-size:.8rem;color:var(--text-secondary);
  padding:.3rem 0;padding-left:1.2rem;position:relative;
}

.timeline-item li::before{
  content:'';position:absolute;left:0;top:12px;
  width:6px;height:6px;border-radius:50%;
  background:var(--text-muted);
}

.metric-highlight{
  display:inline-block;
  font-size:1.8rem;font-weight:900;
  background:var(--gradient-accent);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.metric-highlight.blue{
  background:var(--gradient-blue);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.waste-card{
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-sm);
  padding:1.5rem;
  text-align:center;
  transition:var(--transition);
}

.waste-card:hover{background:var(--bg-card-hover);transform:translateY(-2px)}

.waste-amount{
  font-size:1.6rem;font-weight:900;
  color:var(--red);
}

.waste-label{font-size:.78rem;color:var(--text-muted);margin-top:.25rem}
.waste-pct{font-size:.7rem;font-weight:700;color:var(--accent);margin-top:.35rem}

.footer{
  background:var(--bg-dark);
  border-top:1px solid var(--glass-border);
  color:var(--text-muted);
  text-align:center;
  padding:3rem 1.5rem;
  font-size:.85rem;
}

.footer-brand{
  font-size:1.2rem;font-weight:900;
  background:var(--gradient-accent);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:.5rem;
}

@media(max-width:1024px){
  .charts-grid-3{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  .hero h1{font-size:1.8rem}
  .hero{padding:6rem 1rem 3rem;min-height:auto}
  section{padding:3rem 1rem}
  .kpis-grid{grid-template-columns:repeat(2,1fr)}
  .charts-grid{grid-template-columns:1fr}
  .charts-grid-3{grid-template-columns:1fr}
  .nav-links{
    display:none;position:absolute;top:68px;left:0;right:0;
    background:rgba(10,15,26,.98);flex-direction:column;padding:1rem;
    border-bottom:1px solid var(--glass-border);gap:.25rem;z-index:999;
  }
  .nav-links.active{display:flex}
  .nav-toggle{display:block}
  .recos-grid{grid-template-columns:1fr}
  .negative-keywords-grid{grid-template-columns:1fr}
  .hero-stats{gap:1rem}
  .hero-stat{padding:.75rem 1rem}
  .hero-stat-value{font-size:1.4rem}
  .funnel-label{min-width:100px;font-size:.72rem}
  .section-header h2{font-size:1.6rem}
  .proposal-card{padding:1.5rem}
}

@media(max-width:480px){
  .hero h1{font-size:1.5rem}
  .kpis-grid{grid-template-columns:1fr 1fr}
  .kpi-value{font-size:1.5rem}
  .hero-stats{flex-direction:column;align-items:center}
}

.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

.counter{display:inline-block}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.text-center{text-align:center}
.mt-2{margin-top:2rem}
.mt-3{margin-top:3rem}
.mb-2{margin-bottom:2rem}
.warn-text{color:var(--red);font-weight:700}
.accent-text{
  background:var(--gradient-accent);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;font-weight:800;
}

.blue-text{
  background:var(--gradient-blue);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;font-weight:800;
}

.section-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,var(--glass-border),transparent);
  margin:0 auto;max-width:600px;
}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}