/* ThreatShield AI V0.1.6.8 — premium density refinement.
   Presentation only for the storefront/dashboard, plus Sign up page styling.
   Checkout, prices, entitlements, scanners and service logic are untouched. */

/* ---------- Public storefront: tighter premium rhythm ---------- */
.home-hero{padding:2rem 0 1.55rem!important}
.home-hero .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr);gap:1.25rem!important;align-items:center}
.home-hero h1{max-width:14ch!important;margin:0 0 .65rem!important;font-size:clamp(2rem,4.2vw,3.35rem)!important;line-height:.98!important;letter-spacing:-.045em}
.home-hero .lede{max-width:58ch;margin:0!important;font-size:.94rem;line-height:1.5}
.home-hero .actions{margin-top:.9rem;gap:.6rem}
.home-hero .button{min-height:40px;padding:.55rem .9rem;border-radius:9px}
.home-beta-notice{padding:.9rem 1rem!important;border-radius:13px!important}
.home-beta-notice strong{font-size:.82rem}
.home-beta-notice p{margin:.3rem 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}

.home-services-section{padding:1.65rem 0 2rem!important}
.home-section-intro{max-width:700px;margin-bottom:.8rem!important}
.home-section-intro .eyebrow{margin-bottom:.18rem;font-size:.62rem}
.home-section-intro h2{margin:0 0 .28rem;font-size:clamp(1.45rem,2.5vw,1.95rem);letter-spacing:-.03em}
.home-section-intro p{margin:0;font-size:.82rem;line-height:1.45}
.home-message{margin-bottom:.65rem!important;padding:.55rem .7rem!important;font-size:.78rem}
.home-store-layout{grid-template-columns:minmax(0,1fr) 305px!important;gap:.75rem!important}
.home-service-grid{gap:.6rem!important}
.home-service-card{padding:.78rem!important;border-radius:12px!important;box-shadow:0 7px 22px rgba(0,0,0,.10)!important}
.home-service-head{gap:.6rem!important}
.home-service-kicker{font-size:.56rem!important;letter-spacing:.09em!important}
.home-service-head h3{margin:.08rem 0 0!important;font-size:1rem!important}
.home-price-badge{padding:.2rem .42rem!important;font-size:.62rem!important}
.home-service-description{min-height:0!important;margin:.42rem 0 .35rem!important;font-size:.76rem!important;line-height:1.42!important}
.home-service-price{margin:.28rem 0 .42rem!important;font-size:.7rem!important;line-height:1.35!important}
.home-service-controls{gap:.5rem!important}
.home-service-controls label{font-size:.7rem!important}
.home-service-controls select{min-height:35px!important;margin-top:.2rem!important;padding:.38rem .48rem!important;font-size:.74rem!important}
.home-service-select{min-height:35px!important;padding:.38rem .48rem!important;font-size:.74rem!important;border-radius:8px!important}
.home-service-select input{width:15px!important;height:15px!important}
.home-basket{top:74px!important;padding:.85rem!important;border-radius:13px!important;box-shadow:0 10px 32px rgba(0,0,0,.16)!important}
.home-basket-top .eyebrow{font-size:.58rem!important}
.home-basket-top h3{margin:.08rem 0 .22rem!important;font-size:1.12rem!important}
.home-basket-top p:last-child{font-size:.72rem!important;line-height:1.4!important}
.home-basket-lines{margin:.6rem 0!important;padding-left:1rem!important;font-size:.74rem!important;line-height:1.35!important}
.home-basket-lines li{margin:.28rem 0!important}
.home-bonus,.home-trial-note{margin:.45rem 0!important;padding:.42rem .5rem!important;font-size:.68rem!important}
.home-total{margin:.6rem 0 .45rem!important;padding-top:.5rem!important;font-size:.88rem!important}
.home-total strong{font-size:1.2rem!important}
.home-renewal{margin:.4rem 0 .5rem!important;padding:.5rem!important}
.home-renewal legend{font-size:.65rem!important}
.home-renewal label{margin:.24rem 0!important;font-size:.72rem!important}
.home-basket button{min-height:39px!important;padding:.5rem .7rem!important;font-size:.78rem!important}
.home-account-note{margin:.5rem 0 0!important;font-size:.66rem!important;line-height:1.4!important}
.site-footer{padding:1.15rem 0!important;font-size:.75rem}

