
/* ThreatShield V15.4.18 — platform density standard.
   Presentation only. Keeps customer-facing panels, headings and controls on a consistent compact scale.
   No security, payment, entitlement, scanner, signalling or enforcement logic. */

:root{
  --ts-ui-panel-radius:11px;
  --ts-ui-panel-pad:.85rem;
  --ts-ui-gap:.7rem;
}

/* Shared customer-facing panels */
.card,.notice,.form-card,.dashboard-card,
.basic-scan-panel,.basic-results,.basic-result-card,.basic-package-badge,
.home-service-card,.home-basket,
.psc-hero,.psc-call-card,.psc-notice,.psc-safety,.psc-history{
  border-radius:var(--ts-ui-panel-radius)!important;
}

/* Dashboard / account density */
.dashboard-main{padding-top:1.55rem!important;padding-bottom:2.75rem!important}
.dashboard-grid{gap:.8rem!important}
.dashboard-card{padding:1rem!important}
.dashboard-card h2,.dashboard-card h3{font-size:1rem!important;line-height:1.15!important;margin-bottom:.45rem!important}
.dashboard-card p,.dashboard-card li{font-size:.82rem;line-height:1.42}
.dashboard-header{padding:.65rem 0!important}
.dashboard-nav{min-height:44px}

/* Basic Shield */
.basic-main{padding-top:1.15rem!important;padding-bottom:2.2rem!important}
.basic-title-row{gap:.9rem!important}
.basic-title-row h1{font-size:clamp(1.65rem,3.2vw,2.35rem)!important;margin-bottom:.4rem!important}
.basic-lede{font-size:.86rem!important;line-height:1.42!important}
.basic-package-badge{padding:.6rem .75rem!important;border-radius:10px!important}
.basic-scan-panel{gap:.8rem!important;margin-top:.8rem!important;padding:.85rem!important;border-radius:11px!important}
.basic-scan-copy h2,.basic-result-head h2{font-size:1.12rem!important;line-height:1.15!important}
.basic-scan-copy p,.basic-result-summary{font-size:.78rem!important;line-height:1.4!important}
.basic-results{margin-top:.75rem!important;padding:.85rem!important;border-radius:11px!important}
.basic-result-grid{gap:.55rem!important}
.basic-result-card{padding:.68rem!important;border-radius:9px!important}
.basic-result-card h3{font-size:.88rem!important}

/* Storefront/service cards: keep hierarchy but avoid oversized blocks */
.home-services-section{padding-top:1.35rem!important;padding-bottom:1.65rem!important}
.home-section-intro{margin-bottom:.65rem!important}
.home-section-intro h2{font-size:clamp(1.3rem,2.2vw,1.7rem)!important;line-height:1.1!important}
.home-service-grid{gap:.55rem!important}
.home-service-card{padding:.7rem!important;border-radius:10px!important}
.home-service-head h3{font-size:.94rem!important;line-height:1.15!important}
.home-service-description{font-size:.74rem!important;line-height:1.36!important}
.home-basket{padding:.75rem!important;border-radius:11px!important}

/* Forms/auth: compact but readable */
.auth-page{padding:1.25rem 0!important}
.form-card{padding:1.15rem!important}
.form-card h1,.form-card h2{font-size:1.35rem!important;line-height:1.15!important}
label{font-size:.82rem}
input,textarea,select{padding:.68rem .78rem}

/* General tables/buttons */
.button,button{min-height:40px;padding:.55rem .85rem;border-radius:8px}
.button.small{min-height:34px;padding:.38rem .68rem}
table{font-size:.84rem}
th,td{padding:.52rem}

/* Professional call / secure call: retain its compact design, standardise panel radii */
.psc-hero,.psc-call-card,.psc-notice,.psc-safety,.psc-history{border-radius:9px!important}
.psc-hero h1{font-size:1.05rem!important}
.psc-safety h2,.psc-history-heading h2{font-size:.78rem!important}

/* Legal pages stay readable rather than dashboard-dense. */
body:not(.auth-page) main.section h1{font-size:clamp(1.8rem,4vw,2.7rem);max-width:none}

@media(max-width:800px){
  .dashboard-main{padding-top:1rem!important}
  .basic-title-row{grid-template-columns:1fr!important}
  .basic-package-badge{text-align:left!important;min-width:0!important}
}

/* 2026-09-30 dashboard density refinement — presentation only.
   No application, service, payment, scan, entitlement, API or account logic changed. */
