:root{
  --select-bg:#f3f5fb;
  --select-panel:#ffffff;
  --select-panel-soft:#fbfbfe;
  --select-line:#e4e9f2;
  --select-text:#24364b;
  --select-muted:#7f8fa4;
  --select-primary:#c62828;
  --select-primary-soft:#fdeeee;
  --select-blue-soft:#e9f6ff;
  --select-gold-soft:#fff3df;
  --select-green-soft:#ebf9ef;
  --select-shadow:0 18px 38px rgba(35,54,75,.08);
  --select-radius-xl:28px;
  --select-radius-lg:22px;
  --select-radius-md:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--select-text);
  background:linear-gradient(180deg,#f7f9fd 0%,#f2f5fb 100%);
}

.body-lock{
  overflow:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
input,select,button{font:inherit}

.public-page{
  max-width:1280px;
  margin:0 auto;
  padding:32px 20px 48px;
}

.public-grid{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(0,2fr);
  gap:24px;
}

.public-page--candidate{
  padding-top:18px;
}

.login-shell{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:calc(100vh - 120px);
}

.login-screen{
  position:relative;
  width:100%;
  display:flex;
  justify-content:center;
}

.login-screen__panel{
  position:relative;
  overflow:hidden;
  width:min(100%, 1040px);
  padding:42px;
  border:1px solid var(--select-line);
  border-radius:36px;
  background:
    radial-gradient(circle at 12% 14%, rgba(198,40,40,.10), transparent 22%),
    radial-gradient(circle at 88% 10%, rgba(72,180,255,.12), transparent 20%),
    linear-gradient(145deg,#fff8f8 0%,#ffffff 42%,#f6faff 100%);
  box-shadow:0 28px 52px rgba(35,54,75,.10);
}

.login-screen__panel::after{
  content:"";
  position:absolute;
  inset:auto -100px -120px auto;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(198,40,40,.10) 0%, rgba(198,40,40,0) 70%);
  pointer-events:none;
}

.login-screen__signature-sep{
  font-size:1rem;
  color:#94a3b8;
}

.login-screen__content{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:32px;
  align-items:start;
}

.login-screen__intro{
  padding-top:10px;
}

.login-screen__intro--logos{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100%;
}

.login-screen__logo-stage{
  width:100%;
  max-width:460px;
  padding:28px;
  border:1px solid rgba(36,54,75,.08);
  border-radius:30px;
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.login-screen__logo-stage-select{
  width:100%;
  max-width:360px;
  margin:0 auto;
  height:auto;
}

.login-screen__logo-stage-signature{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:18px;
  color:#75869b;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.login-screen__logo-stage-signature img{
  height:26px;
  width:auto;
  max-width:110px;
  object-fit:contain;
}

.login-screen__form{
  padding:30px 30px 28px;
  border:1px solid var(--select-line);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 34px rgba(36,54,75,.08);
  backdrop-filter:blur(10px);
}

.login-screen__form h2{
  margin:0;
  font-size:2rem;
  letter-spacing:-.04em;
}

.candidate-progress{
  position:sticky;
  top:12px;
  z-index:20;
  margin-bottom:18px;
  padding:16px 18px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--select-line);
  border-radius:22px;
  box-shadow:var(--select-shadow);
  backdrop-filter:blur(12px);
}

.candidate-progress__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}

.candidate-progress__title{
  font-weight:800;
  letter-spacing:-.02em;
}

.candidate-progress__address{
  font-weight:500;
  color:#6f8095;
}

.candidate-progress__value{
  font-size:1.1rem;
  font-weight:800;
}

.candidate-form{
  align-self:start;
}

.candidate-property-card{
  background:
    radial-gradient(circle at 10% 18%, rgba(198,40,40,.07), transparent 30%),
    radial-gradient(circle at 88% 14%, rgba(72,180,255,.10), transparent 24%),
    linear-gradient(135deg,#fffaf9 0%,#ffffff 52%,#f7fbff 100%);
}

.candidate-property-card--resume{
  padding:0;
  overflow:hidden;
}

.candidate-property-card__summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  cursor:pointer;
  list-style:none;
}

.candidate-property-card__summary::-webkit-details-marker{
  display:none;
}

.candidate-property-card__lead{
  min-width:0;
}

.candidate-property-card__title{
  margin:0;
  font-size:1.85rem;
  letter-spacing:-.04em;
  line-height:1.05;
}

.candidate-property-card__address{
  margin:10px 0 0;
  color:#54667c;
  font-size:1rem;
  line-height:1.55;
  font-weight:600;
}

.candidate-property-card__toggle-wrap{
  flex:0 0 auto;
  align-self:center;
  display:flex;
  align-items:center;
}

