*{box-sizing:border-box}body{margin:0;background:#f2f3f8;color:#1d2548;font:16px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}button{min-height:44px;border:0;border-radius:12px;padding:10px 14px;color:#3646b5;background:#eef0fc;font-weight:600;cursor:pointer}button:disabled{opacity:.45}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #d9ddeb;background:#fff;border-radius:12px;min-height:46px;color:#1d2548}textarea{min-height:82px}label{display:block;font-size:13px;font-weight:600;margin:14px 0 8px}header{position:sticky;top:0;background:#fffefaee;backdrop-filter:blur(15px);padding:14px 20px;border-bottom:1px solid #e2e5ef;z-index:3;display:flex;justify-content:space-between;align-items:center}header b{font-size:23px}header span{font-size:11px;color:#59617b}main{max-width:520px;margin:auto;padding:22px 18px 110px}h1{font-size:30px;line-height:1.15;letter-spacing:-.04em;margin:5px 0 16px}h2{font-size:20px;margin:5px 0 10px}p{margin:0 0 12px;color:#59617b}.label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#3646b5;font-weight:700}.card{background:white;border-radius:19px;padding:18px;margin:16px 0;border:1px solid #e4e7f0}.notice{border-radius:15px;background:#e9ecff;padding:14px;font-size:13px;color:#414b79;margin:14px 0}.tag{display:inline-block;padding:4px 8px;border-radius:6px;background:#eef0fc;color:#3646b5;font-size:11px;font-weight:700}.primary{background:#3646b5;color:white;width:100%}.row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.row>*{flex:1}.row button{font-size:13px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px}.check input{width:22px;min-height:22px;margin:0;flex-shrink:0}.tabs{position:fixed;bottom:0;left:0;right:0;background:#ffffffee;backdrop-filter:blur(15px);border-top:1px solid #e1e5ef;padding:8px 8px max(8px,env(safe-area-inset-bottom));display:flex;z-index:4}.tabs button{flex:1;background:transparent;color:#59617b;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px}.tabs button span{font-size:19px;line-height:1}.tabs button[aria-current=page]{color:#3646b5;background:#eef0fc}.meter{height:6px;border-radius:10px;background:#eceffa;margin:10px 0}.meter i{display:block;height:100%;border-radius:10px;background:#3646b5}small{font-size:12px;color:#59617b}hr{border:0;border-top:1px solid #e4e7f0;margin:16px 0}canvas{display:block;width:100%;max-width:340px;margin:15px auto;border-radius:18px;background:#fff;border:1px solid #e1e5ef}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3646b5;outline-offset:3px}.message{font-size:13px;min-height:18px;color:#3646b5;margin:12px 0}[hidden]{display:none!important}.danger{color:#a32239;background:#fff0f3}.scene{display:flex;align-items:center;gap:10px;border-top:1px solid #e4e7f0;padding:12px 0}.scene button{min-width:44px;font-size:14px}.scene img{width:46px;height:46px}.scene div{flex:1;min-width:0;overflow-wrap:anywhere}.counter{font-size:38px;font-weight:700;color:#1d2548;letter-spacing:-.04em}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid .card{margin:0}

@font-face{font-family:Manrope;src:url(fonts/manrope400.ttf);font-weight:400}@font-face{font-family:Manrope;src:url(fonts/manrope600.ttf);font-weight:600}@font-face{font-family:Manrope;src:url(fonts/manrope700.ttf);font-weight:700}body{font-family:Manrope,sans-serif}.identity{display:flex;align-items:center;gap:10px;text-decoration:none;color:#1d2548;min-height:44px}.identity b{font-size:26px}header span{max-width:135px;text-align:right;font-size:10px}

.tabs{grid-template-columns:repeat(5,1fr)}.tabs button{font-size:11px;padding:8px 3px}dd{margin:0 0 16px;overflow-wrap:anywhere}dt{font-size:12px;color:#59617b}h1,h2{overflow-wrap:anywhere}.identity{text-decoration:none;color:inherit}.card button{margin-top:10px}select{max-width:100%}
/* Compact company filters: allow grid tracks and native controls to shrink,
   retain 44px touch targets and the browser's text scaling/zoom. */
#companies>.grid,#companies details .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#companies>.grid>label,#companies details label{min-width:0;margin:6px 0;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
#companies select{min-width:0;width:100%;font-size:16px;line-height:1.25;min-height:44px;padding:8px 6px;border-radius:10px;margin-top:4px}
#companies details.card{padding:12px;margin:12px 0}
#companies details summary{font-size:14px;min-height:44px;display:list-item;align-content:center}
#companies details[open] summary{margin-bottom:4px}
@media(max-width:320px){main{padding-left:12px;padding-right:12px}#companies details.card{padding:10px}#companies details .grid{gap:6px}}
@media(max-width:340px){header{padding:10px 12px;gap:8px}.identity{min-width:0;gap:6px}.identity b{white-space:nowrap;font-size:20px}.identity svg{flex-shrink:0;width:24px;height:24px}header span{max-width:95px;min-width:0}.tabs{padding-left:2px;padding-right:2px}.tabs button{min-width:0;flex-basis:0;padding-left:1px;padding-right:1px;overflow-wrap:anywhere}.tabs button span{flex-shrink:0}#companies details .grid{align-items:end}}
#companies>.grid{align-items:end}#companies>.grid input{min-width:0;font-size:16px;line-height:1.25;min-height:44px;padding:8px 6px;border-radius:10px;margin-top:4px}#companies>#cityNote{display:block;margin:8px 0;line-height:1.45}
@media(max-width:340px){#companies>.grid{grid-template-columns:minmax(0,1fr)}}
#companyList .card,#companyBody .card{min-width:0;max-width:100%;overflow-wrap:anywhere}#companyList .card>*,#companyBody .card>*{max-width:100%;min-width:0}#companyList .card button{width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}#companyList h2{line-height:1.3}#companyList small{display:block;overflow-wrap:anywhere}#companyBody a{overflow-wrap:anywhere}
.officialJob{padding:14px 0;border-top:1px solid #e4e7f0}.officialJob h3{font-size:17px;line-height:1.35;margin:4px 0 8px;overflow-wrap:anywhere}#officialCompany p,#activeJobs p{overflow-wrap:anywhere}
/* Keep label glyphs clear of native borders and the offset focus ring,
   including Android text scaling. Never place the control against label text. */
#resumes label:not(.check){line-height:1.6;overflow-wrap:anywhere}
#resumes label:not(.check)>input,#resumes label:not(.check)>select,#resumes label:not(.check)>textarea{margin-top:12px;line-height:1.45}
#candidateSelect{font-size:16px;min-height:48px}
#resumes .card,#resumes .card>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
/* Mobile-first Companies layout. Intrinsic control widths never set track widths. */
main,section,.grid,.grid>*,.filterPanel{min-width:0;max-width:100%}
header{gap:12px}header>*{min-width:0}.tabs button{min-width:0;flex-basis:0;overflow-wrap:anywhere}
#companies p,#companies small,#companies .notice,#companies a{overflow-wrap:anywhere}
#companies h1{font-size:1.75rem;line-height:1.2;margin-bottom:12px}
#companies>.filterPanel{background:#fff;border:1px solid #e4e7f0;border-radius:18px;padding:16px;margin:20px 0}
#companies .filterPanel>.grid,#companies details .grid{grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
#companies label,#companies .filterPanel>.grid>label,#companies details label{display:flex;flex-direction:column;gap:12px;font-size:.875rem;line-height:1.6;margin:0;min-width:0;max-width:100%}
#companies .filterPanel>label{margin-bottom:20px}
#companies input,#companies select{width:100%;max-width:100%;min-width:0;min-height:52px;height:auto;font-size:1rem;line-height:1.5;padding:12px 10px;margin:0;border-radius:12px}
#companies label small{display:block;font-size:.8125rem;font-weight:400;line-height:1.6;margin:0;max-width:100%}
#companies #districtCityShortcut{grid-column:1/-1}
#companies #cityNote{font-size:.8125rem;line-height:1.65;padding:12px;margin:16px 0;background:#f2f3f8}
#companies details.card{padding:14px;margin:16px 0;border-radius:12px;background:#f8f9fc}
#companies details summary{font-size:.9375rem;line-height:1.6;min-height:48px;padding:8px 0}
#companies details[open] summary{margin-bottom:16px}
#companies button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5;min-height:48px}
#companies #clearCompany{width:100%;font-size:.875rem;background:#f2f3f8}
#companyList h2{font-size:1.125rem;line-height:1.45;margin:0 0 12px}
#companyList .card{padding:18px;margin:16px 0}
#companyList p{font-size:.9375rem;line-height:1.6}#companyList small{font-size:.8125rem;line-height:1.65}
#companies #companyCount{font-size:.875rem;line-height:1.7;margin:16px 0}#companies #more{width:100%;margin:8px 0 16px}
#companies .notice{font-size:.8125rem;line-height:1.65}
@media(max-width:412px){header{padding:12px 16px}.identity b{font-size:1.375rem}header span{font-size:.625rem;max-width:110px}.tabs button{font-size:.6875rem;line-height:1.5}main{padding-left:16px;padding-right:16px}#companies>.filterPanel{padding:14px}}
.searchPicker{position:relative;width:100%;min-width:0}.searchPicker [role=listbox]{max-height:260px;overflow:auto;background:#fff;border:1px solid #d9ddeb;border-radius:12px;margin-top:8px;padding:6px}.searchPicker [role=option]{display:block;width:100%;text-align:left;background:#fff;font-weight:400;padding:12px;min-height:48px;border-radius:8px;white-space:normal}.searchPicker [role=option]:hover,.searchPicker .pickerActive{background:#e9ecff}.searchPicker small{display:block;margin-top:12px!important;line-height:1.6}
#companyCorrection label:not(.check){display:flex;flex-direction:column;gap:12px;line-height:1.6}#companyCorrection textarea{min-height:130px}#companyCorrection input,#companyCorrection textarea{font-size:1rem;max-width:100%;min-width:0}#companyCorrection p,#companyCorrection .notice{overflow-wrap:anywhere}#correctionStatus{margin-top:16px;line-height:1.6}.correction button{width:100%;white-space:normal;font-size:.875rem;line-height:1.6}
.geoChips{display:flex;flex-wrap:wrap;gap:8px}.geoChips:empty{display:none}.geoChip{max-width:100%;min-height:44px;padding:8px 12px;text-align:left;overflow-wrap:anywhere;font-size:.875rem}.geoOptions{max-height:260px;overflow:auto;background:white;border:1px solid #d9ddeb;border-radius:12px;padding:6px}.geoOptions [role=option]{display:block;width:100%;text-align:left;min-height:48px;font-weight:400;white-space:normal;background:white}.geoOptions .pickerActive,.geoOptions [role=option]:hover{background:#e9ecff}.multiGeo small{line-height:1.6}.multiGeo{min-width:0}
