/* Портал кандидата. Цвета и шрифты — из premium-ui (переменные --pu-*), здесь каркас и блоки портала. */
:root{
  --bg:var(--pu-bg);--card:var(--pu-surface);--surface:var(--pu-surface);--surface-soft:var(--pu-surface-soft);
  --text:var(--pu-text);--ink:var(--pu-text);--muted:var(--pu-muted);--brand:var(--pu-accent);
  --brand-dark:var(--pu-accent-text);--brand-soft:var(--pu-accent-soft);--line:var(--pu-line);
  --danger:#b42318;--warning:#b7791f;--shadow:0 12px 30px rgba(16,27,53,.12);
  --font-body:var(--pu-font-body);--font-display:var(--pu-font-display);
  --topbar-height:65px
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background-color:var(--bg);background-image:url("/portal-static/pattern.png");background-repeat:no-repeat;background-position:center;background-size:cover;background-attachment:fixed;color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.45}
body,button,input,select,textarea{font-family:var(--font-body)}
h1,h2,h3,h4{margin:0;color:var(--text);font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:1.08}
p{margin:0}a{color:inherit}img{max-width:100%}form{margin:0}
:focus-visible{outline:3px solid rgba(37,185,139,.25);outline-offset:2px}

/* Shared PremiumCRM topbar */
.topbar{position:fixed;z-index:20;inset:0 0 auto;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1100px)/2));border:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(16px);font-family:var(--font-display);font-weight:400;text-transform:uppercase}
.brand{display:flex;align-items:center;height:100%;color:var(--text);text-decoration:none}
.brand img{width:auto;height:calc(var(--topbar-height) - 20px);object-fit:contain}
.topnav{display:flex;align-items:center;height:100%;gap:4px}
.topnav>a{height:100%;display:flex;align-items:center;padding:0 15px;border-bottom:3px solid transparent;color:var(--muted);font-family:var(--font-display);font-size:16px;text-decoration:none}
.topnav>a:hover,.topnav>a.is-active{color:var(--brand);border-color:var(--brand)}

.eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(37,185,139,.12);color:var(--brand-dark);font-family:var(--font-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.primary-button,.secondary-button,.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid transparent;border-radius:12px;font:inherit;text-decoration:none;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.primary-button{background:var(--brand);color:#fff}.primary-button:hover{background:var(--brand-dark);transform:translateY(-1px)}
.primary-button:disabled{background:var(--pu-gray-300);cursor:default;transform:none}
.secondary-button,.secondary-link{border-color:var(--line);background:#fff;color:var(--ink)}

/* Profile service layout — mirrors PremiumCRM user/profile */
.cabinet-shell{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:89px 0 70px}
.profile-shell{display:grid;gap:16px}
.profile-social__grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}
.profile-summary{position:sticky;top:89px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.profile-summary__cover{position:relative;height:112px;background:linear-gradient(135deg,var(--pu-navy-900),var(--pu-brand-green))}
.profile-summary__avatar{display:grid;justify-content:center;margin:-54px 0 0;position:relative;z-index:2}
.profile-avatar{display:grid;place-items:center;width:108px;height:108px;border:6px solid #fff;border-radius:50%;background:linear-gradient(135deg,#fff,var(--pu-green-50));box-shadow:0 8px 25px rgba(16,27,53,.2);color:var(--brand-dark);font-size:38px}
.profile-summary__body{display:grid;gap:10px;padding:16px 24px 24px}
.profile-summary__body h1{font-size:28px;text-align:center;letter-spacing:-.025em}
.profile-summary__body_body{display:grid;gap:10px;justify-items:center;text-align:center}
.profile-summary__body_body p,.profile-subtitle{color:var(--muted)}
.profile-email{color:var(--brand-dark);text-decoration:none}
.profile-summary__stat{display:flex;justify-content:center;align-items:baseline;gap:7px;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}
.profile-summary__stat strong{font-size:24px}.profile-summary__stat span{color:var(--muted)}
.profile-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.push-settings{display:grid;gap:8px}.push-settings[hidden]{display:none}
.push-settings button{width:100%}.push-status{font-size:14px;color:var(--muted);line-height:1.4}
.profile-status{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);color:#fff;font-size:14px}
.profile-wall{display:grid;gap:16px}
.content-card{padding:24px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 36px rgba(16,27,53,.07)}
.section-heading{display:grid;gap:10px;margin-bottom:16px}.section-heading h2{font-size:26px}
.activation-panel{background:linear-gradient(180deg,#fff,var(--pu-gray-50))}
.activation-panel>p{color:var(--muted);font-size:16px;line-height:1.58}
.activation-panel .card-actions{display:flex;margin-top:18px}
.activation-panel.status-card--pending{border-color:#eadab5;background:linear-gradient(135deg,#fffaf0,#fff)}
.activation-panel.status-card--danger{border-color:#efcbc7;background:linear-gradient(135deg,#fff5f4,#fff)}
.activation-panel.status-card--success{border-color:var(--pu-green-200);background:linear-gradient(135deg,var(--pu-green-50),#fff)}
.profile-status.status-card--pending{background:rgba(183,121,31,.82)}
.profile-status.status-card--danger{background:rgba(180,35,24,.82)}
.profile-status.status-card--success{background:rgba(37,185,139,.82)}

.wall-feed{display:grid;gap:12px}
.wall-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.wall-item__avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--pu-accent-soft);color:var(--brand-dark);font-family:var(--font-display);font-size:18px}
.wall-item__content{min-width:0}.wall-item__meta{display:flex;justify-content:space-between;gap:12px}.wall-item__meta strong{font-weight:700}.wall-item__meta span{color:var(--muted);font-size:13px}
.wall-item__content>p{margin-top:8px;color:var(--pu-navy-600);white-space:pre-wrap;line-height:1.55}
.wall-empty{padding:42px;text-align:center;border:1px dashed var(--pu-gray-200);border-radius:18px;color:var(--muted)}
.wall-empty h2{margin-bottom:8px;font-size:22px}
.attachment-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.attachment-list a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand-dark);font-size:13px;text-decoration:none}

/* CRM mini chat */
.mini-chat{position:fixed;z-index:30;right:22px;bottom:22px}.mini-chat__launchers{display:flex;align-items:flex-end;flex-direction:column;gap:9px}
.mini-chat__launcher{display:flex;align-items:center;gap:9px;height:48px;padding:0 18px;border:0;border-radius:24px;background:var(--brand);box-shadow:0 10px 28px rgba(14,129,92,.25);color:#fff;font:inherit;cursor:pointer}
.mini-chat__launcher--notifications{background:#fff;color:var(--brand-dark);border:1px solid var(--line)}
.mini-chat__launcher:hover{background:var(--brand-dark)}.chat-icon{font-size:18px}
.mini-chat__launcher--notifications:hover{color:#fff}
.mini-chat__launcher b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;color:var(--brand-dark);font-size:11px}
.mini-chat__window{width:min(360px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(16,27,53,.19)}
.mini-chat__window[hidden],.mini-chat__launcher[hidden],[hidden]{display:none!important}
.mini-chat__window>header{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 16px;border-bottom:1px solid var(--line);font-family:var(--font-display)}
.mini-chat__window>header>div{display:flex;align-items:center;gap:9px}.mini-chat__window header p{display:grid;margin:0}.mini-chat__window header small{color:var(--muted);font-family:var(--font-body);font-size:11px}
.support-avatar{width:34px;height:34px;object-fit:contain}.mini-chat__window header button{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:var(--muted);font:inherit;font-size:20px;cursor:pointer}.mini-chat__window header button:hover{background:var(--bg);color:var(--text)}
.mini-chat__messages{display:flex;flex-direction:column;gap:9px;height:min(430px,calc(100vh - 190px));padding:14px;overflow-y:auto;background:var(--pu-surface-soft)}
.chat-message{align-self:flex-start;max-width:88%;padding:10px 12px 7px;border:1px solid var(--line);border-radius:4px 12px 12px;background:#fff}.chat-message--user{align-self:flex-end;border-color:var(--pu-green-200);border-radius:12px 4px 12px 12px;background:var(--brand-soft)}
.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere}.chat-message>a:not(.chat-file){display:inline-flex;margin-top:7px;padding:6px 9px;border-radius:8px;background:var(--brand);color:#fff;font-size:13px;text-decoration:none}.chat-message time{display:block;margin-top:4px;color:var(--pu-gray-400);font-size:10px;text-align:right}.chat-empty{margin:auto;max-width:240px;color:var(--muted);text-align:center}
.chat-media{margin-top:7px}.chat-media img,.chat-media video{display:block;width:auto;max-width:100%;max-height:260px;border-radius:9px}.chat-media audio{display:block;width:250px;max-width:100%}.chat-media a{display:block;padding:0;background:none}.chat-file{color:var(--brand-dark);font-size:13px;overflow-wrap:anywhere;text-decoration:underline}
.mini-chat__composer{display:grid;grid-template-columns:36px minmax(0,1fr) 40px;gap:8px;padding:10px;border-top:1px solid var(--line)}.mini-chat__composer textarea{min-height:40px;max-height:100px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;outline:0;resize:none}.mini-chat__composer textarea:focus{border-color:var(--brand)}.mini-chat__composer button{width:40px;height:40px;border:0;border-radius:50%;background:var(--brand);color:#fff;font-size:19px;cursor:pointer}.mini-chat__attach{display:grid;place-items:center;width:36px;height:40px;border:1px solid var(--line);border-radius:10px;color:var(--brand);font-size:23px;cursor:pointer}.mini-chat__attach:hover{background:var(--brand-soft)}.mini-chat__attach input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.mini-chat__files{grid-column:1/-1;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.mini-chat__error{margin:-4px 12px 9px;color:var(--danger);font-size:12px}

/* Actions use PremiumCRM content cards */
.action-shell{display:grid;gap:16px;width:min(840px,calc(100% - 32px));margin:0 auto;padding:89px 0 70px}
.back-link{width:max-content;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--brand)}
.action-hero,.action-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,27,53,.05)}
.action-hero{display:grid;gap:10px;padding:24px}.action-hero h1{font-size:clamp(28px,4vw,36px)}.action-hero p{color:var(--muted)}
.action-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:24px}.step-number{font-family:var(--font-display);font-size:34px;color:var(--brand)}
.action-card__body{display:grid;justify-items:start;gap:14px}.action-card__body h2{font-size:28px}.action-card__body>p,.step-text{color:var(--pu-navy-600);line-height:1.6;white-space:pre-wrap}.action-card--warning .step-number{color:var(--warning)}
.upload-form{display:grid;gap:12px;width:100%}.file-drop{position:relative;display:grid;gap:3px;width:100%;padding:16px;border:1px dashed var(--line);border-radius:14px;background:var(--bg);cursor:pointer}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop span{color:var(--brand-dark)}.file-drop small{color:var(--muted)}
.form-alert{padding:12px 16px;border-radius:12px}.form-alert--error{background:#fff0ee;color:var(--danger)}

/* Questionnaire: PremiumCRM form controls and panels */
.form-shell{width:min(900px,calc(100% - 32px));margin:0 auto;padding:89px 0 70px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.city-gate{display:grid;gap:20px;padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.city-gate__header{display:grid;gap:8px}.city-gate__header h1{font-size:clamp(32px,5vw,48px)}.city-gate__header p{color:var(--muted);font-size:17px}
.city-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}.city-option{position:relative;cursor:pointer}.city-option input{position:absolute;opacity:0}.city-option span{display:grid;place-items:center;min-height:52px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--pu-navy-600);text-align:center;transition:border-color .16s ease,background .16s ease,transform .16s ease}.city-option:hover span{transform:translateY(-1px);border-color:var(--pu-green-300)}.city-option input:focus-visible+span{outline:3px solid rgba(37,185,139,.2);outline-offset:2px}.city-option input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);font-weight:700}
.city-offer{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.15fr);gap:26px;align-items:start;padding-top:20px;border-top:1px solid var(--line)}.city-offer__image{display:block;width:100%;border-radius:18px;box-shadow:0 12px 32px rgba(16,27,53,.14)}.city-offer__content{display:grid;gap:18px}.city-offer__content h2{font-size:clamp(25px,4vw,32px);text-align:center}.city-benefits{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:var(--pu-navy-700)}.city-benefits li{position:relative;padding-left:25px;line-height:1.4}.city-benefits li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}.city-offer__continue{width:100%;min-height:50px}
.form-intro{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
/* .form-intro::before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:var(--brand)} */
.form-intro__logo{display:block;width:210px;margin-bottom:22px}.form-intro h1{margin:5px 0 10px;font-size:clamp(32px,5vw,48px)}.form-intro p{max-width:590px;color:var(--muted);font-size:17px}.form-progress{display:grid;place-items:center;width:78px;height:78px;border:6px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;color:var(--brand-dark);font-size:18px}
.form-intro>.form-intro__banner{grid-column:1/-1;width:calc(100% + 64px);max-width:none;aspect-ratio:1280/376;margin:-32px -32px 8px;object-fit:cover;border-radius:23px 23px 0 0}
.identity-warning{margin-top:16px;padding:12px 16px;border:1px solid #eadab5;border-radius:12px;background:#fffaf0;color:#76510a}
.questionnaire{display:grid;gap:16px;margin-top:16px}.form-section{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,27,53,.05)}
.form-section__header{display:grid;gap:7px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.form-section__header>span{color:var(--brand-dark);font-family:var(--font-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.form-section__header h2{font-size:26px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field,.choice-field{display:grid;gap:8px}.field--wide,.choice-field{grid-column:1/-1}.field>span,.choice-field legend{color:var(--muted);font-size:14px}.required{color:var(--danger)}
.field input,.field textarea,.field select{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);outline:0;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(37,185,139,.08)}
.questionnaire--validated .field input:invalid,.questionnaire--validated .field textarea:invalid,.questionnaire--validated .field select:invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.08)}
.field input.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.08)}.field-error{color:var(--danger);font-size:13px;line-height:1.35}.field-error[hidden]{display:none}
.choice-field{margin:0;padding:0;border:0}.choices{display:flex;flex-wrap:wrap;gap:8px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0}.choice span{display:block;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--pu-navy-600)}.choice input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.choice input:disabled+span{opacity:.45;cursor:not-allowed}.conditional{display:none}.conditional.is-visible{display:grid}
.form-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4px 0}.form-submit p{color:var(--muted);font-size:13px}.form-submit button{min-width:210px}.form-error{padding:12px 16px;border-radius:12px;background:#fff0ee;color:var(--danger)}
.personal-data-consent{display:flex;align-items:flex-start;gap:12px;padding:12px 4px}.personal-data-consent input{flex:0 0 auto;width:20px;height:20px;margin-top:3px;accent-color:var(--brand);cursor:pointer}.personal-data-consent__text{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;line-height:1.6;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.personal-data-consent__text:hover{color:var(--brand)}.personal-data-consent-open{overflow:hidden}
.personal-data-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(16,27,53,.3)}.personal-data-dialog[open]{display:flex;flex-direction:column}.personal-data-dialog::backdrop{background:rgba(16,27,53,.58)}.personal-data-dialog__body{min-height:0;overflow-y:auto;padding:24px;line-height:1.6;overflow-wrap:anywhere}.personal-data-dialog__body h2{font-size:clamp(22px,4vw,30px);line-height:1.2}.personal-data-dialog__body p,.personal-data-dialog__body ul{margin-top:16px}.personal-data-dialog__body ul{padding-left:24px;list-style:disc}.personal-data-dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;flex-shrink:0;padding:16px 24px;border-top:1px solid var(--line)}.personal-data-dialog__actions button{flex:1;min-height:46px}
.profile-edit-shell{width:min(980px,calc(100% - 32px))}.profile-save-success{padding:12px 16px;border-radius:12px;background:var(--brand-soft);color:var(--brand-dark)}
.confirmation-open{overflow:hidden}.confirmation-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.confirmation-modal__backdrop{position:absolute;inset:0;background:rgba(16,27,53,.58)}.confirmation-modal__panel{position:relative;width:min(570px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(16,27,53,.3);outline:0;-webkit-overflow-scrolling:touch}.confirmation-modal__panel h2{margin-top:12px;font-size:30px}.confirmation-modal__hint{margin-top:8px;color:var(--muted)}.confirmation-modal__close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font:inherit;font-size:25px;line-height:1;cursor:pointer}.confirmation-summary{display:grid;gap:0;margin:22px 0 0}.confirmation-summary>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:14px;padding:11px 0;border-top:1px solid var(--line)}.confirmation-summary dt{color:var(--muted)}.confirmation-summary dd{min-width:0;margin:0;overflow-wrap:anywhere;font-weight:700}.confirmation-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.confirmation-modal__actions button{min-height:46px}

/* Required document packages after successful activation */
.document-shell{display:grid;gap:16px;width:min(980px,calc(100% - 32px));margin:0 auto;padding:89px 0 70px}
.document-hero{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.document-hero>img{width:170px}.document-hero>div{display:grid;gap:9px}.document-hero h1{font-size:clamp(30px,5vw,44px)}.document-hero p{max-width:580px;color:var(--muted);font-size:16px}
.document-hero>.document-hero__banner{grid-column:1/-1;width:calc(100% + 56px);max-width:none;aspect-ratio:1280/376;margin:-28px -28px 0;object-fit:cover;border-radius:23px 23px 0 0}.document-hero>div{grid-column:1/3}.document-hero>.document-progress{grid-column:3}
.document-progress{display:grid;place-items:center;width:72px;height:72px;border:6px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;color:var(--brand-dark);font-size:17px}
.document-form{display:grid;gap:16px}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.document-help{margin-bottom:16px;color:var(--muted);font-size:14px}
.document-payout-note{margin:0 0 16px}
.document-upload{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"icon title" "icon hint" "icon file";align-items:center;column-gap:12px;padding:16px;border:1px dashed var(--pu-gray-300);border-radius:14px;background:var(--pu-surface-soft);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.document-upload:hover,.document-upload.has-file{border-color:var(--brand);background:var(--pu-green-50)}.document-upload input{position:absolute;width:1px;height:1px;opacity:0}
.document-upload__icon{grid-area:icon;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand-dark);font-family:var(--font-display);font-size:13px}
.document-upload strong{grid-area:title;overflow:hidden;text-overflow:ellipsis}.document-upload small{grid-area:hint;color:var(--muted)}.document-upload em{grid-area:file;margin-top:5px;overflow:hidden;color:var(--brand-dark);font-size:13px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.document-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 4px}.document-submit p{color:var(--muted);font-size:13px}
.document-complete{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start}.document-complete>div{display:grid;justify-items:start;gap:12px}.document-complete p{color:var(--muted)}.complete-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--brand-soft);color:var(--brand-dark);font-size:28px}

