*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f4f6fb;color:#1a2233;line-height:1.5}
.wrap{max-width:820px;margin:0 auto;padding:20px 16px 120px}
.head h1{margin:0 0 4px;font-size:24px}
.head .sub{margin:0;color:#5b6474}
.steps{display:flex;gap:6px;margin:20px 0;flex-wrap:wrap}
.steps button{flex:1;min-width:120px;border:0;background:#e6eaf3;color:#5b6474;padding:10px 8px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}
.steps button.on{background:var(--accent);color:#fff}
.steps button.done{background:#d6f0e0;color:#1a7a44}
.card{background:#fff;border-radius:14px;padding:22px;box-shadow:0 1px 3px rgba(20,30,60,.06)}
.loading{padding:40px;text-align:center;color:#8a94a6}
h2{font-size:18px;margin:0 0 4px}
.muted{color:#8a94a6;font-size:13px;margin:0 0 18px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:#3a4356}
input,select{width:100%;padding:11px 12px;border:1px solid #d3d9e6;border-radius:10px;font-size:15px;background:#fff}
input:focus,select:focus{outline:none;border-color:var(--accent)}
.row{display:flex;gap:12px}.row>*{flex:1}
.inn-row{display:flex;gap:8px;align-items:flex-end}
.inn-row .field{flex:1;margin:0}
.btn{background:var(--accent);color:#fff;border:0;padding:12px 20px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:#eef1f8;color:var(--accent)}
.btn-sm{padding:11px 16px;font-size:14px;white-space:nowrap}
.hint{font-size:12px;color:#8a94a6;margin-top:5px}
.err{color:#c02626;font-size:13px;margin-top:6px}
.ok-note{color:#1a7a44;font-size:13px;margin-top:6px}
/* Предупреждение о предварительных ценах — видно с первого экрана */
.notice{display:flex;gap:9px;margin:14px 0 0;padding:12px 15px;font-size:13.5px;line-height:1.5;
  background:#fdf3e2;border:1px solid #f0dcb4;border-radius:10px;color:#7a5a12}
.notice::before{content:"i";flex:none;width:18px;height:18px;border-radius:50%;
  background:#c9820a;color:#fff;font-size:12px;font-weight:700;font-style:italic;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
/* Полоска сотрудника — видна только вошедшему, клиент её не получает */
.staffbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:#eef3fe;border:1px solid #d6e0f7;border-radius:10px;
  padding:9px 14px;margin-bottom:14px;font-size:13px;color:#3a4356}
.staffbar a{color:#2563eb;font-weight:600;text-decoration:none;white-space:nowrap}
.staffbar a:hover{text-decoration:underline}
/* Налогообложение по частям */
.sub-h{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#5b6474;margin:22px 0 10px}
.taxbox{border:1px solid #e2e7f0;border-radius:12px;padding:15px 16px}
.tax-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.tax-row:last-of-type{margin-bottom:0}
.tax-row>label{flex:0 0 100%;font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:.04em;color:#5b6474;margin:0}
.tax-hint{font-size:12px;color:#8a94a6}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{border:1px solid #d3d9e6;background:#fff;color:#3a4356;padding:8px 14px;border-radius:20px;
  font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:.12s}
.chip:hover{border-color:#2563eb}
.chip.on{border-color:#2563eb;background:#2563eb;color:#fff}
/* Выбор формата обслуживания */
.modes-pick{display:flex;gap:11px;flex-wrap:wrap;margin-top:6px}
.mpick{flex:1;min-width:250px;display:flex;gap:11px;align-items:flex-start;border:1px solid #d3d9e6;
  border-radius:12px;padding:14px 16px;cursor:pointer;transition:.15s}
.mpick:hover{border-color:#2563eb}
.mpick.on{border-color:#2563eb;background:#eef3fe;box-shadow:0 0 0 1px #2563eb inset}
.mpick input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:#2563eb}
.mpick span{display:flex;flex-direction:column;gap:3px}
.mpick b{font-size:15.5px}
.mpick em{font-style:normal;font-size:12px;font-weight:600;color:#2563eb;text-transform:uppercase;letter-spacing:.04em}
.mpick i{font-style:normal;font-size:13px;color:#5b6474;line-height:1.45}
.mpick u{text-decoration:none;font-size:12px;color:#8a94a6}
/* Тарифные карточки */
.tgroup{margin-top:16px}
.tgroup:first-child{margin-top:6px}
.tgroup-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:#2563eb;margin-bottom:9px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.tgroup-h span{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;color:#8a94a6}
.tgroup .tcard{margin-bottom:9px}
.tcards{display:flex;flex-direction:column;gap:0;margin-top:6px}
.tcard{display:flex;gap:11px;align-items:flex-start;border:1px solid #d3d9e6;border-radius:12px;
  padding:14px 16px;cursor:pointer;transition:.15s}
.tcard:hover{border-color:#2563eb}
.tcard.on{border-color:#2563eb;background:#eef3fe;box-shadow:0 0 0 1px #2563eb inset}
.tcard input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:#2563eb}
.tcard-in{display:flex;flex-direction:column;gap:4px;flex:1}
.tcard-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.tcard-top b{font-size:15.5px}
.tcard-price{font-size:16px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.tcard i{font-style:normal;font-size:13px;color:#5b6474}
.tcard em{font-style:normal;font-size:12px;color:#8a94a6}
.flags{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.flag{display:flex;gap:11px;align-items:flex-start;border:1px solid #d3d9e6;border-radius:11px;
  padding:12px 14px;cursor:pointer;transition:.15s;font-weight:400}
.flag:hover{border-color:#2563eb}
.flag.on{border-color:#2563eb;background:#eef3fe}
.flag input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:#2563eb}
.flag span{display:flex;flex-direction:column;gap:2px}
.flag b{font-size:14.5px}
.flag i{font-style:normal;font-size:12.5px;color:#8a94a6}
.base-box{background:#eef3fe;border-radius:13px;padding:16px 18px}
.base-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.base-price{font-size:19px;font-weight:700;white-space:nowrap}
.base-list{margin:8px 0 0;padding-left:20px;font-size:13.5px;color:#3a4356}
.base-list li{margin-bottom:3px}
.core-calc{margin-top:10px;border-top:1px solid #d6e0f7;padding-top:9px}
.core-row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:4px 0}
.core-row b{white-space:nowrap;font-variant-numeric:tabular-nums}
.core-inc{margin-top:10px}
.core-inc summary{font-size:13px;color:#2563eb;cursor:pointer;font-weight:600}
.inc-grp{margin-top:10px}
.inc-grp>b{font-size:13px;color:#3a4356}
.summary-tbl tr.grp td{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8a94a6;font-weight:700;padding-top:14px;border-bottom:0}
.cat{margin-bottom:22px}
.cat h3{font-size:12px;margin:22px 0 6px;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.cat-note{font-size:12.5px;color:#8a94a6;margin:0 0 11px}
.blk{margin-top:18px}.blk b{font-size:13px}
.msg{font-size:13px;margin-top:7px}
.msg.err{color:#c02626}.msg.ok{color:#1a7a44}.msg.info{color:#8a94a6}
.svc{border:1px solid #e6eaf3;border-radius:12px;padding:12px 14px;margin-bottom:9px}
.svc-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.svc-name{font-weight:600}
.svc-hint{font-size:12px;color:#8a94a6}
.svc-price{font-size:13px;color:#5b6474;white-space:nowrap}
.modes{display:flex;gap:6px;margin-top:10px}
.modes button{flex:1;border:1px solid #d3d9e6;background:#fff;color:#5b6474;padding:8px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}
.modes button.sel-we{border-color:var(--accent);background:var(--accent);color:#fff}
.modes button.sel-self{border-color:#1a7a44;background:#e7f6ed;color:#1a7a44}
.modes button.sel-discuss{border-color:#c9820a;background:#fdf3e2;color:#a5670a}
.summary-tbl{width:100%;border-collapse:collapse;margin:6px 0 16px}
.summary-tbl td{padding:8px 6px;border-bottom:1px solid #eef1f8;font-size:14px}
.summary-tbl td:last-child{text-align:right;white-space:nowrap}
.totals{background:#f4f6fb;border-radius:12px;padding:16px;margin-top:8px}
.totals .big{font-size:26px;font-weight:700}
.pill{display:inline-block;font-size:12px;padding:2px 9px;border-radius:20px;margin:2px 4px 2px 0}
.pill.we{background:var(--accent);color:#fff}.pill.self{background:#e7f6ed;color:#1a7a44}.pill.discuss{background:#fdf3e2;color:#a5670a}
.nav{display:flex;justify-content:space-between;margin-top:20px}
.bar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e6eaf3;box-shadow:0 -2px 8px rgba(20,30,60,.05)}
.bar-in{max-width:820px;margin:0 auto;padding:10px 16px;display:flex;gap:24px;align-items:center}
.bar-lbl{display:block;font-size:11px;color:#8a94a6}
.bar b{font-size:18px}
.bar-note{font-size:12px;color:#c9820a;margin-left:auto;text-align:right}
.done-box{text-align:center;padding:10px 0}
.done-box .check{font-size:46px}
.linkbox{display:flex;gap:8px;margin-top:14px}
.linkbox input{font-size:13px}
@media(max-width:520px){.row{flex-direction:column}.bar-in{gap:14px}.bar b{font-size:16px}}