/* ---------- Sign in / Sign up ---------- */
.beta-auth-switch{margin:.8rem 0 0;text-align:center;color:var(--muted);font-size:.8rem}
.beta-auth-switch a{font-weight:800}
.signup-page .beta-login-wrap{width:min(520px,calc(100% - 1rem))}
.signup-page .signup-terms{display:flex;align-items:flex-start;gap:.55rem;margin:.1rem 0;color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.4}
.signup-page .signup-terms input{flex:0 0 auto;width:16px;height:16px;min-height:0;margin:.12rem 0 0;padding:0;accent-color:var(--cyan)}
.signup-page .signup-terms a{text-decoration:underline}

/* ---------- Account dashboard: roughly half the previous vertical footprint ---------- */
.basic-main{width:min(1180px,calc(100% - 1rem))!important;padding:.7rem 0 1.2rem!important}
.basic-title-row{margin:0 0 .45rem!important;gap:.5rem!important}
.basic-title-row h1{margin:0!important;font-size:1.28rem!important;line-height:1.04!important;letter-spacing:-.02em!important}
.basic-title-row .basic-lede{margin:.18rem 0 0!important;font-size:.7rem!important;line-height:1.3!important}

#services.service-page.service-panel{margin:0 0 .48rem!important;padding:.62rem!important;border:1px solid #d7e2de;border-radius:10px;background:#f8fbfa!important}
#services .service-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0 0 .45rem!important}
#services .service-panel-heading>div{min-width:0}
#services .service-panel-title{margin:0!important;font-size:.94rem!important}
#services .service-panel-heading p{margin:.08rem 0 0!important;font-size:.67rem!important;line-height:1.25!important}
#services .service-panel-heading>p{margin:0!important}
#services .service-panel-heading .button{min-height:32px;padding:.38rem .6rem;font-size:.68rem;border-radius:7px}
#services .service-message{margin:.35rem 0!important;padding:.45rem .55rem!important;font-size:.68rem!important}
#services .service-catalog{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem!important}
#services .service-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:.55rem!important;padding:.48rem .58rem!important;border-radius:8px!important}
#services .service-card h2{margin:0 0 .12rem!important;font-size:.82rem!important;line-height:1.1!important}
#services .service-state{margin:0!important;font-size:.63rem!important;line-height:1.25!important;color:#65736e!important}
#services .service-choices{display:block!important;font-size:.66rem!important}
#services .service-open{white-space:nowrap;font-size:.66rem!important;font-weight:800!important}
#services .service-orders{margin-top:.45rem!important;padding:.5rem .58rem!important;border-radius:8px!important}
#services .service-orders h2{margin:0 0 .25rem!important;font-size:.82rem!important}
#services .service-history-scroll{max-height:135px!important;overflow:auto!important}
#services table{font-size:.65rem!important}
#services th,#services td{padding:.3rem .36rem!important;line-height:1.22!important}
#services td button{padding:.25rem .4rem!important;font-size:.62rem!important;min-height:0!important}
#services .history-more{display:inline-block;margin-top:.3rem;font-size:.65rem}

.basic-howto,.basic-scan-panel,.basic-file-scan,.basic-image-scan,.basic-monitoring,.basic-trend,.basic-alerts,.basic-history,.basic-foundation{margin-top:.48rem!important;padding:.62rem .72rem!important;border-radius:9px!important;box-shadow:0 3px 12px rgba(25,56,46,.04)!important}
.basic-howto summary{min-height:30px!important;padding:.1rem 0!important;font-size:.72rem!important}
.basic-howto summary small{font-size:.62rem!important}
.basic-howto-body{padding-top:.45rem!important}
.basic-howto-body ol{gap:.32rem!important}
.basic-howto-body li{padding:.38rem .45rem!important;font-size:.68rem!important}

