.service-search{display:flex;align-items:center;gap:10px;border:1px solid var(--input-line);border-radius:15px;background:var(--surface);padding:12px 15px;position:sticky;top:0;z-index:1}.service-search input{width:100%;min-width:0;background:transparent;border:0;outline-offset:8px;color:var(--ink);font-size:16px}.service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-choice{display:flex;align-items:center;gap:12px;min-height:84px;padding:13px;border:1px solid var(--line);background:var(--surface);border-radius:17px;text-align:left}.service-choice>span{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:linear-gradient(140deg,#e1efe5,#fae5a9);border-radius:13px;color:#164c3b}.service-choice>span svg{width:29px;height:29px}.service-choice strong{font-size:14px;line-height:1.5;flex:1;min-width:0}.service-choice>svg{width:15px;color:var(--muted)}.service-choice:hover{border-color:#bb963d}.job-photo-button{display:block;width:100%;padding:0;margin-top:15px;border-radius:17px;overflow:hidden;background:var(--surface-soft)}.job-photo{width:100%;height:auto;aspect-ratio:16/9;display:block;object-fit:cover}.job-photo-full{width:100%;max-height:72dvh;object-fit:contain;border-radius:15px}.job-upload-preview{display:block;margin-top:10px}.job-upload-preview img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:15px;display:block;background:var(--sage)}.job-upload-preview small{display:block;margin-top:7px;color:var(--muted)}.image-error{color:#ad352b;font-size:14px}.auth-result{text-align:center;padding:20px 10px 10px;max-width:430px;margin:auto}.auth-result h3{font-size:27px;line-height:1.3;margin:23px 0 10px}.auth-result p{font-size:15px;color:var(--muted);line-height:1.7}.auth-spinner{width:72px;height:72px;border-radius:50%;border:5px solid var(--sage);border-top-color:var(--gold);border-right-color:var(--green);margin:5px auto 25px;animation:auth-spin .85s linear infinite}.auth-error-icon{width:74px;height:74px;display:grid;place-items:center;border-radius:50%;background:var(--soft-panel);margin:auto;color:var(--accent)}.auth-error-icon svg{width:38px;height:38px}.success-orbit{position:relative;width:112px;height:112px;margin:3px auto 28px;background:var(--sage);border-radius:35px;display:grid;place-items:center;animation:success-pop .5s ease-out}.success-orbit svg{width:80px;height:80px;stroke:var(--accent);stroke-width:5;fill:none}.success-orbit svg circle{stroke:var(--gold);stroke-width:3}.success-orbit svg path{stroke-dasharray:70;stroke-dashoffset:70;animation:success-check .65s .2s ease-out forwards}.success-orbit i{position:absolute;width:8px;height:8px;background:var(--gold);border-radius:3px;animation:success-pop .6s ease-out}.success-orbit i:nth-of-type(1){left:-15px;top:18px;transform:rotate(25deg)}.success-orbit i:nth-of-type(2){right:-13px;top:7px;transform:rotate(50deg)}.success-orbit i:nth-of-type(3){right:-12px;bottom:15px;background:var(--green)}.success-orbit i:nth-of-type(4){left:3px;bottom:-16px;background:var(--green)}.auth-language{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:12px;border-radius:14px;margin:24px 0 16px;font-size:14px;gap:10px}.auth-language>button{display:flex;align-items:center;gap:9px;min-height:40px}.auth-language svg:not([viewBox="0 0 32 22"]){width:16px}.auth-language button>svg[viewBox="0 0 32 22"]{width:29px;height:20px;stroke:none}.welcome-language{text-align:center;max-width:420px;margin:auto;padding:10px 0}.welcome-language>img{width:72px;height:72px;border-radius:22px;margin:5px auto}.welcome-language h3{font-size:26px;line-height:1.35;margin:16px 0 8px}.welcome-language>p{font-size:15px;color:var(--muted)}.welcome-language button[data-language]{display:flex;align-items:center;gap:15px;min-height:64px;width:100%;margin:12px 0;border:1px solid var(--line);border-radius:17px;padding:14px 18px;background:var(--surface);font-size:17px}.welcome-language button[data-language] strong{flex:1;text-align:left}.welcome-language button[aria-pressed=true]{border-color:var(--accent);background:var(--sage)}.welcome-language .primary{margin-top:20px}.welcome-language .text-btn{margin-top:10px;min-height:44px}.security-tips{display:grid;gap:9px;margin:18px 0}.security-tips p{display:flex;gap:10px;align-items:flex-start;margin:0;padding:13px;border-radius:13px;background:var(--surface-soft);font-size:14px;line-height:1.65}.security-tips svg{color:var(--accent)}.security-alert-banner{max-width:720px;margin:12px auto 0;display:flex;align-items:center;gap:11px;border:1px solid var(--gold);border-radius:16px;padding:14px;background:var(--surface);box-shadow:0 12px 35px #103d3025}.security-alert-banner>svg{color:#a47516;width:28px;height:28px}.security-alert-banner span{flex:1;min-width:0}.security-alert-banner strong{display:block;font-size:14px}.security-alert-banner small{display:block;font-size:12px;color:var(--muted)}.security-alert-banner button{display:flex;gap:6px;align-items:center;min-height:44px;font-size:13px;font-weight:800;color:var(--accent)}.security-intro{text-align:center;margin-bottom:24px}.security-intro>svg{width:42px;height:42px;color:var(--accent)}.security-intro h3{font-size:25px;margin:13px 0 6px}.security-intro p{font-size:14px;color:var(--muted)}.security-warning{border:1px solid var(--gold);background:var(--soft-panel);padding:18px;border-radius:17px;margin-bottom:24px}.device-list{display:grid;gap:10px;margin:16px 0 24px}.device-list article{display:flex;align-items:center;gap:11px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:17px}.device-icon{width:42px;height:42px;border-radius:12px;background:var(--sage);display:grid;place-items:center;color:var(--accent);flex-shrink:0}.device-list article>div{flex:1;min-width:0}.device-list strong{font-size:14px}.device-list small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.device-list .badge{white-space:nowrap;font-size:11px}.device-list .outline{font-size:13px;padding:8px 11px}.notification-items{display:grid;gap:12px}.notification-items button{display:flex;align-items:center;gap:13px;min-height:80px;background:var(--surface);border:1px solid var(--line);border-radius:17px;text-align:left;padding:17px}.notification-items span{flex:1}.notification-items strong{font-size:16px;display:block}.notification-items small{font-size:13px;color:var(--muted);display:block;margin-top:4px}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes success-check{to{stroke-dashoffset:0}}@keyframes success-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.06);opacity:1}100%{transform:scale(1);opacity:1}}@media(max-width:520px){.service-directory{grid-template-columns:1fr}.service-choice{min-height:73px}.service-choice strong{font-size:16px}.security-alert-banner{margin:8px 9px 0;padding:10px;gap:8px}.security-alert-banner strong{font-size:12px}.security-alert-banner small{font-size:11px}.security-alert-banner button{font-size:12px}.auth-result h3{font-size:25px}.device-list article{flex-wrap:wrap}.device-list .outline{margin-left:53px}.auth-language{font-size:13px}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none;border-top-color:var(--green)}.success-orbit,.success-orbit i{animation:none}.success-orbit svg path{animation:none;stroke-dashoffset:0}}
.success-orbit svg{stroke:var(--accent)}.job-photo-button{max-width:560px}.job-photo,.job-upload-preview img{max-height:none}

/* Notification cards, map preview, and narrow Telegram layouts. */
.topbar .notification{width:44px;height:44px;min-width:44px;flex:none}
.topbar .notification svg,.mobile-nav button>svg{width:24px;height:24px;flex:none;display:block}
.topbar .notification.has-notice::after{display:block;right:8px;top:7px;width:7px;height:7px;box-shadow:0 0 0 2px var(--surface)}
.security-alert-banner{animation:bitdi-notice-in 240ms cubic-bezier(.2,.75,.3,1)}
.security-alert-banner>svg{flex:none;width:24px;height:24px}
.security-alert-banner .notice-dismiss{flex:none;display:grid;place-items:center;min-width:36px;min-height:44px;color:var(--muted)}
.security-alert-banner button>svg{flex:none;width:18px;height:18px}
.modal.notification-sheet{animation:bitdi-sheet-in 240ms cubic-bezier(.2,.75,.3,1)}
.notification-items button>svg{flex:none;width:24px;height:24px}
.notification-items button>svg:last-child{width:18px;height:18px}
#toast{display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 28px);padding:12px 16px;line-height:1.45}
#toast>svg{width:20px;height:20px;flex:none;color:#efb447}
#toast.visible{animation:bitdi-toast-in 220ms ease-out}
.region-preview{padding:10px 20px 12px}
.region-map{position:relative;isolation:isolate;overflow:hidden;height:208px;max-width:480px;margin:auto;border-radius:16px;background:#e6ebdf;border:1px solid var(--line)}
.region-map-tiles{position:absolute;inset:50% auto auto 50%;width:0;height:0}
.region-map-tiles img{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none}
.region-map-circle,.region-map-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.region-map-circle{width:var(--diameter);height:var(--diameter);background:#26654c36;border:2px solid #216249}
.region-map-dot{width:12px;height:12px;background:#164c3b;border:2px solid white;box-shadow:0 0 0 3px #164c3b40}
.region-map-name{position:absolute;inset:10px auto auto 10px;background:#fff;color:#173a2c;border-radius:9px;padding:5px 9px;font-size:13px}
.region-map-credit{position:absolute;right:0;bottom:0;background:#fff;color:#173a2c;padding:3px 5px;font-size:10px;text-decoration:underline}
.region-map-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin:8px 0 10px;font-size:13px;color:var(--muted)}
.region-map-meta a{color:var(--accent);font-weight:700;min-height:34px;display:inline-flex;align-items:center;text-decoration:underline}
@keyframes bitdi-notice-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes bitdi-sheet-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes bitdi-toast-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:720px){
 .notification-sheet{max-height:min(84dvh,680px)}
 .region-preview{padding-inline:16px}
 .mobile-nav{padding-bottom:calc(8px + max(env(safe-area-inset-bottom),var(--telegram-bottom,0px)))}
}
@media(max-width:380px){
 .topbar .brand img{width:28px;height:28px}
 .topbar .brand{font-size:23px}
 .topbar .top-actions{gap:5px}
}
@media(prefers-reduced-motion:reduce){
 .security-alert-banner,.modal.notification-sheet,#toast.visible{animation:none}
}
.registration-roles{display:grid;gap:10px;width:100%;margin:12px 0}
.registration-roles button{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border:1px solid var(--input-line);border-radius:14px;text-align:start}
.registration-roles button[aria-pressed="true"]{border-color:var(--accent);background:var(--surface-2)}
.auth-result>img,.welcome-language>img{width:auto;height:68px;max-width:100%;object-fit:contain;border-radius:var(--bitdi-logo-radius)}
.welcome-language .registration-back,.auth-result .registration-back{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding-inline:12px;text-align:start}
.chat-back{margin-bottom:10px}
.swipe-notice{display:grid;grid-template-columns:1fr;isolation:isolate;overflow:hidden;border-radius:14px;touch-action:pan-y}
.swipe-notice>button{grid-area:1/1}
.notification-items .notice-open{width:100%;border:1px solid var(--input-line);background:var(--surface);transition:transform .18s ease;transform:translateX(var(--notice-offset,0px));text-align:start}
.notification-items .notice-open:focus-visible{outline-offset:-4px}
.notification-items .notice-open.notice-unread{border-inline-start:3px solid var(--gold)}
.notification-items .notice-delete{width:68px;justify-content:center;align-self:stretch;padding:0;color:white;background:#ad272d;border-color:transparent;border-radius:14px 0 0 14px}
.swipe-notice.notice-reveal .notice-open,.swipe-notice:has(.notice-delete:focus-visible) .notice-open{transform:translateX(var(--notice-offset,68px))}
.swipe-notice.notice-removed{opacity:0;transform:translateX(50px);transition:opacity .18s ease,transform .18s ease}
.review-stars{color:#a47516;letter-spacing:.08em}
@media(prefers-reduced-motion:reduce){.notification-items .notice-open,.swipe-notice.notice-removed{transition:none}}
.search-suggestion{margin:0 0 8px;color:var(--muted);font-size:.9rem}
.search-suggestion:empty{display:none}
.search-suggestion strong{color:var(--ink)}
