/* 45TECH Front-end Styles */
:root{
  --bg: #0b1220;
  --card: #0f172a;
  --muted: #8aa0b6;
  --text: #dbe7ff;
  --brand: #0a84ff;
  --brand2: #7c3aed;
  --ring: rgba(10,132,255,.35);
  --border: #1f2940;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

.header{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(11,18,32,.9),rgba(11,18,32,.6) 70%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px}
.logo{display:grid;place-items:center;width:34px;height:34px;background:linear-gradient(135deg,var(--brand),var(--brand2));border-radius:10px;font-weight:800}
.brand-text{display:flex;flex-direction:column}
.brand-text strong{letter-spacing:.5px}
.tagline{font-size:12px;color:var(--muted)}

.nav{display:flex;gap:12px;margin-left:auto}
.nav-link{padding:8px 10px;border-radius:10px}
.nav-link:hover{background:rgba(255,255,255,.05)}

.auth-actions{display:flex;align-items:center;gap:10px;margin-left:8px}
.user-menu{display:flex;align-items:center;gap:8px}
.hidden{display:none!important}

.hamburger{display:none;background:none;border:0;width:42px;height:42px;border-radius:12px;padding:10px}
.hamburger span{display:block;height:2px;background:#bcd;border-radius:1px;margin:5px 0}

.section{padding:72px 0;border-top:1px solid var(--border)}
.section.alt{background:linear-gradient(180deg,rgba(124,58,237,.06),rgba(10,132,255,.04))}

.hero{padding-top:32px}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.hero-copy h1{font-size:40px;line-height:1.1;margin:.2em 0 .4em}
.gradient{background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy p{color:#c9d7ef}
.hero-cta{display:flex;gap:12px;margin:18px 0 10px}
.stats{display:flex;gap:32px;margin-top:16px;color:#c0d0ea}
.stats strong{font-size:20px;display:block}

.hero-art{display:grid;gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card.small{padding:14px}
.glass{background:linear-gradient(180deg,rgba(13,20,37,.8),rgba(13,20,37,.5));backdrop-filter:blur(6px) saturate(130%)}
.grid-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.progress{height:8px;background:#111b33;border-radius:999px;overflow:hidden;border:1px solid var(--border)}
.progress>div{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2))}

.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.section-actions{display:flex;gap:10px;flex-wrap:wrap}

.input{background:#0a1328;border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:12px;outline:0;min-height:40px}
.input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}
.row{display:flex;gap:10px;flex-wrap:wrap}

.btn{appearance:none;border:1px solid transparent;background:#18233e;color:#e5efff;padding:10px 14px;border-radius:12px;font-weight:600;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand2));color:white}
.btn.ghost{background:transparent;border-color:var(--border)}
.btn.small{padding:6px 10px;border-radius:10px}
.btn.wfull{width:100%}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card .muted{color:var(--muted)}
.video{display:flex;flex-direction:column;gap:8px}
.video .poster{aspect-ratio:16/9;border-radius:12px;border:1px solid var(--border);background:#0b1630;display:grid;place-items:center;overflow:hidden}
.video .poster iframe, .video .poster video{width:100%;height:100%}

.post .title{font-size:18px;font-weight:700}
.post .excerpt{color:#c6d3eb}

.narrow{max-width:800px;margin:0 auto}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px}
.feature{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px}
.feature .icon{font-size:26px}

.footer{border-top:1px solid var(--border);padding:20px 0;background:#0b1220}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:8px}
.footer a{color:#a9bfe0}

.dialog{border:0;border-radius:18px;padding:0;background:transparent}
.dialog::backdrop{background:rgba(3,7,18,.6);backdrop-filter:blur(2px)}
.dialog-card{min-width:min(680px, 95vw)}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:12px}
.tab{padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:#0b1328;cursor:pointer}
.tab.active{background:linear-gradient(90deg,var(--brand),var(--brand2));border-color:transparent}
.prose{color:#e6eeff}
.muted{color:var(--muted)}
.small{font-size:13px}

.user-row{display:grid;grid-template-columns:28px 1fr 1fr 90px;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--border)}
.user-row input{width:18px;height:18px}

/* responsive */
@media (max-width: 900px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .hero-inner{grid-template-columns:1fr}
  .nav{display:none}
  .hamburger{display:block;margin-left:auto}
}
@media (max-width: 560px){
  .grid{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
}
