/* Master Stellenportal 2.0 – Frontend */
.msp-wrap,.msp-wrap *,.msp-modal,.msp-modal *,.msp-portal-shell,.msp-portal-shell *{box-sizing:border-box}
.msp-wrap{display:grid;grid-template-columns:minmax(270px,31%) minmax(0,1fr);gap:28px;align-items:start;max-width:1280px;margin:0 auto;padding:20px 16px;color:#172033;font-family:inherit}
.msp-filters,.msp-results{min-width:0}
.msp-filter-box{position:sticky;top:24px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:22px;box-shadow:0 16px 45px rgba(15,23,42,.07)}
.msp-filter-heading{display:flex;align-items:flex-start;gap:13px;padding-bottom:18px;border-bottom:1px solid #eef2f7}
.msp-filter-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--msp-primary) 11%,#fff);color:var(--msp-primary);font-size:24px;font-weight:800;line-height:1}
.msp-filter-title{font-size:18px;font-weight:800;line-height:1.2;color:#111827}
.msp-filter-heading p{margin:5px 0 0;color:#6b7280;font-size:13px;line-height:1.45}
.msp-label{display:block;margin:20px 0 8px;color:#4b5563;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.msp-input,.msp-select,.msp-textarea{width:100%;max-width:100%;border:1px solid #dbe3ec;border-radius:12px;background:#fff;color:#111827;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.msp-input,.msp-select{min-height:48px;padding:11px 13px}
.msp-textarea{padding:13px 14px;resize:vertical;line-height:1.55}
.msp-input:focus,.msp-select:focus,.msp-textarea:focus{border-color:var(--msp-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--msp-primary) 13%,transparent)}
.msp-search-field{position:relative}
.msp-search-field>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8a94a3;font-size:21px;pointer-events:none}
.msp-search-field .msp-input{padding-left:43px}
.msp-select{appearance:auto}
.msp-filter-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:22px}
.msp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #d9e0e8;border-radius:11px;background:#fff;color:#172033;font:inherit;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:transform .15s,box-shadow .2s,border-color .2s,background .2s,color .2s}
.msp-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(15,23,42,.10)}
.msp-btn:active{transform:translateY(0)}
.msp-btn:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}
.msp-btn-primary{background:var(--msp-primary);border-color:var(--msp-primary);color:var(--msp-primary-text)}
.msp-btn-primary:hover{background:color-mix(in srgb,var(--msp-primary) 88%,#000);border-color:color-mix(in srgb,var(--msp-primary) 88%,#000);color:var(--msp-primary-text)}
.msp-btn-ghost{background:#fff;color:#1f2937}
.msp-btn-wide{width:100%}
.msp-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px;padding:4px 2px 0}
.msp-results-kicker{display:block;margin-bottom:5px;color:var(--msp-primary);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.msp-results-head h2{margin:0;color:#111827;font-size:clamp(24px,2.4vw,34px);font-weight:800;line-height:1.15}
.msp-result-count{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:13px;font-weight:800}
.msp-cards{display:flex;flex-direction:column;gap:15px}
.msp-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e1e7ee;border-radius:17px;padding:21px 22px;box-shadow:0 10px 32px rgba(15,23,42,.055);transition:transform .22s,border-color .22s,box-shadow .22s}
.msp-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--msp-primary);transform:scaleY(0);transform-origin:center;transition:transform .22s}
.msp-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--msp-primary) 26%,#dfe6ee);box-shadow:0 18px 42px rgba(15,23,42,.09)}
.msp-card:hover:before{transform:scaleY(1)}
.msp-card-top{display:flex;align-items:flex-start;gap:14px}
.msp-card-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#f4f7fb;color:var(--msp-primary);font-size:21px;font-weight:900}
.msp-card-heading{min-width:0;flex:1}
.msp-card-title{margin:1px 0 0;color:#111827;font-size:19px;font-weight:850;line-height:1.3;overflow-wrap:anywhere}
.msp-subtitle{font-weight:600;color:#526074}
.msp-card-excerpt{margin:8px 0 0;color:#667085;font-size:14px;line-height:1.55}
.msp-meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin:18px 0 17px;padding-top:15px;border-top:1px solid #edf1f5}
.msp-meta-item{display:inline-flex;align-items:center;gap:7px;color:#475569;font-size:14px;font-weight:650}
.msp-ico{display:inline-flex;align-items:center;justify-content:center;color:var(--msp-primary);font-size:10px}
.msp-actions{display:flex;gap:10px;flex-wrap:wrap}
.msp-actions .msp-btn-primary{min-width:155px}
.msp-pager{display:flex;justify-content:center;margin-top:18px}
.msp-pager[hidden]{display:none}
.msp-btn-load{min-width:210px}
.msp-results-tail{margin-top:16px}
.msp-empty{padding:18px;border:1px dashed #ccd5df;border-radius:16px;background:#fbfcfe;color:#475569}
.msp-empty-initiative{display:flex;align-items:center;justify-content:space-between;gap:18px}
.msp-empty-content{display:flex;align-items:center;gap:13px;min-width:0}
.msp-empty-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--msp-primary) 10%,#fff);color:var(--msp-primary);font-size:22px}
.msp-empty-title{color:#111827;font-size:17px;font-weight:850}
.msp-empty p{margin:4px 0 0;color:#6b7280;font-size:13px;line-height:1.45}
.msp-loading-cards{display:grid;gap:14px}
.msp-loading-cards span{display:block;height:150px;border-radius:17px;background:linear-gradient(90deg,#f2f4f7 25%,#e8edf3 37%,#f2f4f7 63%);background-size:400% 100%;animation:mspShimmer 1.35s ease infinite}
@keyframes mspShimmer{0%{background-position:100% 0}100%{background-position:0 0}}

/* Modal */
.msp-modal{position:fixed;inset:0;z-index:2147483000;display:none;isolation:isolate;font-family:inherit}
.msp-modal.is-open{display:block}
.msp-modal__backdrop{position:absolute;inset:0;background:rgba(8,15,28,.68);backdrop-filter:blur(6px)}
.msp-modal__panel{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));max-height:calc(100dvh - 36px);margin:18px auto;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:20px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.34)}
.msp-modal__close{position:fixed;top:30px;right:max(30px,calc((100vw - 1180px)/2 + 16px));z-index:12;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.95);color:#111827;font-size:27px;font-weight:500;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.msp-modal__close:hover{background:#fff;transform:scale(1.03)}
.msp-modal__close:focus-visible{outline:3px solid color-mix(in srgb,var(--msp-primary) 45%,transparent);outline-offset:2px}
.msp-modal__loading{display:grid;place-items:center;min-height:260px;padding:30px;color:#526074;font-weight:800}
.msp-hero{position:relative;min-height:330px;overflow:hidden;background:#122033}
.msp-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.msp-hero-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--msp-primary) 82%,#172033),#172033)}
.msp-hero-ph span{font-size:84px;color:rgba(255,255,255,.2)}
.msp-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,15,28,.08) 15%,rgba(8,15,28,.82) 100%)}
.msp-hero-content{position:absolute;left:0;right:0;bottom:0;padding:58px 48px 38px;color:#fff}
.msp-hero-kicker{display:inline-flex;margin-bottom:12px;padding:7px 11px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(255,255,255,.13);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}
.msp-hero-title{margin:0;max-width:900px;color:#fff;font-size:clamp(27px,3.3vw,46px);font-weight:700;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.msp-hero-shift{font-weight:400}
.msp-hero-meta{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:15px;color:rgba(255,255,255,.9);font-size:14px;font-weight:700}
.msp-modal-grid{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:22px;padding:25px;background:#f7f9fc}
.msp-modal-main{min-width:0;padding:27px 29px;border:1px solid #e5eaf0;border-radius:17px;background:var(--msp-description-bg);box-shadow:0 8px 25px rgba(15,23,42,.045);color:#263142;font-size:16px;line-height:1.65}
.msp-modal-main>:first-child{margin-top:0}
.msp-modal-main>:last-child{margin-bottom:0}
.msp-modal-main h2,.msp-modal-main h3,.msp-modal-main h4{color:#111827;line-height:1.25}
.msp-modal-main h2{font-size:25px}.msp-modal-main h3{font-size:20px}
.msp-modal-main p{margin:0 0 17px}
.msp-modal-main ul,.msp-modal-main ol{margin:0 0 20px;padding-left:1.25em}
.msp-modal-main li{margin:6px 0;padding-left:3px}
.msp-modal-side{min-width:0}
.msp-side-card{position:sticky;top:18px;overflow:hidden;border:1px solid #e2e8f0;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.07)}
.msp-side-head{padding:17px 18px;border-bottom:1px solid #edf1f5;background:#fbfcfe}
.msp-side-head span{display:block;color:#111827;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.msp-side-head small{display:block;margin-top:3px;color:#8a94a3;font-size:12px}
.msp-side-row{display:flex;gap:11px;padding:13px 17px;border-bottom:1px solid #f0f3f6}
.msp-side-ico{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:9px;background:#f2f6fa;font-size:14px}
.msp-side-text{min-width:0}
.msp-side-label{color:#7b8798;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.msp-side-value{margin-top:3px;color:#172033;font-size:14px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.msp-side-foot{padding:16px;background:#fbfcfe}
.msp-section-badge{margin:4px 0 15px}
.msp-info-badge{display:inline-flex;align-items:center;min-height:36px;padding:7px 13px;border:1px solid var(--msp-badge-border);border-radius:var(--msp-badge-radius);background:var(--msp-badge-bg);color:var(--msp-badge-text);font-size:13px;font-weight:850;line-height:1.2;box-shadow:0 2px 7px rgba(15,23,42,.04)}

/* Application form */
.msp-apply{padding:30px 34px 36px;background:#fff}
.msp-apply[hidden]{display:none}
.msp-modal-job.is-applying>.msp-hero,.msp-modal-job.is-applying>.msp-modal-grid{display:none}
.msp-apply-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e8edf3}
.msp-apply-kicker{display:block;margin-bottom:6px;color:var(--msp-primary);font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.msp-apply-title{color:#111827;font-size:clamp(24px,2.8vw,36px);font-weight:850;line-height:1.2}
.msp-apply-head p{margin:7px 0 0;color:#6b7280}
.msp-apply-form{max-width:900px;margin:0 auto;padding-top:10px}
.msp-form-section-title{display:flex;align-items:center;gap:10px;margin:28px 0 13px;color:#111827;font-size:17px;font-weight:900}
.msp-form-section-title span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--msp-primary);color:var(--msp-primary-text);font-size:13px}
.msp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}
.msp-form-full{grid-column:1/-1}
.msp-apply-form .msp-label{margin:0 0 7px}
.msp-upload-field{position:relative;display:flex;align-items:center;gap:14px;min-height:82px;padding:14px 16px;border:1.5px dashed #cbd5df;border-radius:14px;background:#fbfcfe;cursor:pointer;transition:border-color .2s,background .2s}
.msp-upload-field:hover,.msp-upload-field.has-file{border-color:var(--msp-primary);background:color-mix(in srgb,var(--msp-primary) 4%,#fff)}
.msp-upload-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#eef3f8;color:var(--msp-primary);font-size:23px;font-weight:900}
.msp-upload-field>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.msp-upload-field strong{color:#172033;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msp-upload-field small{margin-top:3px;color:#7b8798;font-size:12px}
.msp-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.msp-check{display:flex;align-items:flex-start;gap:10px;margin:22px 0 18px;color:#3f4b5d;font-size:13px;line-height:1.55}
.msp-check input{flex:0 0 auto;margin-top:3px}
.msp-privacy-wrap a{color:var(--msp-primary);text-decoration:underline}
.msp-submit-application{min-height:52px;font-size:15px}
.msp-form-msg{margin-top:14px;padding:0;font-size:14px;font-weight:800;line-height:1.45}
.msp-form-msg.is-loading{color:#526074}.msp-form-msg.is-ok{padding:15px 17px;border:1px solid #a7dfbd;border-radius:12px;background:#effbf4;color:#13733a}.msp-form-msg.is-err{padding:15px 17px;border:1px solid #f1b5bd;border-radius:12px;background:#fff2f4;color:#a51c30}
.msp-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Login portal */
.msp-portal-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);max-width:1080px;min-height:610px;margin:35px auto;padding:0;overflow:hidden;border:1px solid #e0e6ed;border-radius:24px;background:#fff;box-shadow:0 28px 85px rgba(15,23,42,.13);font-family:inherit;color:#172033}
.msp-portal-visual{position:relative;display:flex;flex-direction:column;justify-content:center;padding:64px;background:linear-gradient(135deg,color-mix(in srgb,var(--msp-primary) 92%,#10223a),#10223a);color:#fff;overflow:hidden}
.msp-portal-visual:before,.msp-portal-visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.msp-portal-visual:before{width:330px;height:330px;right:-130px;top:-110px}.msp-portal-visual:after{width:220px;height:220px;left:-90px;bottom:-80px}
.msp-portal-visual>*{position:relative;z-index:1}
.msp-portal-badge{align-self:flex-start;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.msp-portal-visual h1{margin:22px 0 12px;color:#fff;font-size:clamp(38px,5vw,58px);font-weight:800;letter-spacing:-.035em;line-height:1}
.msp-portal-visual>p{max-width:560px;margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.65}
.msp-portal-features{display:grid;gap:13px;margin-top:34px;color:rgba(255,255,255,.94);font-size:14px;font-weight:750}
.msp-portal-login{display:flex;flex-direction:column;justify-content:center;padding:52px 48px;background:#fff}
.msp-portal-login-kicker{color:var(--msp-primary);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.msp-portal-login h2{margin:7px 0 8px;color:#111827;font-size:30px;font-weight:850;line-height:1.2}
.msp-portal-login>p{margin:0 0 24px;color:#667085;line-height:1.55}
.msp-portal-login form p{margin:0 0 16px}
.msp-portal-login form label{display:block;margin-bottom:7px;color:#475569;font-size:12px;font-weight:800}
.msp-portal-login input[type=text],.msp-portal-login input[type=password]{width:100%;min-height:49px;padding:11px 13px;border:1px solid #d8e0e9;border-radius:11px;background:#fff;font:inherit;outline:none}
.msp-portal-login input[type=text]:focus,.msp-portal-login input[type=password]:focus{border-color:var(--msp-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--msp-primary) 12%,transparent)}
.msp-portal-login .login-remember label{display:flex;align-items:center;gap:8px;font-weight:600}
.msp-portal-login .login-submit{margin-top:21px}
.msp-portal-login .button-primary{width:100%;min-height:50px;border:0;border-radius:11px;background:var(--msp-primary);color:var(--msp-primary-text);font:inherit;font-weight:850;cursor:pointer}
.msp-portal-lost,.msp-portal-logout{align-self:center;margin-top:17px;color:#526074;text-decoration:none;font-size:13px;font-weight:700}
.msp-portal-lost:hover,.msp-portal-logout:hover{color:var(--msp-primary)}

@media (max-width:1024px){
  .msp-wrap{grid-template-columns:1fr;gap:22px;max-width:900px}
  .msp-filter-box{position:static}
  .msp-modal-grid{grid-template-columns:1fr}
  .msp-side-card{position:static}
  .msp-portal-visual{padding:48px}
  .msp-portal-login{padding:44px 36px}
}
@media (max-width:767px){
  .msp-wrap{padding:10px;gap:18px}
  .msp-filter-box{padding:17px;border-radius:15px}
  .msp-filter-actions{grid-template-columns:1fr}
  .msp-results-head{align-items:flex-start;flex-direction:column;gap:10px}
  .msp-result-count{align-self:flex-start}
  .msp-card{padding:17px;border-radius:15px}
  .msp-card-top{gap:11px}.msp-card-icon{width:36px;height:36px;flex-basis:36px;border-radius:11px}
  .msp-card-title{font-size:17px}.msp-subtitle{display:block;margin-top:2px}
  .msp-meta{display:grid;gap:9px}.msp-meta-item{width:100%}
  .msp-actions{display:grid;grid-template-columns:1fr}.msp-actions .msp-btn{width:100%}
  .msp-empty-initiative{align-items:stretch;flex-direction:column}.msp-empty-initiative .msp-btn{width:100%}
  .msp-modal__panel{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .msp-modal__close{top:10px;right:10px;width:42px;height:42px}
  .msp-hero{min-height:280px}.msp-hero-content{padding:62px 20px 24px}.msp-hero-title{font-size:27px}
  .msp-modal-grid{padding:12px;gap:12px}.msp-modal-main{padding:18px 17px;border-radius:14px;font-size:15px}.msp-side-card{border-radius:14px}
  .msp-apply{padding:68px 16px 24px}.msp-apply-head{flex-direction:column;gap:15px}.msp-apply-head .msp-btn{width:100%}
  .msp-form-grid{grid-template-columns:1fr}.msp-form-full{grid-column:auto}
  .msp-upload-field{padding:12px}.msp-upload-field strong{white-space:normal;overflow-wrap:anywhere}
  .msp-portal-shell{grid-template-columns:1fr;min-height:0;margin:12px;border-radius:18px}
  .msp-portal-visual{padding:38px 28px}.msp-portal-visual h1{font-size:40px}.msp-portal-visual>p{font-size:15px}.msp-portal-features{margin-top:25px}
  .msp-portal-login{padding:36px 25px 40px}
}
@media (max-width:430px){
  .msp-filter-heading p{display:none}
  .msp-empty-content{align-items:flex-start}
  .msp-hero-meta{display:grid;gap:7px}
}
@media (prefers-reduced-motion:reduce){.msp-card,.msp-btn,.msp-modal__close{transition:none}.msp-loading-cards span{animation:none}}


/* Refined premium UI – 2.0.1 */
.msp-wrap{
  gap:32px;
  padding:24px 16px 28px;
}
.msp-filter-box{
  border-color:#e9eff5;
  border-radius:22px;
  padding:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),#fbfcff);
  box-shadow:0 20px 52px rgba(15,23,42,.05);
}
.msp-filter-heading{
  gap:12px;
  padding-bottom:16px;
  border-bottom-color:#eff3f7;
}
.msp-filter-icon{
  width:36px;
  height:36px;
  flex-basis:36px;
  border-radius:12px;
  background:color-mix(in srgb,var(--msp-primary) 8%,#fff);
  font-size:20px;
}
.msp-filter-title{font-size:17px;letter-spacing:-.01em}
.msp-filter-heading p{font-size:12px;color:#7a8595}
.msp-label{
  margin:18px 0 7px;
  color:#667085;
  font-size:10px;
  letter-spacing:.1em;
}
.msp-input,.msp-select,.msp-textarea{
  border-color:#e4ebf2;
  border-radius:14px;
  background:#fcfdff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.msp-input,.msp-select{min-height:46px;padding:10px 14px}
.msp-textarea{border-radius:16px;min-height:190px;background:#fbfcff}
.msp-input:hover,.msp-select:hover,.msp-textarea:hover{border-color:#d6e1eb;background:#fff}
.msp-input:focus,.msp-select:focus,.msp-textarea:focus{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--msp-primary) 10%,transparent);
}
.msp-search-field>span{
  left:13px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#8b97a7;
  font-size:15px;
}
.msp-search-field .msp-input{padding-left:41px}
.msp-filter-actions{gap:10px;margin-top:20px}
.msp-btn{
  min-height:42px;
  padding:10px 15px;
  border-color:#dfe6ee;
  border-radius:13px;
  font-size:13px;
  font-weight:780;
  box-shadow:none;
}
.msp-btn:hover{box-shadow:0 10px 22px rgba(15,23,42,.07)}
.msp-btn-primary{box-shadow:0 10px 24px color-mix(in srgb,var(--msp-primary) 20%,transparent)}
.msp-btn-primary:hover{box-shadow:0 12px 26px color-mix(in srgb,var(--msp-primary) 22%,transparent)}
.msp-results-head{
  align-items:center;
  margin:0 0 16px;
  padding:6px 2px 12px;
  border-bottom:1px solid #edf2f6;
}
.msp-results-kicker{font-size:10px;letter-spacing:.14em}
.msp-results-head h2{font-size:clamp(22px,2vw,30px);letter-spacing:-.02em}
.msp-result-count{
  padding:8px 13px;
  border:1px solid #e6edf4;
  background:#fbfcfe;
  color:#667085;
}
.msp-cards{gap:13px}
.msp-card{
  border-color:#e7edf4;
  border-radius:18px;
  padding:18px 20px;
  background:linear-gradient(180deg,#fff,#fcfdff);
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.msp-card:before{width:3px}
.msp-card:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--msp-primary) 18%,#dfe6ee);
  box-shadow:0 18px 38px rgba(15,23,42,.08);
}
.msp-card-top{gap:12px}
.msp-card-icon{
  width:38px;
  height:38px;
  flex-basis:38px;
  border-radius:12px;
  background:color-mix(in srgb,var(--msp-primary) 6%,#fff);
  font-size:18px;
}
.msp-card-title{font-size:18px;letter-spacing:-.01em}
.msp-card-excerpt{margin-top:7px;font-size:13px;color:#748092}
.msp-meta{
  gap:10px;
  margin:16px 0 16px;
  padding-top:14px;
  border-top-color:#eff3f7;
}
.msp-meta-item{
  gap:8px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #edf2f7;
  border-radius:999px;
  background:#fbfcff;
  color:#526074;
  font-size:13px;
  font-weight:700;
}
.msp-ico{font-size:9px}
.msp-results-tail{margin-top:14px}
.msp-empty{
  border-style:solid;
  border-color:#e8eef5;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fbfcff);
}
.msp-empty-title{font-size:16px}

.msp-modal__backdrop{background:rgba(10,17,29,.46);backdrop-filter:blur(10px)}
.msp-modal__panel{
  width:min(1140px,calc(100% - 34px));
  max-height:calc(100dvh - 34px);
  margin:17px auto;
  border-radius:24px;
  background:#f7f9fc;
  box-shadow:0 34px 94px rgba(7,13,24,.22);
}
.msp-modal__close{
  width:42px;
  height:42px;
  border-color:rgba(255,255,255,.58);
  background:rgba(255,255,255,.92);
  font-size:24px;
}
.msp-hero{min-height:280px;background:#142237}
.msp-hero-overlay{background:linear-gradient(180deg,rgba(8,15,28,.06) 10%,rgba(8,15,28,.66) 100%)}
.msp-hero-content{padding:46px 40px 28px}
.msp-hero-kicker{padding:6px 10px;font-size:10px}
.msp-hero-title{font-size:clamp(26px,3vw,40px);font-weight:760}
.msp-hero-meta{margin-top:13px;gap:8px 14px;font-size:13px}
.msp-modal-grid{
  gap:18px;
  padding:18px;
  background:#f7f9fc;
}
.msp-modal-main{
  padding:24px 26px;
  border-color:#e8edf3;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fcfdff);
  box-shadow:0 10px 28px rgba(15,23,42,.04);
  font-size:15px;
  line-height:1.72;
}
.msp-modal-main h2{font-size:22px}
.msp-modal-main h3{font-size:18px}
.msp-side-card{
  border-color:#e7edf4;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fcfdff);
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
.msp-side-head{padding:15px 17px;background:#fcfdff}
.msp-side-row{gap:10px;padding:12px 16px}
.msp-side-ico{
  width:30px;height:30px;flex-basis:30px;
  border-radius:10px;
  background:color-mix(in srgb,var(--msp-primary) 5%,#fff);
}
.msp-side-value{font-size:13px;font-weight:780}
.msp-side-foot{padding:14px 16px;background:#fcfdff}

.msp-apply{
  padding:34px 38px 38px;
  background:linear-gradient(180deg,#fff,#f9fbfe);
}
.msp-apply-head{
  align-items:flex-start;
  gap:18px;
  padding-bottom:18px;
  border-bottom-color:#edf2f6;
}
.msp-apply-kicker{font-size:10px;letter-spacing:.14em}
.msp-apply-title{font-size:clamp(26px,2.9vw,34px);letter-spacing:-.02em}
.msp-apply-head p{margin-top:4px;color:#7b8798}
.msp-apply-form{
  max-width:880px;
  margin:0 auto;
  padding-top:8px;
}
.msp-form-section-title{
  gap:9px;
  margin:24px 0 11px;
  font-size:16px;
  font-weight:850;
}
.msp-form-section-title span{
  width:28px;
  height:28px;
  border-radius:10px;
  background:color-mix(in srgb,var(--msp-primary) 12%,#fff);
  color:var(--msp-primary);
  font-size:12px;
  font-weight:900;
}
.msp-form-grid{
  gap:12px 14px;
  padding:18px;
  border:1px solid #edf2f6;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fbfcff);
}
.msp-apply-form .msp-label{margin:0 0 6px}
.msp-upload-field{
  min-height:74px;
  padding:13px 15px;
  border-width:1px;
  border-color:#dde6ef;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfcff);
}
.msp-upload-field:hover,.msp-upload-field.has-file{
  border-color:color-mix(in srgb,var(--msp-primary) 28%,#dde6ef);
  background:color-mix(in srgb,var(--msp-primary) 2%,#fff);
}
.msp-upload-icon{
  width:40px;
  height:40px;
  flex-basis:40px;
  border-radius:12px;
  background:color-mix(in srgb,var(--msp-primary) 6%,#fff);
  font-size:20px;
}
.msp-upload-field strong{font-size:14px;font-weight:760}
.msp-upload-field small{font-size:11px}
.msp-check{
  gap:9px;
  margin:18px 0 16px;
  padding:12px 14px;
  border:1px solid #edf2f6;
  border-radius:14px;
  background:#fbfcff;
  color:#667085;
}
.msp-check input{margin-top:2px}
.msp-submit-application{
  min-height:48px;
  border-radius:14px;
  font-size:14px;
  box-shadow:0 14px 28px color-mix(in srgb,var(--msp-primary) 18%,transparent);
}
.msp-submit-application:hover{box-shadow:0 16px 30px color-mix(in srgb,var(--msp-primary) 22%,transparent)}
.msp-form-msg{margin-top:12px;font-size:13px}

@media (max-width:1024px){
  .msp-wrap{gap:24px}
  .msp-apply{padding:30px 24px 32px}
  .msp-modal__panel{width:min(100%,calc(100% - 22px))}
}
@media (max-width:767px){
  .msp-wrap{padding:10px}
  .msp-filter-box{padding:18px;border-radius:18px}
  .msp-results-head{padding-bottom:10px}
  .msp-card{padding:16px 16px 17px;border-radius:16px}
  .msp-meta{display:flex;flex-wrap:wrap}
  .msp-meta-item{width:auto;max-width:100%}
  .msp-modal__panel{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .msp-hero{min-height:248px}
  .msp-hero-content{padding:62px 20px 22px}
  .msp-modal-grid{padding:12px}
  .msp-modal-main,.msp-side-card{border-radius:16px}
  .msp-apply{padding:68px 16px 22px}
  .msp-form-grid{padding:14px}
  .msp-upload-field{min-height:70px;padding:12px}
  .msp-check{padding:11px 12px}
}


/* Select refinement – 2.0.2 */
.msp-select-wrap{position:relative}
.msp-select-wrap:after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  width:10px;
  height:10px;
  margin-top:-6px;
  border-right:2px solid #667085;
  border-bottom:2px solid #667085;
  transform:rotate(45deg);
  pointer-events:none;
  opacity:.85;
}
.msp-select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:42px;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
  color:#344054;
  background:#fcfdff;
}
.msp-select option{font-size:14px}
.msp-search-field .msp-input{font-size:15px}
@media (max-width:767px){
  .msp-select{font-size:14px}
  .msp-search-field .msp-input{font-size:14px}
}

/* Compact application flow – 2.1.0 */
.msp-apply{padding:28px 34px 30px}
.msp-apply-head{padding-bottom:15px}
.msp-apply-form{max-width:860px;padding-top:4px}
.msp-form-section-title{margin:20px 0 9px;font-size:15px}
.msp-form-section-title span{width:26px;height:26px}
.msp-form-grid{gap:10px 12px;padding:14px 15px;border-radius:16px}
.msp-apply-form .msp-input{min-height:43px;font-size:13px}
.msp-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.msp-upload-grid .msp-label{margin:0 0 6px}
.msp-upload-field{min-height:68px;padding:11px 13px;border-radius:14px}
.msp-upload-icon{width:36px;height:36px;flex-basis:36px;font-size:18px}
.msp-upload-field strong{font-size:12px}.msp-upload-field small{font-size:10px}
.msp-apply-form .msp-textarea{min-height:145px;font-size:13px}
.msp-check{margin:15px 0 13px;padding:10px 12px;font-size:11px}
.msp-submit-application{min-height:45px;font-size:13px}
@media(max-width:767px){.msp-apply{padding:62px 14px 20px}.msp-upload-grid{grid-template-columns:1fr}.msp-form-grid{padding:12px}.msp-apply-form .msp-textarea{min-height:130px}}
