/* Доповнення до zoshyt.css для робочого сайту */
.testbar{background:var(--ink);color:var(--marker);text-align:center;font:700 13px Onest,sans-serif;padding:6px 12px;position:relative;z-index:10}
.flash{border:2px solid var(--ok);background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:12px 16px;font-weight:700;margin:16px 0}
.flash.bad{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}
.w>.flash{margin-top:20px}
.center-box{text-align:center;padding:90px 0;display:grid;gap:10px;justify-items:center}
.empty{text-align:center}
.notes{white-space:pre-wrap;margin:12px 0 0;color:var(--ink)}
code{font-size:13px;background:var(--grid);padding:2px 6px;border-radius:6px;word-break:break-all}

/* вхід і реєстрація */
.auth{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start;max-width:820px;margin:0 auto;padding:48px 0 80px;position:relative;z-index:1}
.auth-note{transform:rotate(2deg);margin-top:40px}
.roles{border:0;padding:0;margin:0;display:grid;gap:8px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--pen);flex:none}
.option input{accent-color:var(--pen)}
.option:has(input:checked){border-color:var(--pen);background:var(--pen-soft)}

/* списки */
.list-item{display:block;text-decoration:none;transition:border-color .12s}
.list-item:hover{border-color:var(--ink)}
.list-item+.list-item{margin-top:-8px}
.row-link{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1.5px dashed var(--line);text-decoration:none;flex-wrap:wrap}
.row-link:last-child{border:0}
.row-link.unread span:first-child{font-weight:800}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.filters a{font:700 14px Onest,sans-serif;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);text-decoration:none}
.filters a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tag.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tag.urgent{border-color:var(--bad);color:var(--bad)}
.tag.pick{cursor:pointer;gap:6px;align-items:center}
.tag.pick:has(input:checked){background:var(--marker);border-color:var(--ink)}
.subjects{border:0;padding:0;margin:0;display:grid;gap:8px}

/* ставки */
.bid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start}
.bid .price{text-align:right}
.bid .price b{display:block;font-size:26px;letter-spacing:-.03em}
.bid .acts{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}
.bid blockquote{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:var(--pen-soft);font-size:15px;white-space:pre-wrap}
.layout2{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}
.layout2.vet{grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr)}
.calc .ln{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1.5px dashed var(--line);font-size:15px}
.calc .ln.total{border:0;font-size:20px;font-weight:900}

/* угода */
.layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.escrow{display:flex;align-items:center;gap:18px}
.escrow b{font-size:28px;letter-spacing:-.03em}
.step-row+.step-row{border-top:1.5px dashed var(--line)}
.step-row p{margin:2px 0 0;font-size:14px;color:var(--ink2)}
.step-row.cur b{background:linear-gradient(transparent 55%,var(--marker) 55%,var(--marker) 92%,transparent 92%)}
.file{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1.5px dashed var(--line);font-size:15px;flex-wrap:wrap}
.file:last-child{border:0}
.chatbox{padding:0;overflow:hidden;position:sticky;top:16px}
.chathead{padding:14px 18px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.chat{max-height:520px;overflow-y:auto}
.msg{white-space:pre-wrap;word-wrap:break-word}
.msg.them{align-self:flex-start}
.msg .when{display:block;font-size:11px;opacity:.65;margin-top:4px}
.send{display:flex;gap:8px;padding:12px;border-top:2px solid var(--ink);background:var(--card);align-items:flex-end}
.send textarea{resize:vertical;min-height:46px}
.stars{display:flex;gap:8px;flex-wrap:wrap}
.stars label{border:1.5px solid var(--line);border-radius:10px;padding:6px 10px;cursor:pointer;color:var(--warn)}
.stars label:has(input:checked){background:var(--marker);border-color:var(--ink);color:var(--ink)}
.stars input{position:absolute;opacity:0}
details>summary{cursor:pointer;font-weight:800}
button[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}

/* баланс */
.money b{display:block;font-size:32px;letter-spacing:-.035em;margin:4px 0}
.plus{color:var(--ok);font-weight:800}.minus{color:var(--bad);font-weight:800}
.levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 20px}
.lv{border:2px solid var(--line);border-radius:12px;padding:12px;text-align:center;background:var(--card)}
.lv b{display:block;font-size:24px;letter-spacing:-.03em}
.lv.cur{border-color:var(--ink);background:var(--marker);box-shadow:4px 4px 0 var(--ink)}
.req{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1.5px dashed var(--line);font-size:15px}
.req:last-child{border:0}
.kpi b{display:block;font-size:34px;letter-spacing:-.035em;margin:2px 0}
.kpi.need{background:var(--marker)}