.basic-main{padding-top:.72rem!important;padding-bottom:1.8rem!important}
.basic-title-row{margin-bottom:.45rem!important;gap:.45rem!important}
.basic-title-row h1{font-size:clamp(1.35rem,2.35vw,1.82rem)!important;line-height:1.08!important;margin:0 0 .18rem!important}
.basic-lede{font-size:.78rem!important;line-height:1.3!important;margin:0!important}

/* Active services: preserve two-column layout while removing excess vertical air. */
#services.service-panel{padding:.58rem .68rem!important;margin:.45rem 0 .58rem!important}
#services .service-panel-heading{margin-bottom:.3rem!important;gap:.5rem!important;align-items:center!important}
#services .service-panel-heading p{margin:.1rem 0!important;font-size:.72rem!important;line-height:1.25!important}
#services .service-panel-title{font-size:.9rem!important;line-height:1.12!important;margin:0 0 .08rem!important}
#services .service-panel-heading .button{min-height:32px!important;padding:.38rem .62rem!important;font-size:.72rem!important}
#services .service-catalog{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.28rem .42rem!important}
#services .service-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:.45rem!important;padding:.38rem .5rem!important;min-height:0!important;border-radius:6px!important}
#services .service-card h2{font-size:.79rem!important;line-height:1.1!important;margin:0 0 .06rem!important}
#services .service-card p,#services .service-state{font-size:.66rem!important;line-height:1.2!important;margin:0!important}
#services .service-choices{display:block!important;min-width:max-content!important}
#services .service-open{font-size:.68rem!important;line-height:1.15!important;white-space:nowrap!important}

/* Purchase history: compact viewport, same rows/actions/data. */
#services .service-orders{margin-top:.42rem!important;padding:.45rem .52rem!important}
#services .service-orders>h2{font-size:.8rem!important;line-height:1.1!important;margin:0 0 .2rem!important}
#services .service-history-scroll{max-height:150px!important}
#services .service-orders table{font-size:.67rem!important;line-height:1.2!important}
#services .service-orders th,#services .service-orders td{padding:.25rem .34rem!important}
#services .service-orders button{min-height:26px!important;padding:.22rem .4rem!important;font-size:.65rem!important}
#services .history-more{padding:.35rem 0!important;font-size:.68rem!important}

/* Main dashboard panels: closer vertical rhythm without shrinking controls excessively. */
.basic-howto{margin-top:.5rem!important;margin-bottom:.5rem!important;padding:.58rem .7rem!important}
.basic-scan-panel{margin-top:.5rem!important;padding:.65rem .72rem!important;gap:.62rem!important}
.basic-scan-copy h2{font-size:.96rem!important;margin-bottom:.18rem!important}
.basic-scan-copy p{font-size:.72rem!important;line-height:1.32!important;margin:.15rem 0!important}

@media(max-width:800px){
  .basic-title-row h1{font-size:1.45rem!important}
  #services .service-catalog{grid-template-columns:1fr!important}
  #services .service-card{grid-template-columns:minmax(0,1fr) auto!important}
  #services .service-history-scroll{max-height:210px!important}
}

/* 2026-09-30 individual service density refinement — presentation only.
   No scanner, upload, history, database, API, payment, entitlement or account behaviour. */