.basic-scan-panel{grid-template-columns:minmax(0,.9fr) minmax(360px,1.4fr)!important;gap:.65rem!important;align-items:end!important}
.basic-scan-panel h2,.basic-file-scan h2,.basic-image-scan h2,.basic-monitoring h2,.basic-trend h2,.basic-alerts h2,.basic-history h2,.basic-foundation h2{margin:0 0 .16rem!important;font-size:.88rem!important;line-height:1.1!important}
.basic-scan-panel p,.basic-file-scan p,.basic-image-scan p,.basic-monitoring p,.basic-trend p,.basic-alerts p,.basic-history p,.basic-foundation p{font-size:.64rem!important;line-height:1.35!important}
.basic-scan-form{gap:.45rem!important}
.basic-scan-form input,.basic-file-scan input,.basic-image-scan input,.basic-monitoring input,.basic-main select,.basic-main textarea{min-height:34px!important;padding:.38rem .48rem!important;font-size:.7rem!important}
.basic-main button,.basic-main .button,.basic-main .secondary{min-height:32px!important;padding:.36rem .55rem!important;font-size:.68rem!important;border-radius:7px!important}

.basic-file-scan form,.basic-image-scan form{margin-top:.38rem!important}
.basic-file-scan-history,.basic-image-scan-history{max-height:145px;overflow:auto}
.basic-file-scan-history article,.basic-image-scan-history article{padding:.38rem 0!important}
.basic-file-scan-result,.basic-image-scan-result{padding:.48rem!important;font-size:.66rem!important}
.basic-monitoring-form{gap:.42rem!important;margin-top:.4rem!important}
.basic-monitoring-meta{margin-top:.42rem!important;padding:.42rem!important}
.basic-site-row{padding:.4rem!important}
.basic-trend-metrics{gap:.38rem!important;margin-top:.42rem!important}
.basic-trend-metrics span{padding:.4rem!important;font-size:.66rem!important}
.basic-trend-recurring{margin-top:.4rem!important;padding:.4rem!important}
.basic-email-alerts{margin-top:.4rem!important;padding:.45rem!important}
.basic-alerts-list{max-height:160px!important;margin-top:.4rem!important;gap:.32rem!important}
.basic-alert-item{padding:.42rem!important}
.basic-history-table-wrap{max-height:170px!important;overflow:auto!important}
.basic-history-table th,.basic-history-table td{padding:.34rem!important;font-size:.64rem!important}
.basic-foundation-grid{gap:.38rem!important}
.basic-foundation article{padding:.42rem!important}
.basic-foundation strong{font-size:.68rem!important}
.basic-foundation span{font-size:.61rem!important}

@media(max-width:980px){
  .home-hero .hero-grid{grid-template-columns:1fr!important}
  .home-store-layout{grid-template-columns:1fr!important}
  .home-basket{position:static!important}
}
@media(max-width:760px){
  .home-hero{padding:1.25rem 0 1rem!important}
  .home-hero h1{font-size:2rem!important}
  .home-service-grid{grid-template-columns:1fr!important}
  .home-service-card{padding:.72rem!important}
  #services .service-catalog{grid-template-columns:1fr!important}
  .basic-scan-panel{grid-template-columns:1fr!important}
  .basic-main{width:min(100%,calc(100% - .6rem))!important}
}
@media(max-width:560px){
  .home-services-section{padding-top:1.1rem!important}
  .home-service-controls{grid-template-columns:1fr!important}
  #services .service-panel-heading{align-items:flex-start;flex-direction:column}
  #services .service-panel-heading>p{width:100%}
  #services .service-panel-heading .button{width:100%;text-align:center}
  .basic-title-row h1{font-size:1.16rem!important}
}