/* тест */
.test .q{border:0;border-top:1.5px dashed var(--line);padding:18px 0;margin:0;display:grid;gap:8px}
.test .q legend{font-weight:700;font-size:18px;line-height:1.4;padding:0;margin-bottom:10px}
.test-head{position:sticky;top:0;background:var(--card);padding:10px 0;z-index:3}
.timer{font:900 28px Onest,sans-serif;border:2px solid var(--ink);border-radius:12px;padding:4px 14px;background:var(--marker)}
.timer.low{background:var(--bad);color:#fff}

/* документи */
.legal{max-width:820px;margin:40px auto 80px;position:relative;z-index:1}
.legal h2{margin:26px 0 8px}
.legal ul{padding-left:20px}

/* головна */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding-block:56px 96px;position:relative;z-index:1}
.scribble{display:block;font-size:clamp(28px,3vw,40px);margin-top:10px;transform:rotate(-2deg)}
.qform{background:var(--card);border:2px solid var(--ink);border-radius:16px;padding:8px;display:flex;gap:8px;max-width:560px;box-shadow:6px 6px 0 var(--ink);margin-top:26px}
.qform input{flex:1;min-width:0;border:0;outline:0;font:inherit;padding:0 14px;background:transparent}
.qform .btn{box-shadow:none}
.qform:focus-within{box-shadow:6px 6px 0 var(--pen)}
.chips{margin-top:20px}
.desk{position:relative;min-height:400px}
.desk .card{position:absolute;padding:20px}
.order{left:0;top:56px;width:min(66%,340px);transform:rotate(-1.5deg)}
.order .ln{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding:7px 0;font-size:15px}
.order .ln span{color:var(--ink2)}
.desk .sticky-note{position:absolute;right:0;top:0;min-width:190px;padding:14px 16px;transform:rotate(4deg)}
.desk .sticky-note b{display:block;font-size:22px;letter-spacing:-.03em;white-space:nowrap}
.desk .stamp{position:absolute;left:52%;top:50%;width:150px;height:150px;transform:rotate(-14deg)}
.strip{background:var(--card);border-block:2px solid var(--ink);position:relative;z-index:1}
.strip .g4{padding-block:26px}
.strip b{display:block;font-size:22px;letter-spacing:-.02em}
.strip span{color:var(--ink2);font-size:14px}
.sec{padding-block:88px;position:relative;z-index:1}
.sec-head{margin-bottom:36px}
.sec-head .hand{font-size:30px;display:block;margin-top:6px}
.step .n{font:700 44px Caveat,cursive;color:var(--pen);line-height:1}
.step h3{font-size:21px;margin:10px 0 6px}
.step p{margin:0;color:var(--ink2)}
.proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;box-shadow:8px 8px 0 var(--ink)}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:19px;font-weight:600}
.ticks li{display:flex;gap:12px;align-items:center}
.ticks .hand{font-size:30px}
.price{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1.5px dashed var(--line);text-decoration:none;font-weight:700}
.price b{font-size:19px}
.price:hover b{color:var(--pen)}
details{border-bottom:1.5px dashed var(--line);padding:14px 0}
.stack>details{padding:14px 0}
summary{list-style:none;display:flex;justify-content:space-between;gap:12px;font-size:17px}
summary::after{content:"+";font:700 28px Caveat,cursive;color:var(--pen);line-height:1}
details[open]>summary::after{content:"−"}
details p{margin:10px 0 0;color:var(--ink2)}
.author-cta{background:var(--ink);color:#fff;border-radius:20px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;box-shadow:8px 8px 0 var(--marker)}
.author-cta .hand{color:var(--marker);font-size:30px}
.author-cta p{color:#C9D2E6;margin:10px 0 0;max-width:560px}

@media (max-width:1100px){.hero{grid-template-columns:minmax(0,1fr);gap:40px}.desk{max-width:560px;width:100%}.layout{grid-template-columns:minmax(0,1fr)}.chatbox{position:static}}
@media (max-width:960px){.proof,.layout2,.layout2.vet,.auth{grid-template-columns:minmax(0,1fr)}.auth-note{margin-top:0}.author-cta{padding:28px}.order{width:92%}}
@media (max-width:700px){.bid{grid-template-columns:auto minmax(0,1fr)}.bid .price{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.bid .acts{margin:0}.levels{grid-template-columns:repeat(2,minmax(0,1fr))}.escrow{width:100%}}
@media (max-width:520px){.qform{flex-direction:column}.qform input{min-height:48px}.desk{min-height:330px}.desk .sticky-note{min-width:0}.top-actions .btn-pen{display:none}}

/* правки після перевірки в браузері */
details.card-soft.pad{padding:16px 24px}
.calc .ln b,.calc .ln .num{white-space:nowrap}
.levels{grid-template-columns:repeat(auto-fit,minmax(86px,1fr))}
.lv span{display:block;font-size:12px;overflow-wrap:anywhere}
.kpi b{font-size:clamp(24px,2.6vw,34px)}
@media (max-width:900px){.bid{grid-template-columns:auto minmax(0,1fr)}.bid .price{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.bid .acts{margin:0}}

.testbar a{color:#fff;text-decoration:underline;text-underline-offset:3px;margin-left:6px;white-space:nowrap}
.fb-scale{display:flex;gap:8px;flex-wrap:wrap}
.fb-scale label{border:2px solid var(--line);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:800;background:var(--card);min-width:52px;text-align:center;position:relative}
.fb-scale label:has(input:checked){background:var(--marker);border-color:var(--ink)}
.fb-scale input{position:absolute;opacity:0;pointer-events:none}

.calc-home{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:32px;align-items:center}
.calc-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.calc-out{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1.5px dashed var(--line);padding-top:16px}
.calc-out b{font-size:28px;letter-spacing:-.03em;background:linear-gradient(transparent 55%,var(--marker) 55%,var(--marker) 92%,transparent 92%);padding:0 4px}
@media (max-width:1100px){.calc-home{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.calc-form{grid-template-columns:repeat(2,minmax(0,1fr))}}

.price-groups{display:grid;gap:18px}
.price-group .eyebrow{margin:6px 0 2px;color:var(--pen)}
.price-group .price{padding:10px 0;font-size:15px}
.price-group .price b{font-size:16px;white-space:nowrap}
#prices>.g2{grid-template-columns:minmax(0,1fr);gap:56px}
#prices .price-groups{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));column-gap:36px;align-items:start}
#faq{max-width:820px}
@media (max-width:700px){.calc-form>label:first-child{grid-column:1/-1}.calc-out b{font-size:22px}}

.tg-btn{background:#229ED9;border-color:#229ED9;box-shadow:4px 4px 0 var(--ink);font-size:17px}
.tg-btn::before{content:"";width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.8 15.6l-.4 4.3c.6 0 .9-.3 1.2-.6l2.9-2.7 6 4.4c1.1.6 1.9.3 2.2-1L24 3.8c.4-1.6-.6-2.3-1.6-1.9L.9 10.4c-1.5.6-1.5 1.5-.3 1.9l5.6 1.7L19.3 6c.6-.4 1.2-.2.7.2'/%3E%3C/svg%3E") center/contain no-repeat}
.alt-login{border:0;padding:0}
.alt-login>summary{font-size:14px;color:var(--ink2);font-weight:700}
.alt-login[open]>summary{margin-bottom:12px}
.hero-cta{margin-top:26px;gap:12px}
.calc-out>div{display:flex;flex-direction:column;gap:2px}
.calc-note{grid-column:1/-1;margin:0}
.flash-num{animation:flashnum .6s ease}
@keyframes flashnum{0%{background-color:var(--marker)}100%{background-color:transparent}}
@media (prefers-reduced-motion:reduce){.flash-num{animation:none}}

/* Послуги: вкладки за групами + пошук */
.svc-q{max-width:420px;margin:4px 0 12px}
.svc-tabs{margin-bottom:6px}
.filters button{font:700 14px Onest,sans-serif;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.svc.js .price-groups{grid-template-columns:minmax(0,1fr)!important}
.svc.js .price-group{column-width:270px;column-gap:36px}
.svc.js .price-group .price{break-inside:avoid}
.svc.js .price-group .eyebrow{column-span:all}
.svc.js:not(.searching) .price-group .eyebrow{display:none}
@media (max-width:700px){.svc-tabs button{padding:7px 12px;font-size:13px}}
.svc [hidden]{display:none!important}

/* Вхід: email — основний, Telegram — запасний */
.or{display:flex;align-items:center;gap:10px;color:var(--ink2);font-size:13px}
.or::before,.or::after{content:"";flex:1;border-top:1.5px dashed var(--line)}
.tg-alt{width:100%;box-shadow:none;font-size:15px}
.pw{position:relative;display:block}
.pw .input{padding-right:46px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:18px;cursor:pointer;padding:6px}
.tg-remind{display:block;margin-bottom:14px;text-decoration:none;font-weight:700}

/* Мобільне меню кабінету: перемикач ролі й вихід не ховаються */
@media (max-width:960px){
  .side .side-extra{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;margin-top:0!important}
  .side .side-extra form{margin:0!important}
  .side .side-extra .small{display:none!important}
}
.roles .option span b{font-weight:800}
.roles.need{outline:2px solid var(--red, #d33);outline-offset:4px;border-radius:12px}
/* Телефон: ілюстрація на головній без накладань — стікер над карткою, печатка менша й у куті */
@media (max-width:520px){
  .desk{min-height:0;display:flex;flex-direction:column;gap:14px}
  .desk .card,.desk .sticky-note{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto}
  .desk .sticky-note{order:-1;align-self:flex-end;transform:rotate(2deg)}
  .desk .stamp{display:none}
}

/* Уже завантажені файли і підказка помилки біля поля */
.file-ok{display:block;color:var(--green,#1a7f4b);font-weight:700;font-size:14px;margin:4px 0 6px}
.file-ok label{display:block;font-weight:700}
.field-err{color:var(--red,#c0392b);font-weight:700;margin:6px 0 0}

/* Перший екран: «опиши завдання в один рядок» */
.oneline{display:flex;gap:10px;margin-top:22px;max-width:640px}
.oneline .input{flex:1;min-height:54px;font-size:17px}
.oneline .btn{white-space:nowrap}
@media (max-width:600px){.oneline{flex-direction:column}.oneline .btn{width:100%}}