/* File and image scanner panels: retain all controls/content, remove excess vertical air. */
.basic-file-scan,
.basic-image-scan{
  padding:.62rem .72rem!important;
  margin-top:.5rem!important;
  margin-bottom:.5rem!important;
}
.basic-file-scan .eyebrow,
.basic-image-scan .eyebrow{margin:0 0 .16rem!important;font-size:.68rem!important;line-height:1.15!important}
.basic-file-scan h2,
.basic-image-scan h2{margin:0 0 .14rem!important;font-size:.92rem!important;line-height:1.15!important}
.basic-file-scan>div:first-child .muted,
.basic-image-scan>div:first-child .muted{margin:.08rem 0 .42rem!important;font-size:.7rem!important;line-height:1.3!important}
.basic-file-scan form,
.basic-image-scan form{gap:.38rem!important;margin:.25rem 0!important}
.basic-file-scan form label,
.basic-image-scan form label,
.basic-image-file-field>span{font-size:.7rem!important;line-height:1.25!important}
.basic-file-scan input[type="file"],
.basic-image-file-control{min-height:34px!important;padding:.25rem .38rem!important}
.basic-file-scan form>button,
.basic-image-scan form>button{min-height:32px!important;padding:.38rem .62rem!important;font-size:.7rem!important}
.basic-image-consent{margin:.2rem 0!important;font-size:.66rem!important;line-height:1.28!important}
.basic-file-scan-scope,
.basic-image-scan-scope{margin:.38rem 0!important;padding:.32rem 0!important;font-size:.65rem!important;line-height:1.28!important}
.basic-file-scan-history,
.basic-image-scan-history{margin-top:.35rem!important;padding-top:.35rem!important}
.basic-file-scan-history h3,
.basic-image-scan-history h3{margin:0 0 .25rem!important;font-size:.72rem!important;line-height:1.15!important}
.basic-file-scan-history article,
.basic-image-scan-history article{padding:.3rem .38rem!important;min-height:0!important;font-size:.66rem!important;line-height:1.2!important}
.basic-image-scan-history-head{padding:.28rem .38rem!important;font-size:.64rem!important;line-height:1.15!important}
.basic-image-scan-actions button,
.basic-file-scan-delete{min-height:26px!important;padding:.2rem .4rem!important;font-size:.62rem!important}

/* Security History: same records and scrolling, denser heading/table rhythm. */
.basic-history{padding:.62rem .72rem!important;margin-top:.5rem!important;margin-bottom:.5rem!important}
.basic-history-head{margin-bottom:.34rem!important;gap:.55rem!important}
.basic-history-head .eyebrow{margin:0 0 .12rem!important;font-size:.66rem!important}
.basic-history-head h2{margin:0 0 .12rem!important;font-size:.92rem!important;line-height:1.15!important}
.basic-history-head p{margin:0!important;font-size:.68rem!important;line-height:1.28!important}
.basic-history-retention{padding:.2rem .45rem!important;font-size:.62rem!important}
.basic-history-table{font-size:.67rem!important;line-height:1.18!important}
.basic-history-table th,
.basic-history-table td{padding:.32rem .42rem!important}
.basic-history-table-wrap{max-height:180px!important}

/* Service scope: supporting information should stay compact. */
.basic-foundation{padding:.55rem .65rem!important;margin-top:.5rem!important;margin-bottom:.5rem!important}
.basic-foundation h2{margin:0 0 .32rem!important;font-size:.76rem!important;line-height:1.15!important}
.basic-foundation-grid{gap:.38rem!important}
.basic-foundation-grid>*{padding:.42rem .5rem!important;min-height:0!important}
.basic-foundation-grid strong{font-size:.66rem!important;line-height:1.15!important}
.basic-foundation-grid span{font-size:.62rem!important;line-height:1.23!important}

/* Additional URL checks: preserve two tools, controls and results while reducing empty height. */
.basic-url-checks{padding:.5rem .58rem!important;margin-top:.5rem!important;margin-bottom:.5rem!important}
.basic-url-checks-title{margin:0 0 .3rem!important;font-size:.76rem!important;line-height:1.15!important}
.basic-url-checks .legacy-tools{gap:.45rem!important}
.basic-url-checks .legacy-tools .dashboard-card{padding:.5rem .56rem!important}
.basic-url-checks .legacy-tools .dashboard-card h2{margin:.16rem 0 .12rem!important;font-size:.82rem!important;line-height:1.15!important}
.basic-url-checks .legacy-tools .dashboard-card .muted{margin:.08rem 0 .28rem!important;font-size:.66rem!important;line-height:1.28!important}
.basic-url-checks .legacy-tools .dashboard-card .tag{font-size:.58rem!important;padding:.12rem .32rem!important}
.basic-url-checks .legacy-tools .tool-form label{font-size:.65rem!important;line-height:1.2!important}
.basic-url-checks .legacy-tools .tool-form input{min-height:32px!important;padding:.35rem .48rem!important;margin-top:.14rem!important}
.basic-url-checks .legacy-tools .tool-form p{margin:.25rem 0 0!important}
.basic-url-checks .legacy-tools .tool-form button{min-height:30px!important;padding:.32rem .55rem!important;font-size:.66rem!important}

@media(max-width:800px){
  .basic-file-scan,.basic-image-scan,.basic-history,.basic-foundation,.basic-url-checks{padding:.62rem!important}
  .basic-history-table-wrap{max-height:220px!important}
}