.candidate-property-card__toggle{
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(198,40,40,.12);
  border-radius:999px;
  background:linear-gradient(135deg,#fff7f7 0%,#ffffff 100%);
  box-shadow:0 12px 24px rgba(36,54,75,.08);
  color:var(--select-primary);
  font-weight:800;
  letter-spacing:-.01em;
  white-space:nowrap;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.candidate-property-card__toggle::after{
  content:"+";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(198,40,40,.1);
  font-size:1rem;
  line-height:1;
}

.candidate-property-card--resume[open] .candidate-property-card__toggle{
  border-color:rgba(198,40,40,.18);
  background:linear-gradient(135deg,#c62828 0%,#df3f35 100%);
  box-shadow:0 16px 30px rgba(198,40,40,.22);
  color:#fff;
}

.candidate-property-card--resume[open] .candidate-property-card__toggle::after{
  content:"-";
  background:rgba(255,255,255,.18);
}

.candidate-resume-card{
  padding:24px 28px 28px;
  border-top:1px solid var(--select-line);
  background:linear-gradient(180deg,rgba(255,255,255,.65) 0%,rgba(253,247,247,.95) 100%);
}

.candidate-resume-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.candidate-resume-card__head h2{
  margin:0;
}

.candidate-resume-card__badge{
  flex:0 0 auto;
  padding:8px 12px;
  border-radius:999px;
  background:#eef6ff;
  color:#42607f;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.candidate-resume__context{
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1.5px;
}

.candidate-consent-input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.candidate-consent-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.candidate-consent-modal.is-hidden{
  display:none;
}

.candidate-consent-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,29,43,.48);
  backdrop-filter:blur(4px);
}

.candidate-consent-modal__dialog{
  position:relative;
  width:min(100%, 560px);
  padding:30px;
  border:1px solid var(--select-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 50px rgba(20,31,45,.18);
}

.candidate-consent-modal__dialog h2{
  margin:0 0 10px;
  font-size:2rem;
  letter-spacing:-.04em;
}

.candidate-consent-modal__check{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:18px;
  padding:16px 18px;
  border:1px solid var(--select-line);
  border-radius:18px;
  background:#fbfcfe;
  color:#42556c;
  font-weight:600;
  line-height:1.45;
}

.candidate-consent-modal__check input{
  flex:0 0 auto;
  margin-top:2px;
}

.auth-card,
.public-card,
.surface-card,
.card{
  background:var(--select-panel);
  border:1px solid var(--select-line);
  border-radius:var(--select-radius-xl);
  box-shadow:var(--select-shadow);
}

.auth-card{
  padding:30px;
}

.surface-card,
.card{
  padding:26px 28px;
}

.auth-hero{
  padding:34px;
  background:
    radial-gradient(circle at 10% 12%, rgba(198,40,40,.09), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(72,180,255,.10), transparent 22%),
    linear-gradient(135deg,#fff9f9 0%,#ffffff 45%,#fef0ee 100%);
  min-height:100%;
}

.auth-brand{
  width:100%;
  max-width:350px;
  margin-bottom:34px;
}

.auth-brand__logo{
  display:block;
  max-width:350px;
  width:100%;
  height:auto;
}

.brand-by{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--select-muted);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.brand-by img{
  height:22px;
  width:auto;
}

.auth-brand-signature{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin-top:10px;
  color:var(--select-muted);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.auth-brand-signature img{
  height:22px;
  width:auto;
  max-width:96px;
  object-fit:contain;
}

.auth-brand-signature__sep{
  font-size:1rem;
  color:#94a3b8;
}

.hero-title{
  margin:0 0 14px;
  font-size:3rem;
  line-height:1.02;
  letter-spacing:-.05em;
}

.hero-text{
  margin:0;
  max-width:540px;
  color:#67788f;
  font-size:1.08rem;
  line-height:1.7;
}

.hero-illustration{
  margin-top:28px;
  max-width:360px;
  margin-left:auto;
}

.eyebrow{
  margin-bottom:10px;
  color:#8294aa;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:700;
}

.section-title{
  margin:0 0 10px;
  font-size:2rem;
  letter-spacing:-.04em;
}

.section-text,
.muted,
.small{
  color:var(--select-muted);
}

.stack{
  display:grid;
  gap:14px;
}

.field-row,
.grid-2,
.grid-3{
  display:grid;
  gap:14px;
}

.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

label{
  display:block;
  margin-bottom:8px;
  font-size:.92rem;
  font-weight:700;
  color:#506175;
}

input,select{
  width:100%;
  border:1px solid var(--select-line);
  border-radius:16px;
  background:#fff;
  padding:14px 16px;
  color:var(--select-text);
}

input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:2px;
}

.checkline{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.guarantor-choice{
  padding:18px 20px;
  border:1px solid var(--select-line);
  border-radius:22px;
  background:
    radial-gradient(circle at 10% 18%, rgba(198,40,40,.08), transparent 30%),
    linear-gradient(135deg,#fffaf9 0%,#ffffff 46%,#f9fbff 100%);
}

.guarantor-choice__content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.guarantor-choice__content h3{
  margin:0 0 8px;
  font-size:1.18rem;
  letter-spacing:-.02em;
}

.guarantor-choice__content p{
  margin:0;
  max-width:620px;
}

.guarantor-choice__actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.guarantor-choice__label{
  font-size:.9rem;
  font-weight:700;
  color:#6f8094;
}

.guarantor-switch{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.guarantor-switch__track{
  position:relative;
  width:62px;
  height:34px;
  display:inline-flex;
  align-items:center;
  padding:4px;
  border-radius:999px;
  background:#dfe6ef;
  transition:background .18s ease;
}

.guarantor-switch__thumb{
  width:26px;
  height:26px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 8px 18px rgba(36,54,75,.18);
  transition:transform .18s ease;
}

.guarantor-switch.is-active .guarantor-switch__track{
  background:#f4b7b7;
}

.guarantor-switch.is-active .guarantor-switch__thumb{
  transform:translateX(28px);
}

.guarantor-choice__checkbox{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.persona-switch{
  display:none;
  gap:10px;
  margin:8px 0 4px;
}

.persona-switch.is-visible{
  display:flex;
}

.applicant-switch{
  display:flex;
  flex-wrap:wrap;
}

.persona-switch__button{
  flex:0 0 auto;
  border:1px solid var(--select-line);
  background:#fff;
  color:#6d7d91;
  border-radius:16px;
  padding:11px 16px;
  font-weight:700;
  cursor:pointer;
  box-shadow:none;
}

.persona-switch__button.is-active{
  background:var(--select-primary-soft);
  border-color:#f2c4c4;
  color:var(--select-primary);
}

.persona-panel{
  display:none;
  gap:14px;
}

.persona-panel.is-active{
  display:grid;
}

.panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.applicant-list{
  display:grid;
  gap:18px;
}

.applicant-card{
  display:none;
  gap:16px;
  padding:18px;
  border:1px solid var(--select-line);
  border-radius:22px;
  background:#fbfcfe;
}

.applicant-card.is-active{
  display:grid;
}

.applicant-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.applicant-card__head h3{
  margin:0;
  font-size:1.08rem;
  letter-spacing:-.02em;
}

.applicant-remove{
  padding:10px 14px;
}

.actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

button,
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:16px;
  background:var(--select-primary);
  color:#fff;
  padding:13px 18px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 10px 18px rgba(198,40,40,.14);
}

.button-secondary{
  background:#eff3f8;
  color:var(--select-text);
  box-shadow:none;
}

.button-danger{
  background:#c73636;
}

.notice,
.error{
  margin-bottom:16px;
  border-radius:18px;
  padding:14px 16px;
  border:1px solid var(--select-line);
  background:#fff;
}

.notice{
  border-color:#cdecd6;
  background:#f0fbf3;
  color:#1f7a45;
}

.error{
  border-color:#f3c6c6;
  background:#fff2f2;
  color:#b23a3a;
}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.badge-neutral{background:#eef2f6;color:#607287}
.badge-success{background:#e9f8ef;color:#1e7a4a}
.badge-warn{background:#fff4df;color:#9f6b0a}
.badge-danger{background:#fdecec;color:#b12626}

.app-shell{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  min-height:100vh;
}

.sidebar-overlay{
  display:none;
}

.sidebar{
  background:#fff;
  border-right:1px solid var(--select-line);
  padding:26px 20px 28px;
  position:sticky;
  top:0;
  height:100vh;
}

.sidebar-brand{
  padding:10px 10px 22px;
}

.sidebar-logo{
  max-width:240px;
  margin:0 auto;
}

.sidebar-brand-signature{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:10px;
  margin-bottom:12px;
  color:var(--select-muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.sidebar-brand-signature img{
  height:20px;
  width:auto;
  max-width:82px;
  object-fit:contain;
}

.sidebar-brand-signature__sep{
  font-size:.95rem;
  color:#94a3b8;
}

.sidebar-nav{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.nav-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:18px;
  color:#64778d;
  font-weight:600;
}

.nav-item.active{
  background:var(--select-primary-soft);
  color:var(--select-primary);
}

.nav-item__icon{
  width:34px;
  height:34px;
  border-radius:12px;
  background:#f4f6fb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
  flex:0 0 auto;
}

.nav-item.active .nav-item__icon{
  background:#fff;
}

.content{
  padding:18px 26px 28px;
}

.topbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) 74px;
  gap:14px;
  background:#fff;
  border:1px solid var(--select-line);
  border-radius:22px;
  padding:14px 18px;
  box-shadow:var(--select-shadow);
  align-items:center;
}

.topbar-search{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.topbar-search__submit{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.topbar-search__field{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 14px;
  border:1px solid #e8edf5;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 14px rgba(36,54,75,.04);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.topbar-search__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#6f839b;
  flex:0 0 auto;
  width:20px;
  height:20px;
}

.topbar-search__field input{
  width:100%;
  flex:1 1 auto;
  border:0;
  background:transparent;
  padding:0;
  min-width:0;
  color:#34485f;
  font-size:.92rem;
  font-weight:600;
  line-height:1.2;
  outline:none;
}

.topbar-search__field input::placeholder{
  color:#93a3b6;
  opacity:1;
}

.topbar-search__field:focus-within{
  border-color:#d7e1ee;
  box-shadow:0 14px 30px rgba(36,54,75,.10), 0 0 0 4px rgba(220,229,241,.55);
  transform:translateY(-1px);
}

.topbar-search__field:focus-within .topbar-search__icon{
  color:#536b86;
}

.burger-button{
  display:none;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid var(--select-line);
  border-radius:14px;
  background:#fff;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}

.burger-button span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#44576d;
}

.topbar-slot{
  display:flex;
  align-items:center;
  gap:10px;
  color:#a1afc0;
  min-height:44px;
}

.topbar-avatar{
  width:46px;
  height:46px;
  border-radius:999px;
  background:#c62828;
  color:#fff;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.topbar-avatar::after{
  content:"";
  position:absolute;
  right:1px;
  bottom:1px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#68d66c;
  border:2px solid #fff;
}

.content-main{
  margin-top:22px;
}

.dashboard-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:20px;
  padding:34px 40px;
  background:
    radial-gradient(circle at 12% 14%, rgba(198,40,40,.12), transparent 26%),
    radial-gradient(circle at 92% 28%, rgba(63,180,255,.12), transparent 20%),
    linear-gradient(135deg,#fff9f8 0%,#ffffff 44%,#fceeee 100%);
}

.dashboard-hero h1{
  margin:0 0 14px;
  font-size:3rem;
  letter-spacing:-.05em;
}

.dashboard-hero p{
  margin:0;
  color:#71839a;
  font-size:1.1rem;
}

.dashboard-hero img{
  max-width:220px;
  justify-self:end;
  align-self:end;
}

.content-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:22px;
  margin-top:22px;
}

.layout{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:22px;
}

.span-12{grid-column:span 12}
.span-8{grid-column:span 8}
.span-7{grid-column:span 7}
.span-6{grid-column:span 6}
.span-5{grid-column:span 5}
.span-4{grid-column:span 4}

.metric-card,
.surface-card{
  padding:26px 28px;
}

.metric-card{
  min-height:170px;
}

.metric-card__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

.agency-board__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  flex-wrap:wrap;
}

.agency-filter-shell{
  display:grid;
  gap:20px;
}

.agency-board__head h2{
  margin:0 0 8px;
}

.agency-filter-panel{
  padding:18px;
  border:1px solid var(--select-line);
  border-radius:20px;
  background:linear-gradient(180deg,#fbfcfe 0%,#ffffff 100%);
  display:grid;
  gap:16px;
}

.agency-filter-panel__content{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.95fr);
  gap:16px;
  align-items:start;
}

.agency-filter-panel__group{
  display:grid;
  gap:10px;
}

.agency-filter-panel__group--sort{
  align-self:stretch;
}

.agency-filter-panel__label{
  color:#73859b;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.74rem;
  font-weight:800;
}

.agency-filter-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.agency-filter-field{
  display:grid;
  gap:6px;
}

.agency-filter-field--wide{
  grid-column:span 2;
}

.agency-filter-panel__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  align-items:end;
  padding-top:2px;
}

.agency-sortbox__controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:end;
}

.agency-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.agency-stat{
  padding:18px 18px 20px;
  border-radius:18px;
  border:1px solid var(--select-line);
  background:#fbfcfe;
  display:grid;
  gap:10px;
}

.agency-stat--soft{background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)}
.agency-stat--success{background:linear-gradient(180deg,#f1fbf4 0%,#ffffff 100%)}
.agency-stat--blue{background:linear-gradient(180deg,#eef8ff 0%,#ffffff 100%)}
.agency-stat--gold{background:linear-gradient(180deg,#fff8eb 0%,#ffffff 100%)}

.agency-stat__label{
  color:#73859b;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.74rem;
  font-weight:800;
}

.agency-stat__value{
  font-size:2rem;
  line-height:1;
  letter-spacing:-.04em;
}

.agency-empty{
  margin-top:18px;
  padding:28px;
  border:1px dashed var(--select-line);
  border-radius:22px;
  background:linear-gradient(180deg,#fbfcfe 0%,#ffffff 100%);
}

.agency-empty h3{
  margin:0 0 8px;
  font-size:1.5rem;
  letter-spacing:-.03em;
}

.agency-table-wrap{
  margin-top:20px;
  overflow:auto;
  border:1px solid var(--select-line);
  border-radius:20px;
  background:#fff;
}

.agency-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
}

.agency-table th,
.agency-table td{
  padding:16px 14px;
  border-bottom:1px solid var(--select-line);
  vertical-align:top;
  text-align:left;
}

.agency-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f8fafc;
  color:#7d8ea4;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.74rem;
  font-weight:800;
}

.agency-table tbody tr:hover{
  background:#fcfdff;
}

.agency-table tbody tr:last-child td{
  border-bottom:0;
}

.agency-table__primary{
  font-weight:800;
  color:var(--select-text);
}

.agency-table__progress-head{
  margin-bottom:8px;
  font-weight:800;
}

.agency-table__meter{
  width:140px;
  margin:0;
}

.agency-table__action{
  min-width:112px;
}

.home-pilot{
  display:grid;
  gap:24px;
}

.home-pilot__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}

.home-pilot__head h2,
.home-sidecard h2{
  margin:0 0 8px;
}

.home-pilot__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.home-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.home-kpi{
  padding:18px;
  border-radius:18px;
  border:1px solid var(--select-line);
  display:grid;
  gap:10px;
}

.home-kpi--soft{background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)}
.home-kpi--blue{background:linear-gradient(180deg,#eef8ff 0%,#ffffff 100%)}
.home-kpi--gold{background:linear-gradient(180deg,#fff8eb 0%,#ffffff 100%)}
.home-kpi--success{background:linear-gradient(180deg,#f1fbf4 0%,#ffffff 100%)}

.home-kpi__label{
  color:#73859b;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:800;
}

.home-kpi__value{
  font-size:2.25rem;
  line-height:1;
  letter-spacing:-.05em;
}

.home-sidecard{
  display:grid;
  gap:18px;
}

.home-sidecard__list{
  display:grid;
  gap:10px;
}

.home-sidecard__row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--select-line);
  background:#fbfcfe;
}

.home-sidecard__meta{
  display:grid;
  gap:8px;
  color:#73859b;
  font-size:.92rem;
}

.home-links-table .button{
  min-width:136px;
}

.listings-table{
  min-width:0;
  width:100%;
  table-layout:fixed;
  font-size:.95rem;
}

.listings-table thead th{
  background:linear-gradient(180deg,#fff8f7 0%,#f8fafc 100%);
}

.listings-table th,
.listings-table td{
  padding:12px 10px;
}

.listings-table th:nth-child(1),
.listings-table td:nth-child(1){width:26%}
.listings-table th:nth-child(2),
.listings-table td:nth-child(2){width:41%}
.listings-table th:nth-child(3),
.listings-table td:nth-child(3){width:10%}
.listings-table th:nth-child(4),
.listings-table td:nth-child(4){width:8%}
.listings-table th:nth-child(5),
.listings-table td:nth-child(5){width:15%}

.listings-table tbody tr{
  transition:background .18s ease, transform .18s ease;
}

.listings-table tbody tr:hover{
  background:linear-gradient(180deg,#fffdfc 0%,#f9fbff 100%);
}

.listings-table__property,
.listings-table__details,
.listings-table__status,
.listings-table__broadcast,
.listings-table__actions{
  min-width:0;
}

.listings-table__title{
  font-size:1rem;
  font-weight:800;
  color:var(--select-text);
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.listings-table__inline{
  display:flex;
  flex-wrap:nowrap;
  min-width:0;
  gap:6px;
  align-items:center;
}

.listings-table__stack{
  display:grid;
  gap:6px;
  min-width:0;
}

.listings-table__ref{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#fff1e9;
  color:#b85a20;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  flex:0 0 auto;
}

.listings-table__muted{
  font-size:.82rem;
  color:#7b8b9f;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.listings-table__truncate{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.listings-table__status{
  white-space:nowrap;
}

.listings-table__broadcast{
  white-space:nowrap;
}

.listings-table__actions-wrap{
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
}

.listings-table__actions .button,
.listings-table__broadcast .button{
  justify-content:center;
}

.listings-table__icon-button{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
  border-radius:11px;
}

.listings-table .badge{
  padding:5px 8px;
  font-size:.69rem;
}

.users-table-wrap{
  margin-top:4px;
}

.users-table{
  min-width:720px;
}

.settings-panel{
  padding:18px;
  border:1px solid var(--select-line);
  border-radius:18px;
  background:#fbfcfe;
  display:grid;
  gap:14px;
}

.settings-panel__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.settings-panel__head h3{
  margin:0 0 6px;
}

.settings-logo-preview{
  padding:18px;
  border:1px solid var(--select-line);
  border-radius:18px;
  background:#fff;
}

.settings-logo-preview img{
  display:block;
  max-width:280px;
  max-height:120px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.application-hero{
  display:grid;
  gap:20px;
}

.application-hero__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

.application-hero__head h2{
  margin:0 0 8px;
}

.application-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.application-meta__item{
  padding:16px 18px;
  border:1px solid var(--select-line);
  border-radius:18px;
  background:#fbfcfe;
  display:grid;
  gap:8px;
}

.application-meta__label,
.application-kpi__label{
  color:#73859b;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:800;
}

.application-progress{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}

.application-progress__meter{
  display:block;
  width:100%;
  min-width:180px;
  margin:0;
}

.application-progress__value{
  font-size:1rem;
  font-weight:800;
  color:var(--select-text);
}

.application-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.application-kpi{
  padding:18px;
  border-radius:18px;
  border:1px solid var(--select-line);
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
  display:grid;
  gap:10px;
}

.application-kpi__value{
  font-size:1.6rem;
  line-height:1.1;
  letter-spacing:-.04em;
}

.application-kpi__meter{
  margin:0;
}

.application-actions{
  display:grid;
  gap:18px;
}

.application-actions h2,
.application-summary h2{
  margin:0;
}

.application-actions__buttons{
  display:grid;
  gap:10px;
}

.application-reminder__open{
  width:100%;
}

.application-reminder__list{
  display:grid;
  gap:12px;
}

.application-reminder__mail{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--select-line);
  border-radius:16px;
  background:#fff;
}

.application-reminder__mail-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.application-reminder__subject{
  display:grid;
  gap:4px;
}

.application-reminder__subject input,
.application-reminder__editor textarea{
  width:100%;
  padding:14px;
  border:1px solid var(--select-line);
  border-radius:14px;
  background:#f8fafc;
  color:var(--select-text);
  font:inherit;
}

.application-reminder__editor{
  display:grid;
  gap:6px;
}

.application-reminder__editor textarea{
  line-height:1.5;
  resize:vertical;
  min-height:240px;
}

.application-reminder__send{
  display:grid;
  gap:10px;
}

.application-mail-modal{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.application-mail-modal[hidden]{
  display:none !important;
}

.application-mail-modal.is-open{
  opacity:1;
  pointer-events:auto;
}

.application-mail-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(24,34,49,.42);
  backdrop-filter:blur(4px);
}

.application-mail-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1080px, calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  border:1px solid var(--select-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 56px rgba(24,34,49,.2);
  overflow:hidden;
}

.application-mail-modal__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:24px 24px 18px;
  border-bottom:1px solid var(--select-line);
}

.application-mail-modal__head h2{
  margin:6px 0 0;
}

.application-mail-modal__close{
  width:42px;
  height:42px;
  border:none;
  border-radius:12px;
  background:#eef3f8;
  color:var(--select-text);
  cursor:pointer;
}

.application-mail-modal__content{
  overflow:auto;
  display:grid;
  gap:16px;
  padding:24px;
  background:#f9fbfe;
}

.application-summary{
  display:grid;
  gap:18px;
}

.application-summary__list li{
  align-items:center;
}

.application-summary__footer{
  display:flex;
}

.application-table-wrap{
  overflow:auto;
  border:1px solid var(--select-line);
  border-radius:18px;
  background:#fff;
}

.application-table{
  min-width:760px;
  table-layout:fixed;
}

.application-table th:nth-child(1),
.application-table td:nth-child(1){
  width:34%;
}

.application-table__primary{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:800;
  color:var(--select-text);
}

.application-doc-groups{
  display:grid;
  gap:16px;
}

.application-doc-group{
  padding:18px;
  border:1px solid var(--select-line);
  border-radius:20px;
  background:#fbfcfe;
  display:grid;
  gap:14px;
}

.application-doc-group__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  cursor:pointer;
  list-style:none;
}

.application-doc-group__title{
  font-size:1.05rem;
  font-weight:800;
  color:var(--select-text);
}

.application-doc-group__meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.application-doc-group__head::-webkit-details-marker{
  display:none;
}

.application-doc-group__head::after{
  content:'+';
  margin-left:auto;
  font-size:1.4rem;
  line-height:1;
  color:#7f8ea1;
}

.application-doc-group[open] .application-doc-group__head::after{
  content:'-';
}

.application-doc-group__body{
  padding-top:2px;
}

.application-doc-types{
  display:grid;
  gap:14px;
}

.application-doc-type{
  padding:14px;
  border:1px solid var(--select-line);
  border-radius:16px;
  background:#fff;
  display:grid;
  gap:12px;
}

.application-doc-type__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.application-doc-type__title{
  font-weight:800;
  color:var(--select-text);
}

.document-review-note{
  margin-top:6px;
  color:#b12626;
}

.document-review-actions{
  min-width:240px;
}

.document-review-ui{
  display:grid;
  gap:10px;
  padding:8px;
  border:1px solid #edf2f7;
  border-radius:14px;
  background:#f8fafc;
}

.document-review-ui__toolbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.document-review-form{
  display:grid;
  gap:8px;
}

.document-review-form--inline{
  margin-bottom:0;
  display:flex;
}

.document-review-form input[type="text"]{
  min-width:220px;
}

.document-review-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid transparent;
  background:#eef3f8;
  color:#33485f;
  font-size:1.1rem;
  font-weight:800;
  cursor:pointer;
  flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease, filter .16s ease;
}

.document-review-icon:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(31,50,81,.14);
}

.document-review-icon--valid{
  background:#e9f8ef;
  color:#1f8f54;
}

.document-review-icon--danger{
  background:#fdeeee;
  color:#b12626;
}

.document-review-icon--selected{
  transform:none;
  box-shadow:0 0 0 2px rgba(31,50,81,.08), 0 10px 20px rgba(31,50,81,.12);
  filter:saturate(1.05);
}

.document-review-form--refuse{
  display:none;
  margin-top:10px;
  width:100%;
  min-width:240px;
  padding:14px;
  border:1px solid #f1dada;
  border-radius:14px;
  background:#fffafa;
  box-shadow:0 14px 28px rgba(177,38,38,.08);
}

.document-review-ui.is-refusing .document-review-form--refuse{
  display:grid;
}

.document-row--focus td{
  background:#fff9e8;
  transition:background .35s ease;
}

.metric-icon{
  width:60px;
  height:60px;
  border-radius:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

.metric-icon--red{background:#fdeeee;color:#c62828}
.metric-icon--blue{background:#eaf6ff;color:#1084c1}
.metric-icon--gold{background:#fff4df;color:#b97a0c}
.metric-icon--green{background:#ecf8f0;color:#26794b}

.metric-value{
  margin-top:32px;
  font-size:3rem;
  font-weight:800;
  letter-spacing:-.05em;
}

.surface-card h2{
  margin:0 0 6px;
  font-size:1.9rem;
  letter-spacing:-.04em;
}

.surface-card__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:20px;
}

.simple-table{
  width:100%;
  border-collapse:collapse;
}

.simple-table th,
.simple-table td{
  text-align:left;
  padding:14px 12px;
  border-bottom:1px solid var(--select-line);
  vertical-align:top;
}

.simple-table th{
  color:#8493a6;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  font-weight:700;
}

.list{
  display:grid;
  gap:10px;
  list-style:none;
  margin:0;
  padding:0;
}

.list.split li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--select-line);
  background:#fbfcfe;
}

.doc-block{
  border:1px solid var(--select-line);
  border-radius:18px;
  padding:16px;
  background:#fbfcfe;
  display:grid;
  gap:12px;
}

.doc-block__head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.doc-block__split{
  display:grid;
  grid-template-columns:minmax(260px, .95fr) minmax(0,1.05fr);
  gap:14px;
}

.doc-upload-pane,
.doc-library-pane{
  min-width:0;
  border:1px solid var(--select-line);
  border-radius:18px;
  background:#fff;
  padding:14px;
}

.upload-dropzone{
  min-height:200px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  border:2px dashed #d4ddeb;
  border-radius:18px;
  background:linear-gradient(180deg,#fcfdff 0%,#f8fbff 100%);
  color:#61748b;
  padding:20px;
  cursor:pointer;
  transition:border-color .16s ease, transform .16s ease, background .16s ease;
}

.upload-dropzone:hover,
.upload-dropzone.is-dragover{
  border-color:#e2a4a4;
  background:linear-gradient(180deg,#fff8f8 0%,#fffdfd 100%);
  transform:translateY(-1px);
}

.upload-dropzone__icon{
  width:52px;
  height:52px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--select-primary-soft);
  color:var(--select-primary);
  font-size:1.8rem;
  line-height:1;
}

.upload-dropzone__meta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:#f3f6fa;
  color:#66798f;
  font-size:.82rem;
  font-weight:700;
}

.upload-dropzone__input{
  display:none;
}

.doc-library-pane{
  display:grid;
  gap:12px;
  align-content:start;
  min-height:200px;
}

.doc-library-pane__title{
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8294aa;
}

.doc-library-empty{
  min-height:138px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#8a9bb0;
  border:1px dashed var(--select-line);
  border-radius:16px;
  background:#fbfcfe;
  padding:16px;
}

.doc-files{
  display:grid;
  gap:10px;
  min-width:0;
}

.doc-file{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--select-line);
  background:#fff;
}

.doc-file > div:first-child{
  flex:1 1 auto;
  min-width:0;
}

.doc-file a{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.doc-file .button-danger{
  flex:0 0 auto;
}

.meter{
  height:14px;
  border-radius:999px;
  background:#e7edf5;
  overflow:hidden;
  margin:16px 0 14px;
}

.meter-fill{
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c62828 0%,#ffb3ad 100%);
}

.footer-note{
  margin-top:22px;
  color:#7b8b9f;
  font-size:.94rem;
}

.requirements-board{
  display:grid;
  gap:20px;
}

.requirements-group{
  padding:22px;
  border:1px solid var(--select-line);
  border-radius:24px;
  background:#fcfdff;
}

.requirements-group--candidate{
  background:
    radial-gradient(circle at 10% 12%, rgba(198,40,40,.06), transparent 24%),
    linear-gradient(135deg,#fff9f9 0%,#ffffff 50%,#fbfdff 100%);
}

.requirements-group__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.requirements-group__head h3{
  margin:0;
  font-size:1.45rem;
  letter-spacing:-.03em;
}

.requirements-group__count{
  flex:0 0 auto;
  padding:10px 14px;
  border-radius:999px;
  background:#edf3fb;
  color:#5f7389;
  font-size:.86rem;
  font-weight:800;
}

.requirements-empty{
  padding:18px;
  border:1px dashed var(--select-line);
  border-radius:18px;
  color:#7c8ea3;
  background:#fff;
}

.requirements-stack{
  display:grid;
  gap:16px;
}

.requirement-card{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid rgba(198,40,40,.10);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 24px rgba(36,54,75,.05);
}

.requirement-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.requirement-card__label{
  font-size:1.08rem;
  font-weight:800;
  color:#213449;
}

.requirement-card__code{
  margin-top:4px;
  color:#8294a9;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.requirement-card__badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.requirement-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#eef4fb;
  color:#597089;
  font-size:.8rem;
  font-weight:800;
}

.requirement-chip--required{
  background:#fdeeee;
  color:#c62828;
}

.requirement-toggle{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding-bottom:14px;
}

.requirement-toggle label{
  margin:0;
}

@media (max-width:1180px){
  .app-shell{grid-template-columns:1fr}
  .sidebar-overlay{
    display:block;
    position:fixed;
    inset:0;
    border:0;
    padding:0;
    background:rgba(20,31,45,.38);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
    z-index:39;
  }
  .sidebar{
    position:fixed;
    top:0;
    left:0;
    z-index:40;
    width:min(320px, calc(100vw - 36px));
    height:100vh;
    border-right:1px solid var(--select-line);
    border-bottom:0;
    transform:translateX(-100%);
    transition:transform .2s ease;
    box-shadow:0 20px 40px rgba(20,31,45,.16);
  }

  .app-shell.is-menu-open .sidebar{
    transform:translateX(0);
  }

  .app-shell.is-menu-open .sidebar-overlay{
    opacity:1;
    pointer-events:auto;
  }

  .burger-button{
    display:inline-flex;
  }

  .topbar{
    grid-template-columns:52px minmax(0,1fr) 74px;
  }
}

@media (max-width:980px){
  .public-grid,
  .candidate-layout,
  .dashboard-hero{
    grid-template-columns:1fr;
  }

  .topbar{
    grid-template-columns:52px 1fr 74px;
  }

  .topbar-search{
    grid-template-columns:1fr;
  }

  .agency-stats{
    grid-template-columns:1fr;
  }

  .home-pilot__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .settings-panel__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .home-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .application-meta,
  .application-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .application-progress{
    grid-template-columns:1fr;
    align-items:start;
  }

  .agency-filter-panel{
    gap:14px;
  }

  .requirements-group__head,
  .requirement-card__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .agency-filter-panel__content{
    grid-template-columns:1fr;
  }

  .agency-filter-grid{
    grid-template-columns:1fr;
  }

  .agency-filter-field--wide{
    grid-column:auto;
  }

  .agency-sortbox__controls{
    grid-template-columns:1fr;
  }

  .span-8,.span-7,.span-6,.span-5,.span-4{
    grid-column:span 12;
  }

  .grid-2,.grid-3{
    grid-template-columns:1fr;
  }

  .content{
    padding:16px;
  }

  .dashboard-hero{
    padding:26px 24px;
  }

  .dashboard-hero h1,
  .hero-title{
    font-size:2.35rem;
  }

  .doc-file,
  .actions{
    flex-direction:column;
    align-items:stretch;
  }

  .panel-head,
  .applicant-card__head,
  .guarantor-choice__content{
    flex-direction:column;
    align-items:stretch;
  }

  .guarantor-choice__actions{
    justify-content:flex-start;
  }

  .doc-block__split{
    grid-template-columns:1fr;
  }

  .application-doc-group__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .users-table{
    min-width:0;
  }

  .users-table thead{
    display:none;
  }

  .users-table,
  .users-table tbody,
  .users-table tr,
  .users-table td{
    display:block;
    width:100%;
  }

  .users-table tbody{
    padding:12px;
  }

  .users-table tr{
    margin-bottom:12px;
    border:1px solid var(--select-line);
    border-radius:18px;
    background:#fff;
    overflow:hidden;
  }

  .users-table td{
    border-bottom:1px solid var(--select-line);
    padding:12px 14px;
  }

  .users-table td:last-child{
    border-bottom:0;
  }

  .users-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:6px;
    color:#7d8ea4;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.72rem;
    font-weight:800;
  }
}

@media (max-width:640px){
  .public-page{
    padding:20px 14px 32px;
  }

  .body-lock{
    overflow:hidden;
  }

  .login-screen__panel{
    padding:24px 18px;
    border-radius:24px;
  }

  .login-screen__content{
    grid-template-columns:1fr;
    margin-top:24px;
  }

  .login-screen__logo-stage{
    padding:20px;
  }

  .login-screen__form{
    padding:22px 18px;
  }

  .public-page--candidate{
    padding-top:12px;
  }

  .auth-card,
  .auth-hero,
  .surface-card,
  .card{
    padding:20px 18px;
    border-radius:22px;
  }

  .auth-brand{
    max-width:240px;
    margin-bottom:24px;
  }

  .auth-brand__logo{
    max-width:240px;
  }

  .hero-title{
    font-size:1.9rem;
    line-height:1.05;
  }

  .hero-text{
    font-size:1rem;
    line-height:1.6;
  }

  .hero-illustration{
    max-width:240px;
    margin-top:22px;
    margin-left:0;
  }

  .candidate-progress{
    padding:14px 14px;
  }

  .candidate-progress__head{
    align-items:flex-start;
    flex-direction:column;
  }

  .application-hero__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .application-meta,
  .application-kpis{
    grid-template-columns:1fr;
  }

  .home-kpis{
    grid-template-columns:1fr;
  }

  .home-sidecard__row{
    flex-direction:column;
  }

  .application-progress{
    grid-template-columns:1fr;
  }
}
