/* ==========================================================================
   UNO — мастер подключения бизнеса (/business/register, /business/setup/*)
   --------------------------------------------------------------------------
   Самостоятельный файл: страница не наследует легаси-тему и кабинет
   (business.css не подключается). Палитра — та же, что на главной.
   Контраст: текст на оранжевой кнопке тёмный (7:1); ссылки #3F7A00 (5:1).
   ========================================================================== */

:root{
    --bs-ink:#0B0F14;
    --bs-ink-2:#3D444D;
    --bs-muted:#5B6370;
    --b-accent-text:#3F7A00;
    --bs-line:#E7E8EC;
    --bs-line-2:#D5D9DF;
    --bs-bg:#F8FAFC;
    --bs-surface:#FFFFFF;
    --bs-accent:#8FE01F;
    --bs-accent-dark:#3F7A00;
    --bs-on-accent:#0B0F14;
    --bs-accent-soft:#F8FAFC;
    --bs-link:#3F7A00;
    --bs-ok:#0E6E66;
    --bs-ok-soft:#E3F3F0;
    --bs-danger:#B42318;
    --bs-danger-soft:#FEF0EE;
    --bs-warn-soft:#F8FAFC;
    --bs-r:18px;
    --bs-r-sm:12px;
    --bs-font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
.bs-body{
    min-height:100vh;
    background:var(--bs-bg);
    color:var(--bs-ink);
    font:500 15px/1.5 var(--bs-font);
    -webkit-font-smoothing:antialiased;
}
.bs-body a{color:var(--b-accent-text)}
.bs-body a:focus-visible,
.bs-body button:focus-visible,
.bs-body input:focus-visible,
.bs-body select:focus-visible,
.bs-body textarea:focus-visible{outline:3px solid rgba(143, 224, 31,.55);outline-offset:2px}

/* ------------------------------------------------------------------ шапка */
.bs-top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--bs-line)}
.bs-top__inner{
    max-width:1200px;margin:0 auto;padding:0 24px;min-height:64px;
    display:flex;align-items:center;gap:20px;
}
.bs-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--bs-ink) !important}
.bs-brand__mark{
    display:grid;place-items:center;width:34px;height:34px;border-radius:8px;
    background:var(--bs-accent);color:var(--bs-on-accent);font:800 19px/1 var(--bs-font);
}
.bs-brand__name{font:800 20px/1 var(--bs-font);letter-spacing:-.02em}
.bs-brand__name b{color:var(--b-accent-text);font-weight:800}
.bs-top__title{padding-left:20px;border-left:1px solid var(--bs-line);font-weight:700;color:var(--bs-ink-2)}
.bs-top__nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.bs-top__nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:12px;font-weight:600;font-size:14px;color:var(--bs-ink) !important;text-decoration:none}
.bs-top__nav a:hover{background:var(--bs-bg)}
.bs-top__user{
    max-width:180px;padding:6px 12px;border-radius:999px;background:var(--bs-bg);
    font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ----------------------------------------------------------------- раскладка */
.bs-shell{
    max-width:1200px;margin:0 auto;padding:32px 24px 64px;
    display:grid;grid-template-columns:270px minmax(0,1fr);gap:32px;align-items:start;
}

/* ------------------------------------------------------------------- шаги */
.bs-steps{
    position:sticky;top:96px;padding:18px;border-radius:var(--bs-r);
    background:var(--bs-surface);border:1px solid var(--bs-line);
}
.bs-steps__company{display:flex;align-items:center;gap:12px;padding:4px 4px 16px;margin-bottom:12px;border-bottom:1px solid var(--bs-line)}
.bs-steps__avatar{
    display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;
    background:var(--bs-accent-soft);color:var(--b-accent-text);font:800 17px/1 var(--bs-font);
}
.bs-steps__company b{display:block;font-size:14.5px;line-height:1.3;overflow-wrap:anywhere}
.bs-steps__company small{font-size:12.5px;color:var(--bs-muted)}

.bs-steps__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.bs-step{position:relative;display:flex;gap:12px;align-items:flex-start;padding:8px 6px}
.bs-step:not(:last-child)::after{
    content:"";position:absolute;left:19px;top:38px;bottom:-6px;width:2px;border-radius:2px;background:var(--bs-line);
}
.bs-step--done:not(:last-child)::after{background:#9BD3C9}
.bs-step__dot{
    position:relative;z-index:1;display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;
    background:#fff;border:2px solid var(--bs-line-2);color:var(--bs-muted);font:800 12.5px/1 var(--bs-font);
}
.bs-step__dot svg{width:14px;height:14px}
.bs-step--done .bs-step__dot{background:var(--bs-ok);border-color:var(--bs-ok);color:#fff}
.bs-step--current .bs-step__dot{background:var(--bs-accent);border-color:var(--bs-accent);color:var(--bs-on-accent);box-shadow:0 0 0 4px var(--bs-accent-soft)}
.bs-step__text{display:grid;gap:1px;padding-top:3px;text-decoration:none}
.bs-step__text b{font-size:14px;line-height:1.3;color:var(--bs-ink)}
.bs-step__text small{font-size:12.5px;color:var(--bs-muted)}
.bs-step--next .bs-step__text b{color:var(--bs-muted);font-weight:600}
a.bs-step__text:hover b{color:var(--b-accent-text)}
.bs-steps__help{margin:16px 4px 0;padding-top:14px;border-top:1px solid var(--bs-line);font-size:13px;color:var(--bs-muted)}

/* ---------------------------------------------------------------- контент */
.bs-main{min-width:0}
.bs-progress{display:none}
.bs-head{margin-bottom:22px}
.bs-head h1{margin:0 0 6px;font:800 clamp(26px,3vw,34px)/1.15 var(--bs-font);letter-spacing:-.025em}
.bs-head p{margin:0;max-width:62ch;color:var(--bs-ink-2);font-size:16px}

.bs-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.bs-stack{display:grid;gap:16px;min-width:0}

.bs-card{
    display:grid;gap:18px;min-width:0;padding:26px;border-radius:var(--bs-r);
    background:var(--bs-surface);border:1px solid var(--bs-line);
    box-shadow:0 1px 2px rgba(11, 15, 20,.03);
}
.bs-card h2{margin:0;font:800 18px/1.3 var(--bs-font)}
.bs-card p{margin:0}
.bs-card--warn{background:var(--bs-warn-soft);border-color:#E2E8F0}
.bs-card--error{background:var(--bs-danger-soft);border-color:#F4C7C1}
.bs-card--flat{gap:10px;padding:18px 26px}

/* поля */
.bs-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bs-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bs-field{display:grid;gap:7px;min-width:0}
.bs-field label,.bs-label{font-size:13.5px;font-weight:700;color:var(--bs-ink)}
.bs-field label i,.bs-label i{font-style:normal;color:var(--bs-danger)}
.bs-input{
    display:block;width:100%;min-width:0;height:46px;padding:0 14px;
    border:1px solid var(--bs-line-2);border-radius:var(--bs-r-sm);background:#fff;
    font:500 15px var(--bs-font);color:var(--bs-ink);
    transition:border-color .15s ease, box-shadow .15s ease;
}
.bs-input::placeholder{color:#9AA1AC}
.bs-input:hover{border-color:#BFC5CD}
.bs-input:focus{outline:none;border-color:var(--bs-accent);box-shadow:0 0 0 3px rgba(143, 224, 31,.18)}
.bs-input.is-invalid{border-color:var(--bs-danger);background:#FFFBFA}
.bs-textarea{height:auto;min-height:110px;padding:12px 14px;line-height:1.5;resize:vertical}
.bs-select{
    appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:16px;
}
.bs-hint{margin:0;font-size:12.5px;color:var(--bs-muted);line-height:1.45}
.bs-error{margin:0;font-size:13px;font-weight:600;color:var(--bs-danger)}

.bs-affix{position:relative;display:flex}
.bs-affix .bs-input{padding-right:56px}
.bs-affix span{
    position:absolute;right:1px;top:1px;bottom:1px;display:grid;place-items:center;padding:0 14px;
    border-left:1px solid var(--bs-line);border-radius:0 var(--bs-r-sm) var(--bs-r-sm) 0;background:var(--bs-bg);
    font-size:13.5px;font-weight:700;color:var(--bs-muted);
}
.bs-quick{display:flex;flex-wrap:wrap;gap:6px}
.bs-quick button{
    padding:5px 10px;border:1px solid var(--bs-line-2);border-radius:999px;background:#fff;cursor:pointer;
    font:700 12.5px var(--bs-font);color:var(--bs-ink-2);
}
.bs-quick button:hover{border-color:var(--bs-accent);color:var(--bs-ink)}

/* радио-«чипы» направления и дни недели */
.bs-chips,.bs-days{display:flex;flex-wrap:wrap;gap:8px}
.bs-chip,.bs-day{position:relative;cursor:pointer}
.bs-chip input,.bs-day input{position:absolute;opacity:0;width:1px;height:1px}
.bs-chip span{
    display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--bs-line-2);border-radius:999px;background:#fff;
    font-size:14px;font-weight:600;color:var(--bs-ink-2);transition:all .15s ease;
}
.bs-day span{
    display:grid;place-items:center;width:52px;height:46px;border:1px solid var(--bs-line-2);border-radius:var(--bs-r-sm);background:#fff;
    font-size:14px;font-weight:700;color:var(--bs-muted);transition:all .15s ease;
}
.bs-chip:hover span,.bs-day:hover span{border-color:#BFC5CD}
.bs-chip input:checked + span{background:var(--bs-accent-soft);border-color:var(--bs-accent);color:var(--bs-ink)}
.bs-day input:checked + span{background:var(--bs-accent);border-color:var(--bs-accent);color:var(--bs-on-accent)}
.bs-chip input:focus-visible + span,.bs-day input:focus-visible + span{outline:3px solid rgba(143, 224, 31,.55);outline-offset:2px}

.bs-note{padding:12px 14px;border-radius:var(--bs-r-sm);background:var(--bs-bg);font-size:13.5px;color:var(--bs-ink-2)}

/* кнопки */
.bs-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--bs-line)}
.bs-foot--flush{padding-top:0;border-top:0}
.bs-foot__note{font-size:14px;color:var(--bs-muted)}
.bs-foot__note a{display:inline-block;padding:12px 0}
.bs-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;
    border:1px solid transparent;border-radius:12px;background:var(--bs-accent);cursor:pointer;
    font:800 15px/1 var(--bs-font);color:var(--bs-on-accent) !important;text-decoration:none;
    transition:background .15s ease;
}
.bs-btn:hover{background:var(--bs-accent-dark)}
.bs-btn--ghost{background:#fff;border-color:var(--bs-line-2);color:var(--bs-ink) !important}
.bs-btn--ghost:hover{background:var(--bs-bg)}
.bs-btn--lg{min-height:52px;padding:0 30px}
.bs-btn[disabled]{background:#E5E7EB;color:#6B7280 !important;cursor:not-allowed}
.bs-btn.is-busy{opacity:.7;cursor:progress}

/* правая колонка */
.bs-aside{
    position:sticky;top:96px;display:grid;gap:12px;padding:20px;border-radius:var(--bs-r);
    background:#F8FAFC;border:1px solid #F8FAFC;font-size:14px;color:var(--bs-ink-2);
}
.bs-aside h3{margin:0;font:800 15px/1.3 var(--bs-font);color:var(--bs-ink)}
.bs-aside p{margin:0;line-height:1.55}
.bs-aside__note{font-size:12.5px;color:var(--bs-muted)}
.bs-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bs-checks li{position:relative;padding-left:28px;line-height:1.45}
.bs-checks li::before{
    content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;
    background:#fff;color:var(--b-accent-text);font-size:12px;font-weight:800;
}

/* предпросмотр карточки */
.bs-preview{overflow:hidden;border-radius:12px;background:#fff;border:1px solid var(--bs-line);box-shadow:0 8px 20px rgba(11, 15, 20,.06)}
.bs-preview__cover{display:grid;place-items:center;height:96px;background:linear-gradient(135deg,#F8FAFC,#A8FF3B)}
.bs-preview__cover span{
    display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#fff;color:var(--b-accent-text);
    font:800 22px/1 var(--bs-font);box-shadow:0 6px 14px rgba(11, 15, 20,.15);
}
.bs-preview__body{display:grid;gap:6px;padding:14px 16px 16px}
.bs-preview__body b{font-size:15.5px;line-height:1.3;color:var(--bs-ink);overflow-wrap:anywhere}
.bs-preview__body p{font-size:13px;line-height:1.5;color:var(--bs-ink-2);overflow-wrap:anywhere}
.bs-preview__body small{font-size:12.5px;font-weight:700;color:var(--bs-ink-2)}
.bs-preview .is-empty{color:#9AA1AC !important;font-weight:500}

/* итоговый список */
.bs-checklist{list-style:none;margin:0;padding:0;display:grid}
.bs-checklist li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--bs-line)}
.bs-checklist li:last-child{border-bottom:0;padding-bottom:0}
.bs-checklist__icon{
    display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;
    font-size:13px;font-weight:800;
}
.is-ok .bs-checklist__icon{background:var(--bs-ok-soft);color:var(--bs-ok)}
.is-missing .bs-checklist__icon{background:var(--bs-danger-soft);color:var(--bs-danger)}
.bs-checklist__text{display:grid;flex:1;min-width:0}
.bs-checklist__text b{font-size:14px}
.bs-checklist__text small{font-size:13.5px;color:var(--bs-ink-2);overflow-wrap:anywhere}
.is-missing .bs-checklist__text small{color:var(--bs-danger)}
.bs-checklist a{font-size:13.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.bs-problems{margin:0;padding-left:18px;color:var(--bs-danger);display:grid;gap:4px}

/* уведомления */
.bs-alert{margin:0 0 18px;padding:12px 16px;border-radius:var(--bs-r-sm);border:1px solid transparent;font-size:14px}
.bs-alert ul{margin:6px 0 0;padding-left:18px}
.bs-alert--ok{background:var(--bs-ok-soft);border-color:#BFE0DC;color:#0B0F14}
.bs-alert--error{background:var(--bs-danger-soft);border-color:#F4C7C1;color:#8C1D13}

/* ---------------------------------------------------------------- адаптив */
@media (max-width:1100px){
    .bs-grid{grid-template-columns:1fr}
    .bs-aside{position:static}
}
@media (max-width:860px){
    .bs-top__title{display:none}
    .bs-top__user{display:none}
    .bs-shell{grid-template-columns:1fr;padding:18px 16px 48px;gap:16px}
    .bs-steps{display:none}
    .bs-progress{
        display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:baseline;margin-bottom:18px;
        font-size:13px;color:var(--bs-muted);
    }
    .bs-progress b{color:var(--bs-ink);font-size:14px}
    .bs-progress i{
        grid-column:1/-1;display:block;height:6px;border-radius:8px;background:var(--bs-line);overflow:hidden;position:relative;
    }
    .bs-progress i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);border-radius:8px;background:var(--bs-accent)}
}
@media (max-width:600px){
    .bs-top__inner{padding:0 16px;gap:10px}
    .bs-top__nav a{padding:8px 8px}
    .bs-card{padding:18px;gap:16px}
    .bs-row,.bs-row--3{grid-template-columns:1fr;gap:16px}
    .bs-foot{flex-direction:column-reverse;align-items:stretch}
    .bs-foot .bs-btn{width:100%}
    .bs-foot__note{text-align:center}
    .bs-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
    .bs-day span{width:100%;height:44px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
    .bs-body *{transition:none !important}
}
