/* Step To Toppers V2.0.2 — Original premium UI restoration
   Logic remains SaaS V2; only visual/touch behavior is restored to the original app feel. */

/* ---------- Global premium touch language ---------- */
:root{
  --stt-shadow:0 4px 6px rgba(0,0,0,.20);
  --stt-shadow-hover:0 6px 12px rgba(0,0,0,.30);
  --stt-shadow-press:0 2px 4px rgba(0,0,0,.20);
}

html,body,button,input,select,textarea,optgroup,option {
  font-family: 'Roboto', sans-serif !important;
}

.app-container{padding-top:75px!important;}

/* All main tappable blue controls: original white border + shadow + shine + press */
.page-home .mini-btn,
.page-home .batch-btn,
.page-home .review-btn,
.page-batches .btn:not(.secondary),
.page-batches .tab.active,
.page-tests .btn,
.page-tests .tab.active,
.page-tests .subject-tab.active,
.tm-menu-btn,
.center-action-btn,
.pwa-install-fab{
  background:var(--blue-grad-vert)!important;
  border:2px solid #fff!important;
  box-shadow:var(--stt-shadow)!important;
  color:#fff!important;
  border-radius:8px!important;
  position:relative!important;
  overflow:hidden!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.page-home .mini-btn:hover,
.page-home .batch-btn:hover,
.page-home .review-btn:hover,
.page-batches .btn:not(.secondary):hover,
.page-batches .tab.active:hover,
.page-tests .btn:hover,
.page-tests .tab.active:hover,
.page-tests .subject-tab.active:hover,
.tm-menu-btn:hover,
.center-action-btn:hover,
.pwa-install-fab:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--stt-shadow-hover)!important;
}

.page-home .mini-btn:active,
.page-home .batch-btn:active,
.page-home .review-btn:active,
.page-batches .btn:active,
.page-batches .tab:active,
.page-tests .btn:active,
.page-tests .tab:active,
.page-tests .subject-tab:active,
.tm-menu-btn:active,
.center-action-btn:active,
.pwa-install-fab:active{
  transform:translateY(1px) scale(.985)!important;
  box-shadow:var(--stt-shadow-press)!important;
}

/* Recurring shine removed; press feedback is handled by site-ui-standard.css. */