@media(max-width:860px){
  .profile-social__grid{grid-template-columns:1fr}.profile-summary{position:static}.action-card{grid-template-columns:1fr}.step-number{font-size:28px}.document-hero{grid-template-columns:1fr auto}.document-hero>div{grid-column:1}.document-hero>.document-progress{grid-column:2}.document-hero>.document-hero__banner{display:block;grid-column:1/-1}
}
@media(max-width:700px){
  :root{--topbar-height:55px}.topbar{padding:0 10px}.brand img{height:37px}.topnav>a{padding:0 9px;font-size:14px}.cabinet-shell,.action-shell,.form-shell,.document-shell{width:calc(100% - 20px);padding-top:75px}.content-card,.action-card,.action-hero,.city-gate,.form-intro,.form-section,.document-hero{padding:20px}.city-selector{grid-template-columns:1fr}.city-offer{grid-template-columns:1fr;gap:20px}.city-offer__image{width:min(100%,520px);margin:0 auto}.form-intro,.document-hero{grid-template-columns:1fr}.form-progress,.document-progress{display:none}.field-grid,.document-grid{grid-template-columns:1fr}.field--wide,.choice-field{grid-column:auto}.form-submit,.document-submit{align-items:stretch;flex-direction:column}.form-submit button,.document-submit button{width:100%}.mini-chat{right:12px;bottom:12px}.mini-chat__launchers{align-items:stretch}.mini-chat__launcher{justify-content:center}.mini-chat__window{width:calc(100vw - 24px)}.mini-chat__messages{height:calc(100vh - 175px)}
}
@media(max-width:480px){.topnav>a:first-child{display:none}.wall-item{grid-template-columns:1fr}.wall-item__meta{flex-direction:column;gap:3px}.form-intro__logo{width:170px}}
@media(max-width:700px){.form-intro>.form-intro__banner{width:calc(100% + 40px);margin:-20px -20px 4px;border-radius:19px 19px 0 0}}
@media(max-width:700px){.document-hero>.document-hero__banner{width:calc(100% + 40px);margin:-20px -20px 0;border-radius:19px 19px 0 0}}
@media(max-width:520px){.confirmation-modal{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.confirmation-modal__panel{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);padding:22px 18px;border-radius:18px}.confirmation-modal__panel h2{padding-right:38px;font-size:26px}.confirmation-summary>div{grid-template-columns:1fr;gap:3px}.confirmation-modal__actions{display:grid;grid-template-columns:1fr}.confirmation-modal__actions .primary-button{grid-row:1}.confirmation-modal__actions button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Courier account authentication */
.account-shell{min-height:calc(100vh - 88px);display:grid;place-items:center;max-width:560px}
.account-card{width:100%;background:#fff;border:1px solid var(--line,var(--pu-line));border-radius:28px;padding:40px;box-shadow:0 24px 70px rgba(16,27,53,.12)}
.account-card>.form-intro__logo{display:block;width:calc(100% + 80px);max-width:none;aspect-ratio:1280/376;margin:-40px -40px 30px;object-fit:cover;border-radius:27px 27px 0 0}
.account-card h1{margin:12px 0 8px;font-size:clamp(30px,5vw,44px)}
.account-card>p{color:var(--pu-muted)}
.account-role-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-role-actions .primary-button{display:grid;place-items:center;min-height:52px;padding:12px 16px;text-align:center;line-height:1.25}
.account-role-actions--landing{margin-top:28px}.account-role-actions--landing a{text-decoration:none}
.account-form{display:grid;gap:18px;margin-top:28px}
.account-form .primary-button{width:100%;justify-content:center;border:0}
.account-switch{text-align:center;margin:22px 0 0!important}
.account-switch a{color:var(--pu-accent);font-weight:700}
.account-logout{border:1px solid var(--pu-gray-200);background:#fff;color:var(--pu-navy-700);border-radius:12px;padding:10px 16px;cursor:pointer}
@media(max-width:640px){.account-card{padding:26px 20px;border-radius:22px}.account-card>.form-intro__logo{width:calc(100% + 40px);margin:-26px -20px 24px;border-radius:21px 21px 0 0}.account-shell{padding:20px}.account-role-actions{gap:8px}.account-role-actions .primary-button{padding:11px 8px;font-size:13px}}
.city-offer--text{grid-template-columns:minmax(0,1fr)}
.role-switcher{display:grid;gap:12px}
.role-switcher__items{display:flex;flex-wrap:wrap;gap:10px}
.role-switcher__item{display:grid;gap:2px;min-width:150px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}
.role-switcher__item small{color:var(--muted);font-size:13px}
a.role-switcher__item:hover{border-color:var(--brand)}
.role-switcher__item.is-current{border-color:var(--brand);background:rgba(37,185,139,.08)}
.role-switcher__item--add{border-style:dashed}
@media(max-width:640px){.role-switcher__item{flex:1 1 100%}}

/* Legal footer & cookie banner */
.legal-footer{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.5}
.legal-footer__links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-bottom:8px}
.legal-footer a{color:var(--muted);text-underline-offset:3px}.legal-footer a:hover{color:var(--brand)}
.personal-data-dialog__docs a,.account-legal a,.cookie-banner a{color:var(--brand-dark);text-underline-offset:3px}
.account-legal{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.5}
.cookie-banner{position:fixed;z-index:50;left:50%;bottom:16px;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(760px,calc(100% - 32px));display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 18px 50px rgba(16,27,53,.22);font-size:14px;line-height:1.5}
.cookie-banner[hidden]{display:none}
.cookie-banner p{flex:1}
.cookie-banner .primary-button{flex-shrink:0;min-width:120px;border:0}
@media(max-width:560px){.cookie-banner{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.cookie-banner .primary-button{width:100%}}
.profile-requisites-link{display:grid;gap:8px;justify-items:start}.profile-requisites-link p{margin:0;color:var(--muted)}
.requisites-current{display:grid;gap:6px;margin:0}.requisites-current div{display:flex;flex-wrap:wrap;gap:6px}.requisites-current dt{color:var(--muted)}.requisites-current dd{margin:0;font-weight:700}
.form-alert--success{background:var(--pu-green-50);color:var(--brand-dark)}
.activation-panel .card-actions{flex-wrap:wrap;gap:10px}
.cook-interview,.cook-decision-note{margin:12px 0 0;line-height:1.45}
.cook-decision p{margin:12px 0 0;line-height:1.45}
.field-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.cook-offer{display:grid;gap:14px}.cook-offer[hidden]{display:none}.cook-offer h3{margin:4px 0 0;font-size:18px}.cook-offer p{margin:0;line-height:1.45}.city-benefits--emoji li{padding-left:0}.city-benefits--emoji li::before{content:none}
.cook-offer__image{width:min(100%,520px);margin:0 auto}
/* Cook screening bot: one question per card */
.bot-city{margin:10px 0 0;color:var(--muted);font-size:14px}.bot-city strong{color:var(--ink)}
.bot-link{padding:0;border:0;background:none;color:var(--brand-dark);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bot-chat{position:relative;z-index:1;display:grid;gap:14px;margin:16px 0 40px}
.bot-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;scroll-margin-top:calc(var(--topbar-height) + 16px);animation:bot-in .28s ease-out both}
.bot-card__avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);font-size:20px}
.bot-card__body{display:grid;gap:10px;padding:18px 20px;border:1px solid var(--line);border-radius:4px 18px 18px 18px;background:#fff;box-shadow:0 8px 24px rgba(16,27,53,.05)}
.bot-card__body>p{margin:0;line-height:1.5}
.bot-card__name{color:var(--brand-dark);font-family:var(--font-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.bot-card__error{margin:0}
.bot-list{margin:0;padding-left:20px;line-height:1.6;font-weight:600}
.bot-options{display:grid;gap:8px;margin-top:4px}
.bot-option{min-height:46px;padding:10px 16px;border:1px solid var(--brand);border-radius:12px;background:#fff;color:var(--brand-dark);font:inherit;font-weight:600;text-align:left;line-height:1.35;cursor:pointer;transition:background .16s ease,transform .16s ease}
.bot-option:hover:not(:disabled){background:var(--brand-soft);transform:translateY(-1px)}
.bot-option--ghost{border-color:var(--line);color:var(--pu-navy-600)}
.bot-option.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}
.bot-card.is-answered .bot-option:not(.is-selected),.bot-card.is-answered .bot-chip:not(.is-selected),.bot-card.is-answered .bot-slot:not(.is-selected){opacity:.45}
.bot-option:disabled,.bot-chip:disabled,.bot-slot:disabled{cursor:default}
.bot-form{display:grid;gap:12px}.bot-form .personal-data-consent{padding:4px 0}.bot-form .primary-button{justify-self:start;min-width:210px}
.bot-extra{display:grid;gap:10px}.bot-extra[hidden]{display:none}.bot-extra .primary-button{justify-self:start}
.bot-extra--inline{grid-template-columns:minmax(0,160px) auto;align-items:center;justify-content:start}.bot-age input{font-size:18px;font-variant-numeric:tabular-nums}
.bot-chips,.bot-slots{display:flex;flex-wrap:wrap;gap:8px}
.bot-chip,.bot-slot{min-height:38px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--pu-navy-600);font:inherit;font-size:14px;cursor:pointer}
.bot-slot{border-radius:10px;font-variant-numeric:tabular-nums}
.bot-chip:hover:not(:disabled),.bot-slot:hover:not(:disabled){border-color:var(--brand)}
.bot-chip.is-selected,.bot-slot.is-selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);font-weight:700}
.bot-muted{color:var(--muted);font-size:14px}
.bot-days{display:grid;gap:14px}.bot-day{display:grid;gap:8px}.bot-day__title{margin:0;font-weight:700;line-height:1.3}
.bot-reply{justify-self:end;max-width:min(80%,520px);padding:10px 15px;border-radius:18px 18px 4px 18px;background:var(--brand);color:#fff;line-height:1.4;animation:bot-in .2s ease-out both}
.bot-typing{display:inline-flex;gap:5px;width:max-content;margin-left:52px;padding:12px 16px;border:1px solid var(--line);border-radius:4px 18px 18px 18px;background:#fff}
.bot-typing span{width:7px;height:7px;border-radius:50%;background:var(--pu-gray-300,#c4c9d4);animation:bot-dot 1s infinite ease-in-out}
.bot-typing span:nth-child(2){animation-delay:.15s}.bot-typing span:nth-child(3){animation-delay:.3s}
@keyframes bot-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes bot-dot{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.bot-card,.bot-reply{animation:none}.bot-typing span{animation:none}}
@media(max-width:640px){.bot-card{grid-template-columns:1fr;gap:6px}.bot-card__avatar{display:none}.bot-card__body{padding:16px}.bot-typing{margin-left:0}.bot-form .primary-button,.bot-extra .primary-button{justify-self:stretch;width:100%}.bot-reply{max-width:90%}}
