/* Salus Forte — sistema visual editorial premium 2026 */
:root {
  --sf-navy-950:#031a35;
  --sf-navy-900:#062b55;
  --sf-navy-800:#083d73;
  --sf-blue-700:#0b5a9d;
  --sf-teal-700:#087985;
  --sf-teal-600:#0b8f9c;
  --sf-teal-100:#dff7f7;
  --sf-gold-500:#c9a84c;
  --sf-gold-100:#fbf5df;
  --sf-ink:#12263f;
  --sf-muted:#60748a;
  --sf-line:#dbe6f0;
  --sf-canvas:#f5f8fc;
  --sf-white:#fff;
  --sf-shadow-sm:0 10px 28px rgba(3,26,53,.07);
  --sf-shadow-md:0 18px 46px rgba(3,26,53,.11);
  --sf-shadow-lg:0 30px 80px rgba(3,26,53,.16);
  --sf-radius-sm:12px;
  --sf-radius-md:20px;
  --sf-radius-lg:30px;
  --sf-space-section:clamp(4rem,7vw,7rem);
  --primary:var(--sf-teal-600);
  --primary-dark:var(--sf-navy-900);
  --secondary:var(--sf-blue-700);
  --bg:var(--sf-canvas);
  --surface:var(--sf-white);
  --text:var(--sf-ink);
  --muted:var(--sf-muted);
  --line:var(--sf-line);
}

html{scroll-padding-top:116px}
body{background:var(--sf-canvas);color:var(--sf-ink);font-feature-settings:"kern" 1,"liga" 1}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.22;background-image:linear-gradient(30deg,transparent 48%,rgba(11,143,156,.08) 49% 51%,transparent 52%),radial-gradient(circle at 12px 12px,rgba(11,90,157,.14) 1.5px,transparent 2px);background-size:64px 54px}
::selection{background:var(--sf-teal-100);color:var(--sf-navy-950)}
:focus-visible{outline:3px solid var(--sf-gold-500)!important;outline-offset:3px}
a,button,input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}
button,.btn,input[type=submit]{min-height:44px}
img{height:auto}
.container{width:min(1240px,calc(100% - 2rem))}
.section{padding:var(--sf-space-section) 0}
.section--tight{padding:clamp(2rem,4vw,3.5rem) 0}
.section--soft{background:linear-gradient(180deg,#eef5fa 0%,#f8fbfe 100%);border-block:1px solid rgba(6,43,85,.06)}

h1,h2,h3,h4{color:var(--sf-navy-900);text-wrap:balance}
p{color:var(--sf-muted)}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .75rem;border:1px solid rgba(11,143,156,.18);border-radius:999px;background:rgba(223,247,247,.78);color:var(--sf-teal-700);font-size:.73rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sf-gold-500)}

