/* LINEA · «Ремонт по проекту»: кабинет бригады, блок на странице заказа, каталог бригад. Токены — из main.css */
.bx-wrap{max-width:1080px}
.bx-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.bx-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--mut);font:inherit;font-size:14px;letter-spacing:.5px;padding:10px 12px;cursor:pointer}
.bx-tabs button.on{color:var(--ink);border-color:var(--gold)}
.bx-card{border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:20px 22px;margin:0 0 16px}
.bx-card h2{font-family:var(--serif);font-weight:500;font-size:22px;margin:0 0 10px}
.bx-card h3{font-size:17px;margin:14px 0 8px}
.bx-card p{margin:0 0 10px;line-height:1.6}
.bx-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.bx-f{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mut);min-width:0}
.bx-f.w2{grid-column:1/-1}
.bx-f input,.bx-f select,.bx-f textarea,.bx-in{font:inherit;font-size:16px;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:4px;padding:10px 11px;width:100%;box-sizing:border-box;min-width:0}
.bx-f textarea{min-height:90px;resize:vertical}
.bx-chips{display:flex;flex-wrap:wrap;gap:6px}
.bx-chips label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:18px;padding:6px 12px;font-size:14px;color:var(--ink);cursor:pointer}
.bx-chips input{accent-color:var(--gold)}
.bx-chips label:has(input:checked){border-color:var(--gold);color:var(--gold)}
.bx-cb{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;margin:8px 0;color:var(--ink)}
.bx-cb input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--gold)}
.bx-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 0}
.bx-row .btn{white-space:normal;text-align:center}
.bx-err{color:#e2936a;font-size:14px;margin:8px 0 0;min-height:1em}
.bx-ok{color:#7fc7a3;font-size:14px;margin:8px 0 0}
.bx-st{display:inline-block;font-size:12px;letter-spacing:.5px;padding:2px 10px;border-radius:12px;border:1px solid var(--line);color:var(--mut);vertical-align:middle}
.bx-st.active,.bx-st.accepted,.bx-st.ready,.bx-st.work,.bx-st.done{border-color:#4f8f6f;color:#7fc7a3}
.bx-st.review,.bx-st.returned,.bx-st.question,.bx-st.contract,.bx-st.new{border-color:var(--gold);color:var(--gold)}
.bx-st.blocked,.bx-st.suspended,.bx-st.rejected,.bx-st.cancelled{border-color:#8a4b37;color:#e2936a}
.bx-list{list-style:none;margin:0;padding:0}
.bx-list li{border-top:1px solid var(--line);padding:12px 0}
.bx-list li:first-child{border-top:0}
.bx-mut{color:var(--mut);font-size:13.5px}
.bx-ph{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.bx-ph img{width:120px;height:90px;object-fit:cover;border:1px solid var(--line);border-radius:3px;background:#222}
.bx-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:4px;margin:8px 0}
.bx-tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.bx-tbl th,.bx-tbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.bx-tbl th{color:var(--mut);font-weight:600;background:rgba(255,255,255,.02);position:sticky;top:0}
.bx-tbl td.r,.bx-tbl th.r{text-align:right;white-space:nowrap}
.bx-tbl tr.grp td{color:var(--gold);font-size:12px;letter-spacing:2px;text-transform:uppercase;background:rgba(194,154,91,.05)}
.bx-tbl input[type=number]{width:96px;font:inherit;font-size:15px;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:3px;padding:6px}
.bx-tbl tr.skip td{opacity:.45}
.bx-tbl .best{color:#7fc7a3}
.bx-tbl tfoot td{font-weight:600;border-top:2px solid var(--line)}
.bx-sum{font-family:var(--serif);font-size:28px;color:var(--gold);margin:4px 0 8px}
.bx-stage{border:1px solid var(--line);border-radius:4px;padding:14px 16px;margin:0 0 10px}
.bx-stage h4{margin:0 0 6px;font-size:16px}
.bx-check{margin:8px 0;padding-left:0;list-style:none}
.bx-check li{display:flex;gap:8px;font-size:14px;line-height:1.5;margin:0 0 6px}
.bx-check .src{color:var(--dim);font-size:12px}
.bx-note{border-left:3px solid var(--gold);padding:4px 0 4px 14px;margin:0 0 14px;color:var(--mut);font-size:14px}
.bx-mic{display:inline-flex;align-items:center;gap:8px}
.bx-mic.rec{color:#e2936a}
/* каталог и карточка бригады (макет docs/brigady/primer-*.html, в токенах сайта) */
.k-page{padding-top:28px}
.k-narrow{max-width:900px}
.k-h1{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,44px);line-height:1.15;margin:0 0 14px}
.k-demo{background:#3a2f17;color:#f1d79e;border:1px solid #6b5422;border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.5;margin:0 0 18px}
.k-how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0;padding:0;list-style:none;counter-reset:kh}
.k-how li{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--mut);counter-increment:kh}
.k-how b{display:block;color:var(--gold);font-size:13px;letter-spacing:.5px;margin-bottom:2px}
.k-how b::before{content:counter(kh) ". "}
.k-filter{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;align-items:end;margin:0 0 20px}
.k-filter label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--mut)}
.k-filter select{font:inherit;font-size:15px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.k-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.k-item{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.k-ph{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:3px;aspect-ratio:16/9;position:relative;background:#1f1b15}
.k-ph img{width:100%;height:100%;object-fit:cover;display:block}
.k-ph img:first-child{grid-row:1/3}
.k-ph img:only-child{grid-column:1/3}
.k-cap{position:absolute;left:8px;bottom:8px;font-size:11px;background:rgba(0,0,0,.6);color:#ddd;padding:2px 7px;border-radius:6px}
.k-tag{position:absolute;right:8px;top:8px;font-size:11px;font-style:normal;background:#3a2f17;color:#f1d79e;padding:2px 8px;border-radius:6px}
.k-mono{grid-column:1/3;grid-row:1/3;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:40px;color:var(--gold)}
.k-body{padding:14px 16px;flex:1;display:flex;flex-direction:column}
.k-hd{display:flex;gap:10px;align-items:center}
.k-hd h3{margin:0;font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.3}.k-hd h3 a{color:var(--ink)}.k-hd h3 a:hover{color:var(--gold)}
.k-z{font-size:13px;color:var(--mut)}
.k-ava{width:64px;height:64px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-weight:600;font-size:20px;flex:none;object-fit:cover;background:#2a241a}
.k-ava.sm{width:42px;height:42px;font-size:15px}
.k-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:12px 0}
.k-chips li{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:3px 11px;color:#d9d3c8}
.k-chips.sm{margin:10px 0}.k-chips.sm li{font-size:12px;padding:2px 9px}
.k-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 10px}
.k-kv dt{color:var(--ink);font-size:15px}.k-kv dd{margin:0;font-size:12px;color:var(--mut)}
.k-meta{font-size:12px;color:var(--dim);margin:0 0 12px;line-height:1.5}
.k-r{margin:8px 0 0;font-size:14px}
.k-btns{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
.k-btns>.btn,.k-btns>.k-invite{flex:1;min-width:120px;text-align:center}
.k-invite{display:flex;flex-direction:column}.k-invite .btn{width:100%;text-align:center}.k-invite .hint{font-size:12px}
.k-join{margin-top:28px;background:var(--panel);border:1px solid var(--gold);border-radius:16px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.k-join h2{margin:0;font-family:var(--serif);font-weight:500;font-size:22px}.k-join p{margin:4px 0 0;color:var(--mut);font-size:14px;max-width:640px}
.k-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.k-card>h2{font-family:var(--serif);font-weight:500;font-size:20px;margin:22px 20px 8px}
.k-hero{position:relative;aspect-ratio:16/7;background:#000}.k-hero img{width:100%;height:100%;object-fit:cover;opacity:.9;display:block}
.k-hero .k-cap{left:12px;bottom:10px;font-size:12px}
.k-head{display:flex;gap:16px;align-items:center;padding:18px 20px 4px}
.k-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3vw,30px);line-height:1.2;margin:0}
.k-sub{color:var(--mut);font-size:14px;margin:2px 0 0}
.k-card .k-chips{padding:0 20px}
.k-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 20px 14px}
.k-stats div{background:#1f1c17;border-radius:10px;padding:10px 12px}
.k-stats dt{font-size:18px;color:var(--gold);font-family:var(--serif)}.k-stats dd{margin:0;font-size:12px;color:var(--mut)}
.k-about{color:var(--mut);margin:0 20px 10px;line-height:1.6}
.k-obj{border-top:1px solid var(--line);padding:14px 20px}
.k-obj h3{margin:0 0 4px;font-size:16px}.k-obj p{margin:0 0 10px;color:var(--mut);font-size:14px;line-height:1.55}
.k-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.k-gal figure{margin:0}.k-gal img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;display:block}
.k-gal figcaption{font-size:11px;color:var(--mut);margin-top:4px}
.k-off{width:100%;border-collapse:collapse;font-size:14px}
.k-off td{padding:9px 20px;border-top:1px solid var(--line);vertical-align:top}.k-off td:first-child{color:var(--mut);width:40%}
.k-no{color:var(--dim)}
.k-note{color:var(--mut);font-size:13.5px;margin:16px 20px 0;line-height:1.55}
.k-card .k-btns{padding:16px 20px 20px}
.k-card .k-btns>.btn,.k-card .k-btns>.k-invite{min-width:200px}
.k-stars{color:var(--gold);letter-spacing:1px}
.k-rev{border-left:3px solid var(--gold);margin:0 20px 14px;padding:4px 0 4px 16px}.k-rev p{margin:6px 0}
.mut{color:var(--mut)}
.bx-tbl .bx-ph{flex-wrap:nowrap;gap:4px}.bx-tbl .bx-ph img{width:64px;height:48px}
@media (max-width:760px){
  .bx-grid{grid-template-columns:1fr}
  .bx-card{padding:16px 14px}
  /* форма предложения на телефоне: строка позиции — карточка (наименование, ед./кол-во, цена, «не делаем»), без горизонтальной прокрутки */
  .bx-offer{min-width:0}.bx-offer thead{display:none}
  .bx-offer tbody tr{display:grid;grid-template-columns:auto auto 1fr;gap:6px 12px;align-items:center;padding:10px 10px 8px;border-bottom:1px solid var(--line)}
  .bx-offer tbody td{border:0;padding:0}
  .bx-offer tbody td:first-child,.bx-offer tbody td:last-child{grid-column:1/-1}
  .bx-offer tbody td:nth-child(2),.bx-offer tbody td:nth-child(3){color:var(--mut);font-size:13px}
  .bx-offer tbody td:nth-child(4){justify-self:end}
  .bx-offer tr.grp{display:block;padding:8px 10px}
  .k-filter{grid-template-columns:1fr 1fr}
  .k-how{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-head{align-items:flex-start}
  .k-off td{display:block;width:auto!important;padding:4px 16px}.k-off td:first-child{padding-top:10px}
  .k-card>h2,.k-about,.k-note{margin-left:16px;margin-right:16px}
  .k-obj,.k-head{padding-left:16px;padding-right:16px}
}