/* ---------- Header: original dimensions ---------- */
.top-main-header{
  height:75px!important;
  min-height:75px!important;
  padding:12px 16px!important;
  background:#F8F9FE!important;
  border-bottom:.5px solid #d1d5db!important;
  grid-template-columns:52px 1fr 52px!important;
  box-shadow:none!important;
}
.tm-menu-btn{
  width:42px!important;height:42px!important;
  font-size:19px!important;
  margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.tm-menu-btn i{color:#fff!important;}
.tm-brand{gap:2px!important;min-width:0;}
.tm-brand img{width:50px!important;height:50px!important;border-radius:8px!important;object-fit:contain!important;}
.tm-title{font-size:14px!important;font-weight:900!important;letter-spacing:.7px!important;color:#1e222b!important;}
.tm-tagline{font-size:8px!important;font-weight:800!important;letter-spacing:1px!important;}
.tm-bell-btn{
  width:42px!important;height:42px!important;margin:0 0 0 auto!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
  color:#1e222b!important;border-radius:0!important;overflow:visible!important;
  font-size:25px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  transition:transform .2s ease!important;
}
.tm-bell-btn::after{display:none!important;}
.tm-bell-btn:hover{transform:translateY(-2px)!important;box-shadow:none!important;}
.tm-bell-btn:active{transform:translateY(1px) scale(.985)!important;}
.tm-bell-btn i{color:#1e222b!important;}
.tm-badge{
  right:-1px!important;top:-2px!important;width:18px!important;min-width:18px!important;height:18px!important;
  padding:0!important;border-radius:8px!important;background:var(--blue-grad-vert)!important;
  border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;font-size:9px!important;
}

/* ---------- HOME: original spacing and pixel scale ---------- */
.page-home main{padding:20px!important;}
.page-home .hero{
  min-height:112px!important;height:auto!important;grid-template-columns:minmax(0,1.45fr) minmax(88px,.55fr)!important;
  border-radius:8px!important;border:2px solid #fff!important;
  box-shadow:0 6px 10px rgba(0,0,0,.15)!important;margin-bottom:14px!important;
}
.page-home .hero-copy{padding:14px 6px 14px 16px!important;min-width:0!important;}
.page-home .hero-welcome{font-size:10px!important;font-weight:600!important;letter-spacing:.8px!important;}
.page-home .hero h1{
  font-size:19px!important;line-height:1.12!important;margin:2px 0 5px!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;letter-spacing:-.2px!important;
}
.page-home .hero-sub{font-size:11px!important;font-weight:700!important;line-height:1.25!important;}
.page-home .hero-desc{font-size:9.5px!important;font-weight:500!important;margin-top:4px!important;}
.page-home .hero-media{align-items:center!important;justify-content:center!important;padding:8px 8px 8px 2px!important;overflow:visible!important;}
.page-home .hero-media img{
  width:76px!important;height:76px!important;max-width:76px!important;max-height:76px!important;
  object-fit:contain!important;object-position:center!important;display:block!important;
}
.page-home .hero-btn{font-size:10px!important;padding:6px 10px!important;margin-top:7px!important;border-radius:7px!important;height:45px!important;min-height:45px!important;}
@media (max-width:360px){
  .page-home .hero{grid-template-columns:minmax(0,1.55fr) 78px!important;min-height:108px!important;}
  .page-home .hero h1{font-size:17px!important;}
  .page-home .hero-media img{width:68px!important;height:68px!important;max-width:68px!important;max-height:68px!important;}
}

.page-home .quick{
  background:#fff!important;border:1px solid var(--border-card)!important;border-radius:5px!important;
  padding:12px 0!important;gap:0!important;margin:0 0 18px!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;
}
.page-home .quick-card{border:0!important;border-radius:0!important;padding:0 4px!important;position:relative!important;}
.page-home .quick-card:not(:last-child)::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:#e5e7eb;}
.page-home .quick-icon{width:40px!important;height:40px!important;font-size:19px!important;margin:0 auto 6px!important;border-radius:8px!important;}
.page-home .quick-card b{font-size:10px!important;line-height:1.1!important;}
.page-home .quick-card span{font-size:8.5px!important;font-weight:600!important;margin-top:3px!important;}

.page-home .section-head{margin:0 4px 12px!important;}
.page-home .section-head h2{font-size:14px!important;letter-spacing:.5px!important;text-transform:uppercase!important;}
.page-home .section-head h2:before{width:4px!important;height:16px!important;border-radius:5px!important;}
.page-home .view-all{font-size:12px!important;}

.page-home .class-scroll,.page-home .batch-scroll{gap:12px!important;padding-bottom:15px!important;margin-bottom:10px!important;}
.page-home .class-card{min-width:150px!important;border-radius:5px!important;padding:14px!important;transition:border-color .2s,transform .2s!important;}
.page-home .class-card:hover{transform:translateY(-2px)!important;border-color:var(--brand-blue)!important;}
.page-home .class-badge{font-size:9px!important;}
.page-home .class-card h3{font-size:16px!important;margin:5px 0 3px!important;}
.page-home .class-card p{font-size:9px!important;min-height:26px!important;font-weight:600!important;}
.page-home .price-row{margin:8px 0!important;}
.page-home .price{font-size:17px!important;}
.page-home .old{font-size:11px!important;}
.page-home .mini-btn{height:45px!important;min-height:45px!important;padding:0!important;font-size:11px!important;font-weight:700!important;letter-spacing:.3px!important;}

.page-home .batch-card{min-width:150px!important;border-radius:5px!important;padding:14px!important;transition:border-color .2s,transform .2s!important;}
.page-home .batch-card:hover{transform:translateY(-2px)!important;border-color:var(--brand-blue)!important;}
.page-home .batch-card h3{font-size:14px!important;}
.page-home .batch-card .sub{font-size:11px!important;font-weight:700!important;margin-bottom:10px!important;}
.page-home .status{font-size:8px!important;padding:4px 6px!important;}
.page-home .batch-grid{display:block!important;background:transparent!important;padding:0!important;margin:8px 0!important;border-radius:0!important;}
.page-home .batch-grid span{display:flex!important;align-items:center!important;gap:6px!important;font-size:10px!important;margin-bottom:5px!important;}
.page-home .batch-grid i{width:12px!important;text-align:center!important;margin-right:0!important;}
.page-home .batch-foot{display:block!important;}
.page-home .batch-foot>div{display:none!important;}
.page-home .batch-btn{width:100%!important;height:45px!important;min-height:45px!important;padding:0!important;font-size:11px!important;font-weight:700!important;margin-top:8px!important;}

.page-home .promo{border-radius:5px!important;padding:12px 14px!important;margin:14px 0 24px!important;}
.page-home .promo h3{font-size:12px!important;}
.page-home .promo p{font-size:10px!important;}
.page-home .promo .batch-btn{width:auto!important;height:45px!important;min-height:45px!important;padding:0 12px!important;margin:0!important;}
.page-home .review-card{border-radius:5px!important;padding:12px!important;}
.page-home .review-card b{font-size:11px!important;}
.page-home .review-card p{font-size:10px!important;}
.page-home .review-form textarea{min-height:70px!important;font-size:12px!important;border-radius:5px!important;padding:12px!important;}
.page-home .review-btn{width:auto!important;height:45px!important;min-height:45px!important;padding:0 16px!important;font-size:12px!important;}

/* ---------- BATCHES: original image proportions ---------- */
.page-batches main{padding:15px!important;}
.page-batches .page-title,.page-batches .page-sub{display:none!important;}
.page-batches .tabs{gap:10px!important;padding:0 0 10px!important;margin-bottom:10px!important;}
.page-batches .tab{
  height:45px!important;min-height:45px!important;
  padding:0 18px!important;border-radius:8px!important;font-size:12px!important;font-weight:700!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  transition:.2s ease!important;
}
.page-batches .tab:hover{border-color:var(--brand-blue)!important;color:var(--brand-blue)!important;}
.page-batches .list{gap:16px!important;}
.page-batches .batch{
  border-radius:5px!important;padding:16px!important;transition:border-color .2s,transform .2s!important;
  animation:stt-batch-fade .4s ease-in-out!important;
}
.page-batches .batch:hover{transform:translateY(-2px)!important;border-color:var(--brand-blue)!important;}
@keyframes stt-batch-fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.page-batches .batch.focus{border:2px solid var(--brand-blue)!important;box-shadow:none!important;}
.page-batches .top{align-items:flex-start!important;margin-bottom:12px!important;}
.page-batches .top h3{
  font-size:17px!important;font-weight:900!important;line-height:1.2!important;letter-spacing:.5px!important;
  background:var(--blue-grad-horz)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
}
.page-batches .sub{font-size:11px!important;font-weight:600!important;margin-top:4px!important;}
.page-batches .badge{font-size:10px!important;padding:4px 10px!important;border-radius:5px!important;}
.page-batches .meta{
  margin:0 0 14px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;
  padding:12px!important;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:5px!important;
}
.page-batches .meta span{font-size:11px!important;color:var(--text-main)!important;font-weight:600!important;display:flex!important;align-items:center!important;gap:8px!important;}
.page-batches .meta i{font-size:13px!important;width:16px!important;text-align:center!important;margin-right:0!important;background:var(--blue-grad-vert)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;}
.page-batches .foot{border-top:1px dashed var(--border-card)!important;padding-top:14px!important;align-items:center!important;}
.page-batches .old{font-size:11px!important;}
.page-batches .price{font-size:17px!important;background:var(--blue-grad-horz)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;}
.page-batches .price small{font-size:9px!important;-webkit-text-fill-color:#64748b!important;color:#64748b!important;}
.page-batches .actions{gap:8px!important;align-items:center!important;}
.page-batches .btn{height:45px!important;min-height:45px!important;max-height:45px!important;padding:0 14px!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.2px!important;border-radius:8px!important;}
.page-batches .btn:not(.secondary){padding-left:20px!important;padding-right:20px!important;}
.page-batches .btn.secondary{background:#fff!important;color:var(--brand-blue)!important;border:1px solid var(--brand-blue)!important;box-shadow:none!important;border-radius:8px!important;text-transform:none!important;}
.page-batches .btn.secondary:hover{background:#e6f2ff!important;color:var(--brand-blue-dark)!important;}
.page-batches .empty{border-radius:5px!important;padding:40px 20px!important;}
.page-batches .empty h3{font-size:13px!important;}
.page-batches .empty p{font-size:11px!important;}

/* ---------- TESTS: original test-card pixel scale, current hierarchy preserved ---------- */
.page-tests main{padding:20px!important;}
.page-tests .title{font-size:15px!important;font-weight:800!important;margin:0 0 12px!important;display:flex!important;align-items:center!important;gap:8px!important;color:var(--text-main)!important;}
.page-tests .title:before{content:'';width:4px;height:16px;background:var(--blue-grad-vert);border-radius:5px;}
.page-tests .sub{display:none!important;}
.page-tests .tabs,.page-tests .subject-tabs,.page-tests .pyq-classes{gap:12px!important;padding:0 0 12px!important;margin-bottom:15px!important;}
.page-tests .tab,.page-tests .subject-tab{height:45px!important;min-height:45px!important;padding:0 18px!important;border-radius:8px!important;font-size:12px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:.2s ease!important;}
.page-tests .tab:hover,.page-tests .subject-tab:hover{border-color:var(--brand-blue)!important;color:var(--brand-blue)!important;}
.page-tests .scope{border-radius:5px!important;padding:12px!important;margin-bottom:14px!important;}
.page-tests .scope-icon{width:40px!important;height:40px!important;font-size:17px!important;}
.page-tests .scope b{font-size:11px!important;}
.page-tests .scope p{font-size:9px!important;}
.page-tests .chapter{border:0!important;background:transparent!important;border-radius:0!important;margin-bottom:18px!important;overflow:visible!important;}
.page-tests .chapter-head{padding:0 4px 10px!important;}
.page-tests .chapter-no{font-size:10px!important;}
.page-tests .chapter h3{font-size:15px!important;font-weight:800!important;background:var(--blue-grad-horz)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;}
.page-tests .count{font-size:9px!important;padding:4px 8px!important;}
.page-tests .tests{border:0!important;padding:0!important;}
.page-tests .test-row{
  display:block!important;background:#fff!important;border:1px solid var(--border-card,#d1d5db)!important;border-radius:5px!important;
  padding:16px!important;margin-bottom:14px!important;transition:border-color .2s,transform .2s!important;
}
.page-tests .test-row:hover{transform:translateY(-2px)!important;border-color:var(--brand-blue)!important;}
.page-tests .test-row>div:first-child{position:relative!important;padding-right:48px!important;min-height:38px!important;margin-bottom:12px!important;}
.page-tests .test-row>div:first-child:after{
  content:'\f02d';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;right:0;top:0;width:36px;height:36px;
  border-radius:5px;background:#eaf4ff;color:var(--brand-blue);border:1px solid #bfdbfe;display:flex;align-items:center;justify-content:center;font-size:17px;
}
.page-tests .test-row b{font-size:15px!important;font-weight:800!important;background:var(--blue-grad-horz)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;}
.page-tests .test-meta{
  margin-top:10px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;
  background:#f9fafb!important;padding:10px 12px!important;border-radius:5px!important;border:1px solid #e5e7eb!important;color:var(--text-main)!important;
}
.page-tests .test-meta span{font-size:11px!important;font-weight:700!important;display:flex!important;align-items:center!important;gap:6px!important;}
.page-tests .test-meta i{background:var(--blue-grad-vert)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;}
.page-tests .test-actions{display:flex!important;gap:10px!important;margin-top:14px!important;}
.page-tests .test-actions .btn,.page-tests .test-actions .btn-outline{flex:1!important;height:45px!important;min-height:45px!important;padding:0!important;font-size:12px!important;font-weight:800!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;}
.page-tests .test-actions .btn-outline{background:transparent!important;color:var(--brand-blue)!important;border:1px solid var(--brand-blue)!important;border-radius:5px!important;transition:.2s!important;}
.page-tests .test-actions .btn-outline:hover{background:#e6f2ff!important;color:var(--brand-blue-dark)!important;border-color:var(--brand-blue-dark)!important;}
.page-tests .coming{font-size:11px!important;padding:14px!important;border-radius:5px!important;background:#fff!important;border:1px solid var(--border-card)!important;}
.page-tests .empty{border-radius:5px!important;padding:40px 20px!important;}
.page-tests .empty h3{font-size:13px!important;}
.page-tests .empty p{font-size:11px!important;}

/* Home icon tiles keep the same tactile shine from the original build. */
.page-home .quick-icon{
  position:relative!important;overflow:hidden!important;cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease!important;touch-action:manipulation;
}
.page-home .quick-icon:hover{transform:translateY(-2px)!important;box-shadow:var(--stt-shadow-hover)!important;}
.page-home .quick-icon:active{transform:translateY(1px) scale(.985)!important;box-shadow:var(--stt-shadow-press)!important;}
.page-home .quick-icon::after{display:none!important;content:none!important;animation:none!important}