:root{

  --bg:#060816;
  --bg2:#0d1328;

  --card:#12192b;
  --card2:#172038;

  --border:rgba(255,255,255,.08);

  --text:#ffffff;
  --muted:#9ca9c5;

  --accent:#7b61ff;
  --accent2:#38bdf8;

  --orange:#ff9f43;
  --green:#00d38f;

  --transition:.35s ease;
}

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

body{

  background:
    linear-gradient(
      180deg,
      var(--bg),
      var(--bg2)
    );

  color:var(--text);

  font-family:'DM Sans',sans-serif;

  overflow-x:hidden;
}

/* =====================================================
SIDEBAR
===================================================== */

.sidebar{

  position:fixed;

  top:0;
  left:0;

  width:240px;
  height:100vh;

  background:
    linear-gradient(
      180deg,
      #050816,
      #0d1226
    );

  border-right:
    1px solid var(--border);

  padding:24px 18px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.sidebar-brand{

  display:flex;
  align-items:center;

  gap:14px;

  margin-bottom:40px;
}

.brand-icon{

  width:48px;
  height:48px;

  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
    linear-gradient(
      135deg,
      var(--accent),
      var(--accent2)
    );
}

.brand-text{

  font-size:28px;

  font-family:'Syne',sans-serif;

  font-weight:800;
}

.sidebar-nav{

  display:flex;
  flex-direction:column;

  gap:12px;
}

.sidebar-nav a{

  text-decoration:none;

  color:#9aa4bf;

  padding:16px 18px;

  border-radius:18px;

  display:flex;
  align-items:center;

  gap:14px;

  transition:var(--transition);
}

.sidebar-nav a:hover,
.sidebar-nav .active{

  background:
    rgba(255,255,255,.06);

  color:white;
}

.sidebar-footer{

  display:flex;
  gap:12px;
}

.sidebar-footer a{

  width:44px;
  height:44px;

  border-radius:14px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
    rgba(255,255,255,.05);

  color:white;

  text-decoration:none;
}

/* =====================================================
TOPBAR
===================================================== */

.topbar{

  position:fixed;

  top:0;
  left:240px;
  right:0;

  height:84px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:0 30px;

  background:
    rgba(5,8,22,.82);

  backdrop-filter:blur(18px);

  border-bottom:
    1px solid var(--border);

  z-index:999;
}

.search-box{

  width:420px;

  display:flex;
  align-items:center;

  gap:12px;

  padding:14px 18px;

  border-radius:999px;

  background:
    rgba(255,255,255,.05);

  border:
    1px solid var(--border);
}

.search-box input{

  width:100%;

  border:none;
  outline:none;

  background:none;

  color:white;
}

.topbar-actions{

  display:flex;
  gap:14px;
}

.outline-btn,
.primary-btn{

  border:none;

  padding:14px 20px;

  border-radius:18px;

  cursor:pointer;

  font-weight:700;
}

.outline-btn{

  background:
    rgba(255,255,255,.06);

  color:white;
}

.primary-btn{

  background:
    linear-gradient(
      135deg,
      var(--accent),
      var(--accent2)
    );

  color:white;
}

/* =====================================================
MAIN
===================================================== */

.main-home{

  margin-left:240px;

  padding:120px 40px 60px;
}

/* HERO */

.hero-section{

  display:grid;

  grid-template-columns:
    1.1fr .9fr;

  gap:30px;

  margin-bottom:50px;
}

.hero-left{

  background:
    linear-gradient(
      145deg,
      #12192b,
      #172038
    );

  border:
    1px solid var(--border);

  border-radius:36px;

  padding:50px;
}

.hero-badge{

  display:inline-flex;

  padding:12px 18px;

  border-radius:999px;

  background:
    rgba(255,255,255,.06);

  margin-bottom:24px;
}

.hero-left h1{

  font-size:
    clamp(60px,8vw,100px);

  line-height:1;

  margin-bottom:20px;

  font-family:'Syne',sans-serif;
}

.hero-left h1 span{

  background:
    linear-gradient(
      135deg,
      var(--accent),
      var(--accent2)
    );

  -webkit-background-clip:text;

  -webkit-text-fill-color:transparent;
}

.hero-left p{

  color:var(--muted);

  line-height:1.8;

  max-width:580px;

  margin-bottom:36px;
}

.hero-stats{

  display:flex;

  gap:20px;

  flex-wrap:wrap;
}

.hero-stat{

  padding:20px 26px;

  border-radius:24px;

  background:
    rgba(255,255,255,.05);
}

.hero-stat h2{

  font-size:38px;

  margin-bottom:8px;
}

.hero-stat span{
  color:#9ca9c5;
}

/* PREVIEW */

.hero-preview{

  background:
    linear-gradient(
      135deg,
      rgba(123,97,255,.22),
      rgba(56,189,248,.18)
    );

  border-radius:36px;

  padding:30px;

  display:flex;
  align-items:center;
  justify-content:center;
}

.preview-card{

  width:100%;

  background:
    rgba(255,255,255,.08);

  border:
    1px solid rgba(255,255,255,.1);

  border-radius:28px;

  padding:28px;

  backdrop-filter:blur(18px);
}

.preview-top{

  display:flex;
  justify-content:space-between;
  align-items:center;

  margin-bottom:30px;
}

.preview-top button{

  border:none;

  padding:12px 16px;

  border-radius:14px;

  background:
    rgba(255,255,255,.08);

  color:white;

  cursor:pointer;
}

.preview-ui{

  display:grid;

  grid-template-columns:
    repeat(2,1fr);

  gap:18px;
}

.mini-ui{

  height:130px;

  border-radius:22px;
}

.purple-ui{
  background:linear-gradient(135deg,#7b61ff,#b794ff);
}

.blue-ui{
  background:linear-gradient(135deg,#38bdf8,#3b82f6);
}

.orange-ui{
  background:linear-gradient(135deg,#ff9f43,#ff7a3d);
}

.green-ui{
  background:linear-gradient(135deg,#00d38f,#00c896);
}

/* FILTERS */

.filters-section{

  display:flex;
  flex-wrap:wrap;

  gap:14px;

  margin-bottom:40px;
}

.filter-btn{

  border:none;

  padding:14px 20px;

  border-radius:999px;

  background:
    rgba(255,255,255,.05);

  color:white;

  cursor:pointer;

  transition:var(--transition);
}

.filter-btn.active,
.filter-btn:hover{

  background:
    linear-gradient(
      135deg,
      var(--accent),
      var(--accent2)
    );
}

/* =====================================================
GRID
===================================================== */

.collection-grid{

  display:grid;

  grid-template-columns:
    repeat(auto-fit,minmax(320px,1fr));

  gap:28px;
}

/* CARD */

.collection-card{

  overflow:hidden;

  border-radius:34px;

  background:
    linear-gradient(
      145deg,
      #12192b,
      #172038
    );

  border:
    1px solid var(--border);

  transition:var(--transition);
}

.collection-card:hover{

  transform:
    translateY(-10px);
}

.card-preview{

  position:relative;

  height:260px;

  padding:26px;

  overflow:hidden;
}

.purple-gradient{
  background:linear-gradient(135deg,#7b61ff,#b794ff);
}

.blue-gradient{
  background:linear-gradient(135deg,#38bdf8,#3b82f6);
}

.orange-gradient{
  background:linear-gradient(135deg,#ff9f43,#ff7a3d);
}

.green-gradient{
  background:linear-gradient(135deg,#00d38f,#00c896);
}

/* SAVE */

.save-btn{

  position:absolute;

  top:22px;
  right:22px;

  width:48px;
  height:48px;

  border:none;

  border-radius:16px;

  background:
    rgba(255,255,255,.15);

  backdrop-filter:blur(10px);

  color:white;

  cursor:pointer;

  font-size:18px;
}

.active-save{

  background:white;

  color:#111827;
}

/* PREVIEW UI */

.preview-window{

  width:100%;
  height:100%;

  border-radius:24px;

  background:
    rgba(255,255,255,.16);

  padding:18px;
}

.preview-header{

  height:20px;

  border-radius:999px;

  background:
    rgba(255,255,255,.3);

  margin-bottom:18px;
}

.preview-content{

  height:120px;

  border-radius:20px;

  background:
    rgba(255,255,255,.24);
}

/* MOBILE */

.preview-mobile{

  width:180px;
  height:100%;

  margin:auto;

  border-radius:28px;

  background:
    rgba(255,255,255,.18);

  padding:18px;
}

.mobile-bar{

  height:20px;

  border-radius:999px;

  background:
    rgba(255,255,255,.3);

  margin-bottom:20px;
}

.mobile-card{

  height:70px;

  border-radius:18px;

  background:
    rgba(255,255,255,.25);

  margin-bottom:16px;
}

.small{
  height:40px;
}

/* CHAT */

.preview-chat{

  display:flex;
  flex-direction:column;

  gap:18px;
}

.chat-bubble{

  width:80%;

  height:60px;

  border-radius:20px;

  background:
    rgba(255,255,255,.2);
}

.small-chat{

  width:55%;

  margin-left:auto;
}

/* KANBAN */

.preview-kanban{

  height:100%;

  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:14px;
}

.kanban-col{

  border-radius:20px;

  background:
    rgba(255,255,255,.2);
}

/* BODY */

.card-body{

  padding:28px;
}

.card-top{

  display:flex;
  justify-content:space-between;
  align-items:center;

  margin-bottom:18px;
}

.component-tag{

  padding:10px 14px;

  border-radius:999px;

  background:
    rgba(255,255,255,.06);

  font-size:13px;
}

.likes{

  color:#c7d2eb;

  display:flex;
  align-items:center;

  gap:8px;
}

.collection-card h2{

  font-size:34px;

  margin-bottom:16px;

  font-family:'Syne',sans-serif;
}

.collection-card p{

  color:#9ca9c5;

  line-height:1.8;

  margin-bottom:24px;
}

/* FOOTER */

.card-footer{

  display:flex;

  gap:14px;
}

.view-btn,
.code-btn{

  flex:1;

  border:none;

  padding:16px;

  border-radius:18px;

  cursor:pointer;

  font-weight:700;
}

.view-btn{

  background:
    linear-gradient(
      135deg,
      var(--accent),
      var(--accent2)
    );

  color:white;
}

.code-btn{

  background:
    rgba(255,255,255,.06);

  color:white;
}

/* RESPONSIVE */

@media(max-width:1100px){

  .hero-section{

    grid-template-columns:1fr;
  }

}

@media(max-width:900px){

  .sidebar{
    display:none;
  }

  .topbar,
  .main-home{

    margin-left:0;

    left:0;
  }

}

@media(max-width:768px){

  .topbar{

    flex-direction:column;

    height:auto;

    gap:16px;

    padding:18px;
  }

  .search-box{
    width:100%;
  }

  .main-home{

    padding:160px 20px 40px;
  }

  .hero-left{
    padding:34px;
  }

  .hero-stats{
    flex-direction:column;
  }

}

.footer {
  margin-left: 250px;
  background: #090c15 !important;
  padding: 80px 40px 40px;
  border-top: 1px solid rgb(255 255 255 / 5%) !important;
  position: relative;
  overflow: hidden;
}

.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(235 104 53 / 20%), transparent);
}

.footer-container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 2fr;
  gap: 40px;
  max-width: 1400px;
  margin: 0 auto;
}

.footer-logo {
  font-size: 24px;
  font-family: var(--font-heading);
  font-weight: 800;
  letter-spacing: -0.5px;
  background: linear-gradient(135deg, var(--accent), #ff8e53);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 16px;
}

.footer-col p {
  color: #8a9bc0;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.footer-col h3 {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  margin-bottom: 24px;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col ul li {
  margin-bottom: 12px;
}

.footer-col ul li a {
  color: #8a9bc0;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
}

.footer-col ul li a:hover {
  color: var(--accent);
  padding-left: 4px;
}

.footer-col.newsletter .newsletter-form {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.footer-col.newsletter input[type="email"] {
  flex: 1;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  background: rgb(255 255 255 / 2%);
  border: 1px solid rgb(255 255 255 / 8%);
  color: #fff;
  outline: none;
  font-size: 13px;
  transition: all 0.3s ease;
}

.footer-col.newsletter input[type="email"]:focus {
  border-color: var(--accent);
  background: rgb(255 255 255 / 4%);
  box-shadow: 0 0 10px rgb(235 104 53 / 20%);
}

.footer-col.newsletter button {
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  background: var(--accent);
  color: #fff;
  border: none;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.footer-col.newsletter button:hover {
  background: #d45c28;
  box-shadow: 0 4px 12px rgb(235 104 53 / 30%);
}

.socials {
  display: flex;
  gap: 12px;
}

.socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgb(255 255 255 / 3%);
  border: 1px solid rgb(255 255 255 / 6%);
  color: #8a9bc0;
  transition: all 0.3s ease;
}

.socials a:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  transform: translateY(-2px);
}

.footer-bottom {
  border-top: 1px solid rgb(255 255 255 / 4%);
  margin-top: 60px;
  padding-top: 24px;
  text-align: center;
}

.footer-bottom p {
  color: #6a7a94;
  font-size: 13px;
}