/* Shared visual language. Route visibility and application behavior stay owned by their modules. */
html.ecf-refresh{color-scheme:light;scroll-behavior:auto;--ink:#14243c;--muted:#596779;--line:#e0e6ed;--soft:#f5f7fa;--blue:#1748e8;--navy:#10234a;--green:#287a24;--shadow:0 8px 28px #14243c0a;--ecf-ink:#14243c;--ecf-muted:#596779;--ecf-line:#e0e6ed;--ecf-shadow-md:0 8px 28px #14243c0a}
html.ecf-refresh body{font-family:Manrope,sans-serif;color:var(--ink);background:#f7f9fc;font-size:16px;line-height:1.6}
html.ecf-refresh :is(h1,h2,h3){font-family:Manrope,sans-serif;letter-spacing:-.035em;line-height:1.2;text-wrap:balance}
html.ecf-refresh h2{font-size:clamp(23px,2.2vw,30px)}
html.ecf-refresh h3{font-size:19px}
html.ecf-refresh :is(input,select,textarea){font-family:inherit;font-size:16px;color:#14243c;max-width:100%;border-radius:10px}
html.ecf-refresh :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-height:48px}
html.ecf-refresh input::placeholder,html.ecf-refresh textarea::placeholder{color:#68778b;opacity:1}
html.ecf-refresh :is(button,a,input,select,textarea):focus-visible{outline:3px solid #1748e8;outline-offset:3px}
html.ecf-refresh button{font-family:inherit}
html.ecf-refresh button:disabled{cursor:default;opacity:.65}
html.ecf-refresh :is(.btn,.one-click-button,.load-more-jobs){min-height:48px;border-radius:10px;font-size:14px;font-weight:800;box-shadow:none;transition:background-color .15s,border-color .15s}
html.ecf-refresh :is(.btn.blue,.btn.green,.one-click-button){background:#1748e8;color:white;border:1px solid #1748e8}
html.ecf-refresh .btn.outline{background:white;color:#1748e8;border:1px solid #ccd7e7}
html.ecf-refresh .notice{background:#eef3fb;color:#334966;font-size:12px}
html.ecf-refresh .notice b{color:#287a24}
html.ecf-refresh .header{background:white;box-shadow:none;border-bottom:1px solid var(--line)}
html.ecf-refresh .header nav button{font-size:13px;color:#435269}
html.ecf-refresh .header nav button.on{color:#1748e8}
html.ecf-refresh .header .brand img{object-fit:contain}
html.ecf-refresh :is(.kicker,.company-profile-hero>div>span){font-size:11px;letter-spacing:.12em;color:#287a24}
html.ecf-refresh .spaced{margin-top:36px;margin-bottom:36px}
html.ecf-refresh .hero{min-height:initial;padding-top:44px;padding-bottom:32px;gap:28px;background:linear-gradient(120deg,#fff 60%,#eef5fb);grid-template-columns:1.25fr .75fr;align-items:center}
html.ecf-refresh .hero-copy h1{font-size:clamp(36px,4.4vw,60px);line-height:1.1;letter-spacing:-.045em;margin:12px 0 18px;color:#10234a}
html.ecf-refresh .hero-copy h1 em{color:#287a24}
html.ecf-refresh .hero-copy>p{font-size:16px;color:#536279;max-width:560px}
html.ecf-refresh .trust{gap:12px;font-size:12px;flex-wrap:wrap;color:#435269}
html.ecf-refresh .hero .coast{position:relative;inset:auto;margin:0;min-height:260px;height:100%;border-radius:18px;overflow:hidden}
html.ecf-refresh .hero .float-card{display:none}
html.ecf-refresh .hero .search{position:relative;inset:auto;grid-column:1/-1;width:100%;margin:0;transform:none;background:white;border:1px solid #dce4ed;border-radius:14px;padding:12px;box-shadow:0 6px 24px #14243c08}
html.ecf-refresh .search label{background:white;border-color:#dce4ed;border-radius:9px}
html.ecf-refresh .search input{border:0;box-shadow:none;background:transparent}
html.ecf-refresh .categories{gap:10px;margin-top:24px}
html.ecf-refresh .categories button{min-height:48px;background:white;color:#334966;border:1px solid #dce4ed;border-radius:10px;font-size:14px;box-shadow:none}
html.ecf-refresh :is(.page-head,.company-profile-hero,.candidate-dash-hero,.company-registration-hero,.contact-hero){background:#eef3fb;color:#14243c;box-shadow:none;border:1px solid #dfe7f1;border-radius:16px}
html.ecf-refresh .page-head{border-radius:0;border-width:0 0 1px;padding:30px 0}
html.ecf-refresh :is(.page-head,.company-profile-hero,.candidate-dash-hero,.company-registration-hero,.contact-hero) :is(h1,h2,h3){color:#10234a}
html.ecf-refresh :is(.page-head,.company-profile-hero,.candidate-dash-hero,.company-registration-hero,.contact-hero) p{color:#526278;font-size:15px}
html.ecf-refresh .page-head h1{font-size:clamp(30px,3.8vw,44px);letter-spacing:-.04em;margin:10px 0}
html.ecf-refresh .page-head .kicker{color:#287a24}
html.ecf-refresh :is(.job,.job-card,.job-detail,.apply,.form-card,.dash-card,.dash-panel,.admin-panel,.application-card,.account-profile-card,.company-profile-fields,.company-brand-card,.company-registration-form-card){background:white;border:1px solid #e0e6ed;border-radius:14px;box-shadow:0 4px 18px #14243c04}
html.ecf-refresh :is(.job,.job-card){padding:22px;gap:16px;transition:border-color .15s}
html.ecf-refresh :is(.job,.job-card):hover{transform:none;border-color:#aebfe1;box-shadow:none}
html.ecf-refresh .job-list{gap:14px}
html.ecf-refresh :is(.job,.job-card) h3{font-size:20px;color:#14243c;margin:0 0 7px}
html.ecf-refresh :is(.job,.job-card) p{font-size:14px;color:#596779}
html.ecf-refresh :is(.job-logo,.job-logo img){width:52px;height:52px;object-fit:contain;background:white}
html.ecf-refresh .results{gap:12px;margin-bottom:20px}
html.ecf-refresh .results small{font-size:12px;color:#596779}
html.ecf-refresh .filters{background:white;border:1px solid #e0e6ed;border-radius:14px;box-shadow:none}
html.ecf-refresh .filters label{font-size:14px;color:#435269}
html.ecf-refresh .job-detail{padding:28px}
html.ecf-refresh .job-detail h1{font-size:clamp(27px,3vw,38px);color:#10234a}
html.ecf-refresh .job-detail :is(p,li){font-size:16px;line-height:1.75;color:#435269;overflow-wrap:anywhere}
html.ecf-refresh .job-detail h2{font-size:23px;margin-top:28px}
html.ecf-refresh .apply{padding:22px}
html.ecf-refresh .apply>h2{font-size:22px}
html.ecf-refresh .apply>p{font-size:14px;color:#596779}
html.ecf-refresh :is(.form,.company-profile-grid) label{font-size:14px;font-weight:700;color:#334966}
html.ecf-refresh :is(.company-profile-fields,.company-brand-card){padding:24px}
html.ecf-refresh .company-profile-grid{gap:20px}
html.ecf-refresh .company-profile-fields header p{font-size:14px;color:#596779}
html.ecf-refresh :is(.company-profile-completion,.company-profile-completion small){color:#435269;background:white}
html.ecf-refresh .company-profile-form>footer{border-color:#dce4ed;box-shadow:0 -4px 20px #14243c08}
html.ecf-refresh :is(.dash-nav,.candidate-dash-nav){background:#10234a;box-shadow:none}
html.ecf-refresh :is(.dash-nav,.candidate-dash-nav) button{font-size:14px;min-height:48px;border-radius:9px}
html.ecf-refresh :is(.metrics,.company-metrics)>div{border:1px solid #e0e6ed;border-radius:14px;box-shadow:none}
html.ecf-refresh :is(.dash-main,.admin-panel,.company-profile-grid,.job-list)>*{min-width:0}
html.ecf-refresh .company-call{border:1px solid #e0e6ed;border-radius:16px;background:#10234a;box-shadow:none}
html.ecf-refresh .company-call h2{font-size:25px}
html.ecf-refresh .company-call p{font-size:14px}
html.ecf-refresh .premium-job-intelligence{border:1px solid #d8e2f2;border-radius:14px;background:#f4f7fc;box-shadow:none}
html.ecf-refresh .premium-job-intelligence header{background:#eaf0fc;color:#10234a;padding:18px}
html.ecf-refresh .premium-job-intelligence header :is(strong,small){color:#10234a}
html.ecf-refresh .premium-intelligence-grid article>span{color:#1748e8;font-size:28px}
html.ecf-refresh .premium-intelligence-grid :is(b,small){color:#435269;font-size:12px}
html.ecf-refresh .premium-intelligence-message{color:#287a24;font-size:13px}
html.ecf-refresh .support-strip{background:#eef3f9;border-top:1px solid #e0e6ed}
html.ecf-refresh .support-strip a{overflow-wrap:anywhere}
html.ecf-refresh .modal>div{border-radius:18px;box-shadow:0 24px 80px #14243c26}
html.ecf-refresh .modal :is(input,select,textarea){font-size:16px}
html.ecf-refresh .steps article{border-radius:14px;box-shadow:none;border:1px solid #e0e6ed;background:white}
html.ecf-refresh .ecf-mobile-nav,html.ecf-refresh .ecf-company-mobile-nav{background:white;border-top:1px solid #dce4ed;box-shadow:0 -4px 16px #14243c08}
html.ecf-refresh .ecf-mobile-nav button,html.ecf-refresh .ecf-company-mobile-nav button{min-height:48px;color:#526278}
html.ecf-refresh .ecf-mobile-nav button.active,html.ecf-refresh .ecf-company-mobile-nav button.active{background:#edf2ff;color:#1748e8;border-radius:10px}
html.ecf-refresh .ecf-mobile-nav [data-target=vagas]{color:#1748e8;font-weight:800}
@media(min-width:1100px){html.ecf-refresh .jobs-layout{grid-template-columns:240px minmax(0,1fr) 230px;gap:24px}html.ecf-refresh .detail{grid-template-columns:minmax(0,1fr) 360px;gap:24px}}
@media(max-width:780px){
html.ecf-refresh .hero{grid-template-columns:1fr;padding:30px 20px 24px;gap:20px}
html.ecf-refresh .hero .coast{display:none}
html.ecf-refresh .hero-copy h1{font-size:36px;max-width:520px}
html.ecf-refresh .hero-copy>p{font-size:15px}
html.ecf-refresh .hero .search{grid-column:1;max-width:100%;padding:10px}
html.ecf-refresh .spaced{margin-top:24px;margin-bottom:24px}
html.ecf-refresh :is(.job,.job-card,.job-detail,.apply,.form-card,.company-profile-fields,.company-brand-card){padding:18px;border-radius:12px}
html.ecf-refresh :is(.job,.job-card) h3{font-size:18px}
html.ecf-refresh .job-detail h1{font-size:28px}
html.ecf-refresh .company-profile-grid{grid-template-columns:minmax(0,1fr)}
html.ecf-refresh .dash-main{padding-left:16px;padding-right:16px}
html.ecf-refresh .company-profile-hero{padding:20px}
html.ecf-refresh .mobile-job-cta{background:white;border-top:1px solid #dce4ed;box-shadow:0 -4px 16px #14243c08}
html.ecf-refresh .categories{gap:8px}
html.ecf-refresh .categories button{font-size:13px}
html.ecf-refresh .trust{display:flex;gap:8px 14px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){html.ecf-refresh *,html.ecf-refresh *::before,html.ecf-refresh *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html.ecf-refresh .sassenach-credit{display:flex;justify-content:center;padding-top:24px;padding-bottom:16px}html.ecf-refresh .sassenach-credit a{display:flex;align-items:center;justify-content:center;min-height:64px;width:240px;max-width:100%;padding:12px 16px;background:#10234a;border:1px solid #ffffff26;border-radius:10px}html.ecf-refresh .sassenach-credit img{display:block;width:208px;max-width:100%;height:auto;object-fit:contain;margin:0}html.ecf-refresh .sassenach-credit a:hover{border-color:#83a3ff}
