.app-wrap{ padding: 26px; }

.app-hero{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 16px;
  align-items:start;
}

.app-hero h1{
  margin: 10px 0 8px;
  font-size: 34px;
  letter-spacing: -0.6px;
}
.app-sub{
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
  max-width: 740px;
}

.app-actions{
  display:flex;
  gap: 12px;
  flex-wrap:wrap;
  margin-top: 16px;
}

.app-stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
}
.stat{
  padding: 12px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.stat-k{ font-weight: 950; }
.stat-v{ margin-top: 6px; color: rgba(255,255,255,.70); font-size: 13px; }

.app-preview{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.preview-card{
  min-height: 360px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(135deg, rgba(37,245,154,.10), rgba(0,194,255,.08), rgba(255,42,166,.08)),
    url("/assets/images/placeholders/service-apps.jpg");
  background-size: cover;
  background-position: center;
  position:relative;
  overflow:hidden;
}
.preview-card:after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 25% 20%, rgba(255,255,255,.10), transparent 60%);
  pointer-events:none;
}

.pv-top{
  position:absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  display:flex;
  align-items:center;
  gap: 8px;
  z-index:1;
}
.pv-dot{
  width: 10px;
  height: 10px;
  border-radius: 99px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
}
.pv-title{
  margin-left:auto;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .3px;
  color: rgba(255,255,255,.82);
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}

.pv-body{
  position:absolute;
  inset: 56px 14px 14px 14px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  display:grid;
  grid-template-columns: .35fr .65fr;
  gap: 12px;
  padding: 12px;
}

.pv-side{
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  padding: 10px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.pv-pill{
  height: 12px;
  border-radius: 99px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.06);
}

.pv-main{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.pv-row{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.pv-kpi{
  height: 56px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
}
.pv-table{
  flex:1;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
}

.app-mini{
  padding: 14px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.mini-title{ font-weight: 950; }
.mini-text{ margin-top: 6px; color: rgba(255,255,255,.70); line-height:1.6; font-size: 14px; }

.app-section{ margin-top: 22px; }
.sec-head h2{ margin:0; font-size: 22px; letter-spacing:-0.3px; }
.sec-head p{ margin: 8px 0 0; color: rgba(255,255,255,.72); line-height:1.65; }

.cards{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 12px;
}
.card{
  padding: 14px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.card-top{ display:flex; align-items:center; gap: 10px; }
.ico{
  width: 44px;
  height: 44px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  display:grid;
  place-items:center;
}
.card-title{ font-weight: 950; }
.card-text{ margin: 8px 0 0; color: rgba(255,255,255,.70); line-height:1.65; font-size: 14px; }

.timeline{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 12px;
}
.t-item{
  padding: 14px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.t-num{ font-weight: 950; color: rgba(255,255,255,.78); }
.t-title{ margin-top: 8px; font-weight: 950; }
.t-text{ margin-top: 6px; color: rgba(255,255,255,.70); line-height:1.55; font-size: 14px; }

.app-final{
  margin-top: 18px;
  padding: 16px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
}
.final-title{ font-weight: 950; }
.final-text{ margin-top: 6px; color: rgba(255,255,255,.70); line-height:1.6; font-size: 14px; }

@media (max-width: 980px){
  .app-hero{ grid-template-columns: 1fr; }
  .app-stats{ grid-template-columns: 1fr; }
  .cards{ grid-template-columns: 1fr; }
  .timeline{ grid-template-columns: 1fr; }
  .app-final{ flex-direction:column; align-items:flex-start; }
  .pv-body{ grid-template-columns: 1fr; }
}