.skip-link{background:var(--sf-navy-900);color:#fff}
.topbar{background:var(--sf-navy-950);border-bottom:1px solid rgba(255,255,255,.1)}
.topbar__inner{min-height:38px}
.topbar__promo{color:rgba(255,255,255,.9)}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(6,43,85,.1);box-shadow:0 8px 30px rgba(3,26,53,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header__inner{min-height:82px}
.brand img{max-width:176px}
.site-nav{gap:.2rem}
.site-nav a{position:relative;padding:.7rem .72rem;border-radius:10px;color:#35506b;font-size:.9rem;font-weight:750}
.site-nav a:hover,.site-nav a.is-active{background:#edf6fa;color:var(--sf-navy-900)}
.site-nav a.is-active::after{content:"";position:absolute;left:.72rem;right:.72rem;bottom:.35rem;height:2px;background:linear-gradient(90deg,var(--sf-teal-600),var(--sf-gold-500));border-radius:99px}
.site-search{border-color:var(--sf-line);background:#f8fbfe}
.site-header .site-search{display:none}
.site-search:focus-within{border-color:var(--sf-teal-600);box-shadow:0 0 0 4px rgba(11,143,156,.1)}
.legal-strip{background:#edf5fa;border-bottom:1px solid var(--sf-line);color:#526d85}

.btn{border-radius:12px;font-weight:850;letter-spacing:-.01em;box-shadow:none}
.btn--primary{border:1px solid var(--sf-teal-600);background:linear-gradient(135deg,var(--sf-teal-600),var(--sf-blue-700));color:#fff;box-shadow:0 10px 24px rgba(11,90,157,.19)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(11,90,157,.25);filter:saturate(1.08)}
.btn--ghost{border:1px solid #bdd0df;background:rgba(255,255,255,.88);color:var(--sf-navy-900)}
.btn--ghost:hover{border-color:var(--sf-teal-600);background:#eefafa;color:var(--sf-teal-700)}
.btn--danger{background:#b42318;color:#fff}

.page-hero,.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4.5rem,8vw,7.5rem) 0;background:linear-gradient(128deg,var(--sf-navy-950) 0%,var(--sf-navy-900) 52%,var(--sf-blue-700) 100%);color:#fff}
.page-hero::before,.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 82% 16%,rgba(11,143,156,.55),transparent 28%),radial-gradient(circle at 6% 110%,rgba(201,168,76,.2),transparent 26%)}
.page-hero::after,.hero::after{content:"";position:absolute;z-index:-1;right:-90px;top:-140px;width:420px;height:420px;border:1px solid rgba(255,255,255,.15);border-radius:42% 58% 63% 37%/37% 43% 57% 63%;box-shadow:0 0 0 26px rgba(11,143,156,.08),0 0 0 52px rgba(255,255,255,.04);transform:rotate(18deg)}
.page-hero h1,.page-hero h2,.hero h1,.hero h2{color:#fff;max-width:900px}
.page-hero p,.hero p{max-width:760px;color:rgba(255,255,255,.8);font-size:clamp(1rem,2vw,1.16rem)}
.page-hero .eyebrow,.hero .eyebrow{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff}
.page-hero--small{padding:clamp(3.25rem,6vw,5.25rem) 0}

.sf-hero{position:relative;isolation:isolate;overflow:hidden;min-height:0;padding:clamp(3.5rem,5vw,4.75rem) 0;background:linear-gradient(126deg,var(--sf-navy-950),var(--sf-navy-900) 52%,#075f83);color:#fff}
.sf-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 78% 24%,rgba(11,143,156,.52),transparent 30%),linear-gradient(120deg,transparent 60%,rgba(201,168,76,.11))}
.sf-hero::after{content:"";position:absolute;right:-140px;top:-180px;z-index:-1;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:transparent;box-shadow:0 0 0 36px rgba(11,143,156,.09),0 0 0 72px rgba(255,255,255,.035)}
.sf-hero__grid{min-height:500px;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}
.sf-hero h1{max-width:760px;color:#fff;font-size:clamp(2.7rem,4.8vw,4.3rem);letter-spacing:-.055em}
.sf-hero__highlight{color:#6edce1;background:none;-webkit-text-fill-color:initial}
.sf-hero__lead{max-width:690px;color:rgba(255,255,255,.82)!important;font-size:1.13rem}
.sf-hero__eyebrow{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.09);color:#fff}
.sf-hero__search{padding:.45rem;border:1px solid rgba(255,255,255,.32);background:#fff;box-shadow:var(--sf-shadow-lg)}
.sf-hero__search input{color:var(--sf-ink)}
.sf-hero__chips a{border-color:rgba(255,255,255,.2);color:#dcecf4;background:rgba(255,255,255,.07)}
.sf-hero__stats-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem}
.sf-hero__visual{position:relative;display:grid!important;grid-template-columns:1fr!important;gap:1rem!important;align-content:center}
.sf-hero__image{position:relative;overflow:hidden;margin:0 0 1rem;border:1px solid rgba(255,255,255,.2);border-radius:32px 32px 90px 32px;background:rgba(255,255,255,.08);box-shadow:0 30px 70px rgba(0,0,0,.24)}
.sf-hero__image::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(3,26,53,.48))}
.sf-hero__image img{width:100%;height:300px;object-fit:cover;object-position:center 30%}
.sf-hero__badge-cards{display:none!important}
.sf-hero__stat,.sf-hero__badge-card{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff;box-shadow:none;backdrop-filter:blur(10px)}
.sf-hero__stat strong,.sf-hero__badge-card strong{color:#fff!important}
.sf-hero__stat span,.sf-hero__badge-card span{color:rgba(255,255,255,.76)!important}
.sf-social-toast{display:none!important}
.sf-trust-strip{border:0;background:var(--sf-navy-950);color:#fff}
.sf-trust-badge{color:rgba(255,255,255,.8)}
.sf-trust-badge__icon{color:#6edce1}

.panel,.course-card,.testimonial-card,.commercial-card,.auth-card,.verify-card,.student-widget,.student-mini-card{border:1px solid var(--sf-line);background:rgba(255,255,255,.97);border-radius:var(--sf-radius-md);box-shadow:var(--sf-shadow-sm)}
.panel{padding:clamp(1.25rem,3vw,2rem)}
.panel--soft{background:linear-gradient(145deg,#fff,#f0f7fb)}
.panel:hover,.testimonial-card:hover{border-color:#bfd7e3}
.feature-list>div,.check-list li{border-color:var(--sf-line)}

.sf-course-tile,.course-card{position:relative;overflow:hidden;border-color:var(--sf-line);box-shadow:var(--sf-shadow-sm)}
.sf-course-tile::after,.course-card::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--sf-teal-600),var(--sf-blue-700),var(--sf-gold-500))}
.sf-course-tile:hover,.course-card:hover{transform:translateY(-6px);box-shadow:var(--sf-shadow-md);border-color:#afccd9}
.sf-course-tile__media img,.course-card__media img{transition:transform .5s ease}
.sf-course-tile:hover img,.course-card:hover .course-card__media img{transform:scale(1.035)}
.sf-course-tile__badge,.course-card__overlay-badge{background:rgba(3,26,53,.9)!important;color:#fff!important;backdrop-filter:blur(8px)}
.course-card__price-block strong,.sf-course-tile__price strong{color:var(--sf-teal-700)}
.course-card__pro-row span,.course-card__themes span{background:#eef6fa;color:var(--sf-navy-800);border-color:#d5e5ef}
.catalog-filters{border:1px solid var(--sf-line);border-top:4px solid var(--sf-teal-600);box-shadow:var(--sf-shadow-md)}
.catalog-highlight{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(10px)}
.catalog-highlight strong{color:#fff}
.catalog-highlight p{color:rgba(255,255,255,.76)}

input,select,textarea{width:100%;min-height:46px;border:1px solid #cbdbe7;border-radius:11px;background:#fff;color:var(--sf-ink);padding:.75rem .85rem}
textarea{min-height:120px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:#9bb8ca}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--sf-teal-600);box-shadow:0 0 0 4px rgba(11,143,156,.11)}
label>span{display:block;margin-bottom:.38rem;color:#29465f;font-size:.86rem;font-weight:800}
.form-stack{gap:1rem}
.flash,.notice{border-radius:14px;border-width:1px}
.notice--info{background:#eef7fb;border-color:#c7e0eb;color:var(--sf-navy-800)}
.notice--success{background:#edf9f5;border-color:#bee5d8}
.notice--warning{background:#fff9e9;border-color:#ead89e}
.notice--error,.notice--danger{background:#fff0ef;border-color:#efc3bf}

.body--auth-v33{background:linear-gradient(128deg,var(--sf-navy-950),var(--sf-navy-900) 52%,#075f83)}
.body--auth-v33 .auth-shell{padding:clamp(3rem,7vw,6rem) 0}
.body--auth-v33 .auth-card{position:relative;overflow:hidden;max-width:560px;border:1px solid rgba(255,255,255,.5);border-radius:28px;box-shadow:var(--sf-shadow-lg)}
.body--auth-v33 .auth-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--sf-teal-600),var(--sf-gold-500),var(--sf-blue-700))}
.body--auth-v33 .auth-card h1{color:var(--sf-navy-900)}

.verify-stage-grid,.verify-search-grid{gap:1.25rem}
.page-hero .verify-hero__badge{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,247,251,.96))!important;color:var(--sf-navy-950)!important;border-top:3px solid var(--sf-gold-500)!important}
.page-hero .verify-hero__badge strong{display:block;color:var(--sf-navy-950)!important;font-size:1.35rem;line-height:1.2;margin-bottom:.75rem}
.page-hero .verify-hero__badge p{color:var(--sf-slate-600)!important;margin:0!important;font-size:1rem!important;line-height:1.75!important}
.body--verify-modern .verify-card,.body--verify-modern .panel{border-radius:24px}
.body--verify-modern .qr-box{border:8px solid #fff;box-shadow:0 0 0 1px var(--sf-line),var(--sf-shadow-sm)}
.badge--success{background:#e8f8f3;color:#08755b}
.badge--warning{background:#fff5d8;color:#8a6400}
.badge--danger{background:#ffebe9;color:#a1281f}

.student-app-hero{background:linear-gradient(128deg,var(--sf-navy-950),var(--sf-navy-900) 58%,var(--sf-blue-700))}
.student-metric,.student-course-card,.student-next-card{border-color:var(--sf-line);box-shadow:var(--sf-shadow-sm)}
.student-course-card{border-radius:24px}
.student-metric strong,.student-course-card h3,.student-widget h2{color:var(--sf-navy-900)}
.progress-inline__bar span,.sf-progressbar span{background:linear-gradient(90deg,var(--sf-teal-600),var(--sf-blue-700))}

.table-wrap{border:1px solid var(--sf-line);border-radius:18px;box-shadow:var(--sf-shadow-sm)}
.data-table thead th{background:#edf4f9;color:var(--sf-navy-900)}
.data-table tbody tr:hover{background:#f6fafc}
.admin-direct-approval{min-width:min(100%,360px)}
.admin-direct-approval>summary{list-style:none;cursor:pointer}
.admin-direct-approval>summary::-webkit-details-marker{display:none}
.admin-direct-approval[open]>summary{margin-bottom:.7rem}
.admin-direct-approval form{padding:.85rem;border:1px solid var(--sf-line);border-radius:14px;background:#f7fbfd;box-shadow:var(--sf-shadow-sm)}
.admin-direct-approval form label{display:grid;gap:.35rem;text-align:left}
.admin-direct-approval form small{display:block;max-width:34ch;line-height:1.45}
.empty-state{border:1px dashed #aac5d5;background:linear-gradient(145deg,#fff,#f2f8fb);border-radius:22px}

.site-footer{position:relative;overflow:hidden;background:var(--sf-navy-950);color:#fff}
.site-footer::before{content:"";position:absolute;right:-160px;top:-240px;width:540px;height:540px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 40px rgba(11,143,156,.05)}
.site-footer h4{color:#fff}
.site-footer p,.site-footer li,.site-footer a{color:rgba(255,255,255,.72)}
.site-footer a:hover{color:#7ee0e5}
.legal-panel--footer{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.05)}
.footer-copy{border-top-color:rgba(255,255,255,.1)}
.floating-wa{box-shadow:0 14px 35px rgba(3,26,53,.28)}

.admin-dashboard-body{--admin-navy:var(--sf-navy-900);--admin-green:var(--sf-teal-600);--admin-line:var(--sf-line);background:#f3f7fb}
.admin-dashboard-body .admin-sidebar{background:var(--sf-navy-950)}
.admin-dashboard-body .admin-main-header{border-bottom-color:var(--sf-line);box-shadow:0 8px 25px rgba(3,26,53,.06)}
.admin-dashboard-body .admin-section,.admin-dashboard-body .panel{border-color:var(--sf-line);border-radius:20px!important;box-shadow:var(--sf-shadow-sm)}
.admin-dashboard-body .eyebrow{background:var(--sf-teal-100);color:var(--sf-teal-700)}
.admin-dashboard-body .eyebrow::before{display:none}
.admin-dashboard-body .sf-command-hero{background:linear-gradient(128deg,var(--sf-navy-950),var(--sf-navy-900) 60%,var(--sf-blue-700))}
.admin-dashboard-body .sf-command-module,.admin-dashboard-body .sf-command-panel,.admin-dashboard-body .sf-command-kpi{border-color:var(--sf-line);box-shadow:var(--sf-shadow-sm)}

@media (max-width:1080px){
  .site-menu-toggle{display:inline-flex!important}
  .site-menu-panel[hidden]{display:none!important}
  .site-menu-panel:not([hidden]){display:block!important;position:fixed;inset:120px 1rem auto;padding:1rem;border:1px solid var(--sf-line);border-radius:20px;background:#fff;box-shadow:var(--sf-shadow-lg);max-height:calc(100vh - 140px);overflow:auto}
  .site-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-nav a{padding:.85rem}
  .sf-hero__grid{display:grid!important;grid-template-columns:1fr!important;min-height:0}
  .sf-hero__copy{order:1!important}
  .sf-hero__visual{order:2!important}
  .sf-hero__visual{max-width:720px}
  .ai-widget{display:none!important}
}
@media (max-width:768px){
  :root{--sf-space-section:3.5rem}
  .container{width:min(100% - 1.25rem,1240px)}
  .topbar__inner{min-height:40px!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:.45rem!important;padding:.35rem 2.1rem .35rem 0!important}
  .topbar__promo{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .topbar__promo strong{display:none}
  .topbar__close{position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%)!important;width:30px!important;height:30px!important;margin:0!important;padding:0!important}
  .site-header__inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:.75rem!important;min-height:74px}
  .brand img{max-width:145px}
  .site-menu-panel{inset:108px .65rem auto}
  .site-nav{grid-template-columns:1fr}
  .site-actions{display:grid;grid-template-columns:1fr 1fr}
  .site-actions .btn,.site-actions form,.site-actions form .btn{width:100%}
  .sf-hero{min-height:0;padding:4rem 0}
  .sf-hero h1{font-size:clamp(2.55rem,11vw,3.6rem)}
  .sf-hero__search{display:grid;grid-template-columns:1fr}
  .sf-hero__search-icon{display:none}
  .sf-hero__stats-grid{grid-template-columns:repeat(2,1fr)}
  .sf-hero__actions,.hero__actions,.toolbar-right{display:grid;grid-template-columns:1fr}
  .sf-hero__actions .btn,.hero__actions .btn,.toolbar-right .btn{width:100%;justify-content:center}
  .page-hero{padding:3.5rem 0}
  .form-grid--2,.form-row,.two-column,.two-column--wide{grid-template-columns:1fr}
  .course-grid{grid-template-columns:1fr}
  .data-table thead{display:none}
  .data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}
  .data-table tr{padding:.8rem;border-bottom:1px solid var(--sf-line)}
  .data-table td{display:grid;grid-template-columns:minmax(105px,.42fr) 1fr;gap:.75rem;border:0;padding:.45rem}
  .data-table td::before{content:attr(data-label);font-weight:850;color:var(--sf-navy-900)}
  .sf-mobile-cta{background:rgba(255,255,255,.96);border-top:1px solid var(--sf-line);box-shadow:0 -8px 30px rgba(3,26,53,.09);backdrop-filter:blur(12px)}
  .floating-wa{display:none!important}
}
@media (max-width:430px){
  .sf-hero__stats-grid{grid-template-columns:1fr 1fr}
  .sf-hero__stat{padding:.85rem}
  .sf-hero__stat strong{font-size:1.35rem}
  .panel,.auth-card{padding:1rem}
  .footer-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .sf-animate{opacity:1!important;transform:none!important}
}
@media print{
  .site-header,.site-footer,.topbar,.legal-strip,.floating-wa,.sf-mobile-cta,.sf-back-to-top{display:none!important}
  body{background:#fff}
}
