.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;display:inline-block;vertical-align:middle}
body{font-family:"Manrope",sans-serif;background-color:#020817;scrollbar-width:thin;scrollbar-color:#1e293b transparent}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}

/* Tech Background */
.tech-bg{background:radial-gradient(circle at 50% 50%,rgba(0,97,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,242,254,.1) 0%,transparent 40%),#020817;position:relative;overflow:hidden}
.grid-overlay{background-image:linear-gradient(rgba(0,210,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,210,255,.05) 1px,transparent 1px);background-size:40px 40px}

/* Scan Line */
.scan-line{width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,210,255,.5),transparent);position:absolute;top:0;animation:scan 8s linear infinite;z-index:5;pointer-events:none}
@keyframes scan{0%{top:-5%}100%{top:105%}}

/* Glow */
.glow-text{text-shadow:0 0 10px rgba(0,210,255,.5),0 0 20px rgba(0,210,255,.3)}

/* Glass Card */
.glass-card{background:rgba(15,23,42,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,210,255,.1)}

/* Orbits */
.orbit{position:absolute;border:1px solid rgba(0,210,255,.05);border-radius:50%;pointer-events:none}

/* Slide transitions */
.slide-panel{display:none;animation:fadeIn .5s ease}
.slide-panel.active{display:flex}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Image placeholder */
.img-placeholder{border:2px dashed rgba(0,210,255,.25);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#475569;min-height:200px;background:rgba(0,210,255,.02);transition:all .3s}
.img-placeholder:hover{border-color:rgba(0,210,255,.5);background:rgba(0,210,255,.05)}
.img-placeholder img{width:100%;height:100%;object-fit:cover;border-radius:10px}

/* Sidebar active indicator */
.nav-item{position:relative;transition:all .2s}
.nav-item.active{background:rgba(0,210,255,.08);color:#00d2ff;font-weight:700}
.nav-item.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#00d2ff;box-shadow:0 0 8px rgba(0,210,255,.5)}

/* Progress dots */
.progress-dot{width:6px;height:6px;border-radius:50%;background:#1e293b;transition:all .3s}
.progress-dot.active{background:#00d2ff;box-shadow:0 0 6px rgba(0,210,255,.5);width:20px;border-radius:3px}

/* Stat card hover */
.stat-hover{transition:all .3s}
.stat-hover:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,210,255,.1);border-color:rgba(0,210,255,.3)}

/* Table */
table{width:100%;border-collapse:collapse;font-size:1.05rem}
thead th{background:rgba(0,210,255,.08);color:#00d2ff;font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid rgba(0,210,255,.15);white-space:nowrap;font-family:'Inter',sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
tbody td{padding:10px 14px;border-bottom:1px solid rgba(30,41,59,.5);color:#94a3b8}
tbody tr:hover{background:rgba(0,210,255,.03)}
tbody tr td:first-child{color:#e2e8f0;font-weight:500}

/* Reusable slide components */
.sl-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sl-head .line{width:48px;height:1px;background:#00d2ff}
.sl-head span{color:#00d2ff;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.3em;font-family:'Inter',sans-serif}
.sl-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;font-family:'Space Grotesk',sans-serif;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:12px}
.sl-title .grad{background:linear-gradient(90deg,#00d2ff,#0061ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sl-grid{display:grid;gap:20px}
.sl-grid.c2{grid-template-columns:repeat(2,1fr)}
.sl-grid.c3{grid-template-columns:repeat(3,1fr)}
.sl-grid.c4{grid-template-columns:repeat(4,1fr)}
.sl-grid.c7-5{grid-template-columns:7fr 5fr}
@media(max-width:900px){.sl-grid.c2,.sl-grid.c3,.sl-grid.c4,.sl-grid.c7-5{grid-template-columns:1fr}}
.gc{background:rgba(15,23,42,.7);backdrop-filter:blur(12px);border:1px solid rgba(0,210,255,.1);border-radius:16px;padding:24px;transition:all .3s}
.gc:hover{border-color:rgba(0,210,255,.25);transform:translateY(-2px)}
.gc .ic{font-size:28px;margin-bottom:8px;display:block}
.gc h4{font-size:1.15rem;font-weight:700;color:#e2e8f0;margin-bottom:6px}
.gc p{font-size:1.0rem;color:#94a3b8;line-height:1.6}
.callout{background:linear-gradient(90deg,rgba(0,210,255,.08),rgba(0,97,255,.04));border:1px solid rgba(0,210,255,.15);border-left:4px solid #00d2ff;border-radius:0 12px 12px 0;padding:16px 20px;margin-top:16px}
.callout p{color:#cbd5e1;font-size:1.1rem;line-height:1.6}
.callout strong{color:#fff}
.badge-sm{display:inline-flex;padding:2px 10px;border-radius:12px;font-size:.9rem;font-weight:700;font-family:'Inter',sans-serif}
.list-feat{list-style:none;display:flex;flex-direction:column;gap:10px}
.list-feat li{display:flex;align-items:flex-start;gap:10px;font-size:1.08rem;color:#94a3b8;padding:10px 14px;background:rgba(15,23,42,.5);border:1px solid rgba(30,41,59,.5);border-radius:10px}
.list-feat li:hover{background:rgba(0,210,255,.04);border-color:rgba(0,210,255,.15)}
.icon-box{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.footer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:auto;padding-top:24px}
@media(max-width:900px){.footer-stats{grid-template-columns:repeat(2,1fr)}}

/* Print styles for PDF and PPTX export */
@media print {
  @page {
    size: 16in 9in;
    margin: 0;
  }
  body {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    background-color: #020817 !important;
    overflow: visible !important;
  }
  #sidebar, header, footer, button, .orbit, .scan-line, .grid-overlay {
    display: none !important;
  }
  main {
    margin-left: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }
  #slidesContainer {
    padding: 0 !important;
    display: block !important;
  }
  .slide-panel {
    display: flex !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    page-break-after: always !important;
    break-after: page !important;
    width: 100vw !important;
    height: 100vh !important;
    box-sizing: border-box !important;
    padding: 40px 60px !important;
    position: relative !important;
  }
}
