/* «Техника», «Отчёты», «Наряд». Токены — из styles.css. */

/* ── Техника */
.gr-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}
.gr-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:left}
.gr-tile span{font-size:11px;color:var(--muted)}
.gr-tile strong{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-1px}
.gr-tile.out strong{color:var(--orange)}
.gr-tile.repair strong{color:var(--purple)}
.gr-tile.studio strong{color:var(--accent)}
.gr-tile.active{border-color:var(--accent);background:#1a1c12}
.gr-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}
.gr-group{margin-bottom:22px}
.gr-group h3{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 8px 2px;font-weight:500}
.gr-model{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:6px;overflow:hidden}
.gr-model.open{border-color:#3a3a42}
.gr-model-head{display:grid;grid-template-columns:56px minmax(0,1.4fr) minmax(0,1.2fr) auto 20px;gap:14px;align-items:center;width:100%;padding:8px 14px 8px 8px;background:none;text-align:left}
.gr-model-head:hover{background:#18181b}
.gr-thumb{position:relative;width:56px;height:44px;border-radius:9px;background:#f4f3f0;display:grid;place-items:center;overflow:hidden}
.gr-thumb img{max-width:90%;max-height:40px;object-fit:contain;mix-blend-mode:multiply}
.gr-thumb-ph{display:none}
.gr-thumb.none{background:var(--card)}
.gr-thumb.none .gr-thumb-ph{display:grid;color:var(--muted)}
.gr-thumb.none .gr-thumb-ph svg{width:18px;height:18px}
.gr-name{font-size:13px;font-weight:500;line-height:1.35}
.gr-name small{margin-top:2px}
.gr-summary{display:flex;flex-wrap:wrap;gap:5px}
.gr-pill{font-size:10px;padding:3px 8px;border-radius:10px;background:#232327;color:var(--dim);white-space:nowrap}
.gr-pill.out{background:#33271c;color:var(--orange)}
.gr-pill.studio{background:#23261a;color:var(--accent)}
.gr-pill.repair{background:#2a2335;color:var(--purple)}
.gr-total{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}
.gr-chevron{color:var(--muted)}
.gr-chevron svg{width:16px;height:16px;transform:rotate(90deg)}
.gr-model.open .gr-chevron svg{transform:rotate(-90deg)}
.gr-units{border-top:1px solid var(--line);padding:8px 14px 12px 78px;display:flex;flex-direction:column;gap:2px}
.gr-units .bk-photo.edit{height:auto;margin:0 0 8px;border-radius:10px}
.gr-unit{display:grid;grid-template-columns:70px 110px minmax(0,1fr) minmax(0,1.2fr) auto;gap:12px;align-items:center;font-size:12px;padding:7px 0;border-bottom:1px solid #222226}
.gr-unit .tag{margin:0;justify-self:start}
.gr-code{font-variant-numeric:tabular-nums;color:var(--dim)}
.gr-where{color:var(--dim)}
.gr-booking{background:none;text-align:left;color:var(--text);font-size:12px;padding:0}
.gr-booking:hover{color:var(--accent)}
.gr-booking small{margin-top:1px}
.gr-none{color:var(--muted)}
.gr-unit-actions{display:flex;gap:18px;margin-top:6px}
.tag.danger{background:#3a2020;color:var(--danger)}

/* ── Отчёты */
.rp-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.rp-tile{padding:16px 18px;border-radius:14px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.rp-tile span{font-size:11px;color:var(--muted)}
.rp-tile strong{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-1px}
.rp-tile.orange strong{color:var(--orange)}
.rp-tile.danger strong{color:var(--danger)}
.rp-tile.purple strong{color:var(--purple)}
.rp-section{margin-bottom:14px}
.rp-body{padding:0 21px 16px}
.rp-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) 130px auto;gap:16px;align-items:start;padding:12px 0;border-top:1px solid #232327;font-size:12px}
.rp-row:first-child{border-top:0}
.rp-row.late .rp-when strong{color:var(--danger)}
.rp-title{background:none;padding:0;text-align:left;font-size:13px;font-weight:500;color:var(--text)}
.rp-title:hover{color:var(--accent)}
.rp-main small{margin-top:3px}
.rp-units{line-height:1.7;color:var(--dim)}
.rp-units small{display:inline;margin-left:4px}
.rp-when{font-size:11px;color:var(--muted);line-height:1.5}
.rp-when strong{color:var(--text);font-weight:500;font-size:12px}
.rp-when .tag{margin-top:6px}
.rp-act .button{min-height:34px;padding:7px 13px;font-size:11px}
.rp-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}
.rp-bar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 44px;gap:12px;align-items:center;font-size:12px;padding:5px 0}
.rp-bar-track{height:8px;border-radius:4px;background:#232327;overflow:hidden}
.rp-bar-track i{display:block;height:100%;background:var(--accent);border-radius:4px}
.rp-bar strong{font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.rp-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;font-size:12px;padding:7px 0;border-top:1px solid #232327}
.rp-line:first-child{border-top:0}
.rp-line small{display:inline;margin-left:4px}
.rp-line .tag{margin:0}
.rp-time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.rp-section:last-of-type .rp-line{grid-template-columns:120px minmax(0,1fr)}

/* ── Наряд */
.od-bar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.od-bar .bk-back{margin:0 auto 0 0;font-size:12px}
.od-doc{background:#fff;color:#141414;max-width:820px;margin:0 auto 30px;padding:44px 48px;border-radius:6px;font-size:12px;line-height:1.5;box-shadow:0 10px 40px #0008}
.od-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid #141414;padding-bottom:18px;margin-bottom:18px}
.od-brand{font-family:var(--display);font-size:34px;font-weight:600;letter-spacing:-2px;line-height:1}
.od-brand span{font-size:10px;vertical-align:top;margin-left:4px;color:#9aa800}
.od-brand small{display:block;font-family:var(--body);font-size:8px;letter-spacing:1.6px;color:#555;margin-top:8px}
.od-num{text-align:right}
.od-num span{display:block;font-size:11px;color:#555}
.od-num strong{display:block;font-family:var(--display);font-size:18px;font-weight:500;letter-spacing:-.5px}
.od-num small{color:#555}
.od-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;margin:0 0 20px}
.od-meta div{display:grid;grid-template-columns:130px 1fr;gap:10px}
.od-meta dt{color:#666}
.od-meta dd{margin:0;font-weight:500}
.od-table{width:100%;border-collapse:collapse;margin-bottom:16px}
.od-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#555;border-bottom:1px solid #141414;padding:6px 8px}
.od-table td{border-bottom:1px solid #ddd;padding:7px 8px;vertical-align:top}
.od-table tbody tr:not(.od-section) td:first-child{width:28px;color:#777}
.od-table .od-code{font-variant-numeric:tabular-nums;white-space:nowrap;color:#444}
.od-table .od-box{width:78px;text-align:center;font-size:15px}
.od-table tbody tr:not(.od-section) td:last-child{width:130px}
.od-table .od-section td{background:#f2f2ef;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#444;font-weight:600;padding:5px 8px}
.od-table tfoot td{border-bottom:0;border-top:1px solid #141414;font-weight:600}
.od-notes,.od-rules{margin:0 0 12px}
.od-rules{color:#555;font-size:11px}
.od-signs{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;margin-top:30px}
.od-signs div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:end}
.od-signs span{font-weight:500}
.od-signs i{border-bottom:1px solid #141414;height:22px}
.od-signs small{grid-column:2;color:#888;font-size:9px}
.od-foot{margin-top:30px;padding-top:10px;border-top:1px solid #ddd;color:#999;font-size:9px}

@media(max-width:1180px){
  .gr-model-head{grid-template-columns:56px minmax(0,1fr) auto 20px}
  .gr-summary{grid-column:2/3;grid-row:2}
  .gr-unit{grid-template-columns:64px 100px minmax(0,1fr);row-gap:4px}
  .gr-unit .gr-booking{grid-column:2/4}
  .rp-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}
  .rp-row .rp-when{grid-column:1}
  .rp-two{grid-template-columns:1fr}
}
@media(max-width:950px){
  .gr-layout{grid-template-columns:1fr}
  .gr-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rp-tiles{grid-template-columns:1fr 1fr}
  .gr-units{padding-left:14px}
}
@media(max-width:640px){
  .gr-tiles{grid-template-columns:1fr 1fr}
  .gr-tile.all{grid-column:1/-1}
  .gr-model-head{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}
  .gr-chevron{display:none}
  .gr-thumb{width:48px;height:40px}
  .gr-unit{grid-template-columns:60px minmax(0,1fr)}
  .gr-unit .tag{grid-column:2}
  .gr-unit .gr-where,.gr-unit .gr-booking{grid-column:1/-1}
  .rp-row{grid-template-columns:1fr}
  .rp-row .rp-when{grid-column:auto}
  .od-doc{padding:24px 18px}
  .od-meta{grid-template-columns:1fr}
  .od-meta div{grid-template-columns:110px 1fr}
  .od-signs{grid-template-columns:1fr}
  .od-table .od-box{width:48px}
  .od-table tr:not(.od-section) td:last-child{display:none}
  .od-table th:last-child{display:none}
}

/* ── Печать: только документ, светлый фон */
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff!important;color:#000!important}
  .sidebar,.topbar,footer,.skip-link,.toast,.no-print,.od-bar,.heading-actions,dialog{display:none!important}
  .workspace-body{margin:0!important}
  main{padding:0!important;max-width:none!important;min-height:0!important}
  .od-doc{box-shadow:none;padding:0;max-width:none;margin:0;border-radius:0}
  .od-table tr{break-inside:avoid}
  .od-signs{break-inside:avoid}
  /* Отчёты — тёмные панели в светлые */
  .page-heading h1,.rp-tile strong,.rp-title,.rp-when strong,.rp-bar strong{color:#000!important}
  .panel,.rp-tile{background:#fff!important;border:1px solid #bbb!important;break-inside:avoid}
  .rp-units,.rp-line,.rp-when,.heading-sub,.eyebrow,small{color:#333!important}
  .rp-bar-track{background:#eee!important}.rp-bar-track i{background:#555!important}
  .tag{background:#eee!important;color:#000!important}
}

/* Фильтр состояния: точки у папок, подсветка найденного, строка «что показано» */
.gr-dots{display:inline-flex;gap:3px;margin-left:auto}
.gr-dots:empty{display:none}
.gr-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted)}
.gr-dot.out{background:var(--orange)}
.gr-dot.studio{background:var(--accent)}
.gr-dot.repair{background:var(--purple)}
.bk-top .gr-dots+.bk-count{margin-left:6px}
.bk-sub .gr-dots{margin:0 6px 0 auto}
.bk-folder.dim>.bk-top,.bk-sub.dim{opacity:.38}
.bk-folder.hit>.bk-top{color:var(--text)}
.bk-folder.hit.out>.bk-top .bk-count{color:var(--orange);font-weight:600}
.bk-folder.hit.studio>.bk-top .bk-count{color:var(--accent);font-weight:600}
.bk-folder.hit.repair>.bk-top .bk-count{color:var(--purple);font-weight:600}
.gr-note{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:14px;border-radius:12px;font-size:12px;background:var(--surface);border:1px solid var(--line)}
.gr-note span{flex:1;color:var(--dim)}
.gr-note strong{color:var(--text);font-weight:500}
.gr-note.out{border-color:#6b4d31;background:#211a13}
.gr-note.studio{border-color:#5d6630;background:#1a1c12}
.gr-note.repair{border-color:#4c3f63;background:#1c1824}
.gr-note .text-button{margin:0}
.gr-tile.out.active{border-color:var(--orange);background:#211a13}
.gr-tile.repair.active{border-color:var(--purple);background:#1c1824}
@media(max-width:950px){.bk-top .gr-dots{margin-left:6px}}

/* ── Бронь студии и сетапы */
.st-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.st-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:16px}
.st-card{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:left;color:var(--text)}
.st-card:hover{border-color:#44444c}
.st-card.active{border-color:var(--accent);background:#1a1c12}
.st-card-img{position:relative;height:110px;border-radius:10px;background:#f4f3f0;overflow:hidden;display:grid;place-items:center}
.st-card-img img{width:100%;height:100%;object-fit:cover}
.st-card-img svg{display:none}
.st-card-img.none{background:var(--card)}
.st-card-img.none svg{display:block;width:26px;height:26px;color:var(--muted)}
.st-card-name{font-size:13px;font-weight:500;line-height:1.35}
.st-card-name .tag{margin-left:4px;vertical-align:middle}
.st-card-new{justify-content:center;align-items:center;text-align:center;border-style:dashed;min-height:170px;color:var(--dim)}
.st-card-new svg{width:24px;height:24px;color:var(--accent)}
.st-detail{padding:18px 20px}
.st-detail-actions{display:flex;justify-content:flex-end;margin-top:12px}
.st-sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.st-sheet-head h3{font-family:var(--display);font-size:16px;letter-spacing:-.5px;font-weight:500}
.st-sheet-head span{font-size:11px;color:var(--muted)}
.st-desc{font-size:12px;color:var(--dim);margin-bottom:12px}
.st-sheet h4{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:500;margin:14px 0 6px}
.st-photo{position:relative;margin:0;border-radius:12px;overflow:hidden;background:#f4f3f0;display:grid;place-items:center}
.st-photo.frame{aspect-ratio:16/9}
.st-photo.diagram{aspect-ratio:4/3;max-width:520px;margin-top:14px}
.st-photo img{width:100%;height:100%;object-fit:contain}
.st-photo.frame img{object-fit:cover}
.st-photo figcaption{position:absolute;left:10px;top:10px;font-size:10px;padding:3px 8px;border-radius:8px;background:#0c0c0ecc;color:var(--dim)}
.st-ph{display:none}
.st-photo.none{background:var(--card);border:1px dashed #3a3a42}
.st-photo.none .st-ph{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted)}
.st-photo.none .st-ph svg{width:26px;height:26px}
.st-lights{width:100%;border-collapse:collapse;font-size:12px}
.st-lights th{text-align:left;font-size:10px;color:var(--muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}
.st-lights td{padding:8px;border-bottom:1px solid #232327;vertical-align:top}
.st-lights td:first-child{font-weight:500}
.st-summary{gap:10px}
.st-sum-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.st-sum-line strong{color:var(--text);font-weight:500;text-align:right}
.st-sum-line strong.bad{color:var(--danger)}
.st-editor .st-block{padding:18px 20px;display:flex;flex-direction:column;gap:12px;overflow:visible}
.st-editor .st-block h2{font-family:var(--display);font-size:15px;letter-spacing:-.4px}
.st-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.st-grid .st-wide{grid-column:span 2}
.st-grid .st-full{grid-column:1/-1}
.st-row{display:grid;grid-template-columns:minmax(0,1.4fr) 130px minmax(0,2fr) 90px 100px minmax(0,1.2fr) 28px;gap:10px;align-items:end;padding-bottom:10px;border-bottom:1px solid #232327}
.st-row .field input+input{margin-top:6px}
.st-gear-row{grid-template-columns:minmax(0,1fr) 100px 28px}
.st-del{margin-bottom:8px}
.st-preview{max-width:420px;max-height:260px;border-radius:10px;object-fit:contain;background:#f4f3f0}
.st-editor-actions{display:flex;gap:10px;align-items:center}
.st-editor-actions span{flex:1}
.button.danger{color:var(--danger);border-color:#5a3030}
.od-setup{margin:18px 0;break-inside:avoid}
.od-h{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}
.od-doc .st-sheet-head h3{color:#141414}
.od-doc .st-sheet-head span,.od-doc .st-desc{color:#555}
.od-doc .st-photo{background:#f2f2ef}
.od-doc .st-photo.none{border-color:#ccc}
.od-doc .st-photo figcaption{background:#fff;color:#333;border:1px solid #ddd}
.od-doc .st-lights th{color:#555;border-bottom-color:#141414}
.od-doc .st-lights td{border-bottom-color:#ddd}
.od-doc .st-sheet h4{color:#555}
@media(max-width:1180px){
  .st-row{grid-template-columns:repeat(3,minmax(0,1fr)) 28px}
  .st-row .field:nth-child(3){grid-column:1/-2}
  .st-layout{grid-template-columns:minmax(0,1fr) 290px}
}
@media(max-width:950px){
  .st-layout{grid-template-columns:1fr}
  .st-summary{position:static;transform:none;max-height:none;box-shadow:none;border-radius:17px}
}
@media(max-width:640px){
  .st-grid{grid-template-columns:1fr}
  .st-grid .st-wide{grid-column:auto}
  .st-row{grid-template-columns:1fr 1fr 28px}
  .st-row .field:nth-child(3),.st-row .field:nth-child(6){grid-column:1/-2}
  .st-lights{font-size:11px}
  .st-lights th:nth-child(6),.st-lights td:nth-child(6){display:none}
}
@media print{.st-photo figcaption{display:none}.od-setup .st-photo.frame{max-height:95mm}}

/* Сетапы с сайта: форматы, ракурсы, вертикальные кадры */
.st-formats{margin-bottom:14px}
.st-format h3{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:500;margin:4px 0 8px 2px}
.st-photo.frame{aspect-ratio:auto;height:min(460px,56vw);background:#0c0c0e}
.st-photo.frame img{object-fit:contain}
.st-angles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}
.st-photo.angle{height:120px;background:#0c0c0e}
.st-photo.angle img{object-fit:contain}
.st-photo.angle figcaption{font-size:9px}
.st-todo{padding:10px 12px;border:1px dashed #3a3a42;border-radius:10px}
.od-doc .st-photo.frame,.od-doc .st-photo.angle{background:#f2f2ef}
.od-doc .st-todo{border-color:#ccc;color:#555}
@media print{.st-photo.frame{height:85mm}.st-photo.angle{height:35mm}}

/* ── Сетап изнутри: шаги, карточки, схема сверху */
.sv-page{display:flex;flex-direction:column;gap:16px;max-width:1180px}
.sv-bar-actions{margin-left:auto;display:flex;gap:8px}
.sv-head h1{margin:10px 0 8px}
.sv-head p{color:var(--dim);max-width:720px}
.sv-tags{display:flex;gap:6px}
.sv-tags .tag{margin:0}
.sv-step{padding:20px 22px;display:flex;flex-direction:column;gap:14px;overflow:visible}
.sv-step-head{display:flex;gap:14px;align-items:flex-start}
.sv-step-head h2{font-family:var(--display);font-size:17px;letter-spacing:-.5px}
.sv-step-head p{font-size:12px;color:var(--muted);margin-top:3px}
.sv-n{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:15px}
.sv-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px}
.sv-main{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#0c0c0e;display:grid;place-items:center;max-height:520px}
.sv-main img{width:100%;height:100%;max-height:520px;object-fit:contain}
.sv-main figcaption,.sv-angle span{position:absolute;left:10px;top:10px;font-size:11px;padding:4px 9px;border-radius:9px;background:#0c0c0ed9;color:var(--text)}
.sv-angles{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.sv-angle{position:relative;display:grid;place-items:center;border-radius:10px;overflow:hidden;background:#0c0c0e;aspect-ratio:4/3}
.sv-angle img{width:100%;height:100%;object-fit:cover}
.sv-angle:hover{outline:2px solid var(--accent)}
.sv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.sv-card{display:flex;gap:12px;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.sv-card h3{font-size:14px;font-weight:500;margin-bottom:6px}
.sv-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:12px}
.sv-card dt{color:var(--muted)}
.sv-card dd{margin:0;display:flex;align-items:center;gap:6px}
.sv-card small{margin-top:6px}
.sv-kind{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:2px}
.sv-badge{flex-shrink:0;min-width:34px;height:34px;padding:0 6px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--orange);color:#0c0c0e}
.sv-badge.cam{border-radius:9px;background:#f5f2ec;color:#0c0c0e}
.sv-warn{color:var(--orange)!important}
.sv-meter{display:inline-block;width:70px;height:6px;border-radius:3px;background:#2a2a30;overflow:hidden}
.sv-meter i{display:block;height:100%;background:var(--accent)}
.sv-cct{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #0004}
.sv-plan{border-radius:12px;overflow:hidden;background:#101013;border:1px solid var(--line)}
.sv-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:var(--dim)}
.sv-legend span{display:inline-flex;align-items:center;gap:6px}
.lg{display:inline-block;width:14px;height:14px}
.lg.cam{background:#f5f2ec;border-radius:3px}.lg.light{background:var(--orange);border-radius:50%}.lg.refl{background:#f5f2ec;width:5px}.lg.person{background:#7c9cc8;border-radius:50%}.lg.furn{background:#3a3a42;border-radius:3px}
.sv-diagram{margin:0;max-width:640px}.sv-diagram img{width:100%;border-radius:10px}.sv-diagram figcaption{font-size:11px;color:var(--muted);margin-top:4px}
.sv-empty{padding:14px;border:1px dashed #3a3a42;border-radius:10px;color:var(--muted);font-size:12px}
.sv-list{margin:0;padding-left:18px;font-size:13px;line-height:1.8}
.sv-check{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px;counter-reset:c}
.sv-check li{counter-increment:c;font-size:13px}
.sv-check label{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:9px;background:var(--card);cursor:pointer}
.sv-check label:before{content:counter(c);color:var(--muted);min-width:16px}
.sv-check input{width:16px;height:16px;padding:0;margin-top:2px;accent-color:var(--accent)}
.sv-check input:checked+*{text-decoration:line-through}

/* Схема (SVG) */
.pl-svg{display:block;width:100%;height:auto;touch-action:none;user-select:none}
.pl-room{fill:#15151a;stroke:#3a3a42;stroke-width:3}
.pl-grid line{stroke:#24242a;stroke-width:1}
.pl-scale{fill:#6c6b73;font-size:14px;font-family:var(--body)}
.pl-num{font:700 17px var(--body);fill:#0c0c0e}
.pl-num.on-dark{fill:#0c0c0e;font-size:14px}
.pl-label{font:500 14px var(--body);fill:#b9b7be}
.pl-cam{fill:#f5f2ec;stroke:#0c0c0e;stroke-width:2}
.pl-fov{fill:#f5f2ec;opacity:.08;stroke:#f5f2ec;stroke-opacity:.25;stroke-dasharray:6 6}
.pl-beam{fill:#e9b584;opacity:.13}
.pl-person{fill:#7c9cc8;stroke:#0c0c0e;stroke-width:2}
.pl-furn{fill:#2e2e36;stroke:#4a4a54;stroke-width:2}
.pl-furn2{fill:#3c3c46}
.pl-mic{fill:#b9b7be}.pl-micarm{stroke:#b9b7be;stroke-width:3}
.pl-back{fill:#4a4a54}
.pl-svg.editable .pl-item{cursor:grab}
.pl-svg.editable .pl-item:active{cursor:grabbing}
.pl-item.sel circle,.pl-item.sel rect,.pl-item.sel path:not(.pl-fov):not(.pl-beam){stroke:var(--accent);stroke-width:4}
.pl-editor{display:flex;flex-direction:column;gap:10px}
.pl-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pl-tools .button{min-height:34px;padding:6px 12px;font-size:11px}
.pl-template{margin-left:auto;font-size:12px}
.pl-canvas{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#101013}
.pl-selbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;min-height:38px}
.pl-selbar .button{min-height:32px;padding:5px 12px;font-size:11px}
.pl-selbar input{font-size:12px;padding:7px 10px;width:140px}
.st-cam-row{grid-template-columns:34px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr) 28px}
.st-light-row{grid-template-columns:34px 150px minmax(0,1.3fr) 120px minmax(0,1.6fr) 80px 90px minmax(0,1fr) 28px}
.st-cam-row .sv-badge,.st-light-row .sv-badge{margin-bottom:6px;align-self:end}
.st-previews{display:flex;flex-wrap:wrap;gap:8px}
.st-previews .st-preview{max-width:180px;max-height:120px}
.st-editor .sv-step-head{margin-bottom:2px}
@media(max-width:1180px){
  .st-light-row{grid-template-columns:34px repeat(3,minmax(0,1fr)) 28px}
  .st-light-row .field:nth-of-type(4){grid-column:2/5}
  .st-cam-row{grid-template-columns:34px repeat(2,minmax(0,1fr)) 28px}
}
@media(max-width:950px){.sv-hero{grid-template-columns:1fr}.sv-angles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .sv-angles{grid-template-columns:1fr 1fr}
  .sv-bar-actions .button{font-size:0;padding:10px}
  .st-light-row,.st-cam-row{grid-template-columns:34px 1fr 28px}
  .st-light-row .field,.st-cam-row .field{grid-column:2/3}
  .pl-template{margin-left:0;width:100%}
}
@media print{
  .sv-page{max-width:none}
  .sv-step{break-inside:avoid}
  .sv-main{max-height:90mm}.sv-main img{max-height:90mm}
  .sv-card{background:#fff!important;border:1px solid #bbb!important}
  .sv-check label{background:#fff!important;border:1px solid #ccc}
  .sv-plan{background:#fff!important}
  .pl-room{fill:#fff;stroke:#333}.pl-grid line{stroke:#e2e2e2}
  .pl-label,.pl-scale{fill:#333}
}
.pl-num.on-room{fill:#f5f2ec}@media print{.pl-num.on-room{fill:#000}}

/* ── Схема: линейки, рулетка, прямоугольники, точное управление */
.pl-ruler line{stroke:#6c6b73;stroke-width:1.5}
.pl-ruler text{fill:#8e8d95;font:500 14px var(--body)}
.pl-ruler .pl-room-size{fill:var(--accent);font-weight:600}
.pl-rect{stroke:#8e8d95;stroke-width:2;opacity:.9}
.pl-rect.zone{fill:none;stroke:var(--accent);stroke-dasharray:10 6;opacity:1}
.pl-rect-label{fill:#f5f2ec;font-weight:600}
.pl-dim{fill:#d9d7de;font:600 13px var(--body)}
.pl-measure{cursor:pointer}
.pl-mline{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:8 5}
.pl-mline-hit{stroke:transparent;stroke-width:18}
.pl-mdot{fill:var(--accent)}
.pl-mtag{fill:#0c0c0e;stroke:var(--accent);stroke-width:1.5}
.pl-mtext{fill:var(--accent);font:700 14px var(--body)}
.pl-measure.sel .pl-mline{stroke-width:4}
.pl-item.sel .pl-rect{stroke:var(--accent);stroke-width:4}
.pl-selbar{flex-direction:column;align-items:stretch;gap:8px}
.pl-selrow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}
.pl-selrow>span:first-child{align-self:center;margin-right:auto}
.pl-f{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted)}
.pl-f input,.pl-f select{font-size:12px;padding:7px 9px;width:92px}
.pl-f select{width:auto;min-width:140px}
.pl-f input[data-plf=label]{width:150px}
.pl-rotf input[type=range]{width:170px;padding:0;accent-color:var(--accent)}
.pl-deg{width:64px!important}
.pl-nudge{display:inline-flex;gap:4px}
.pl-nudge .button{min-width:34px;padding:6px 0;font-size:14px}
.pl-tools .pl-f{flex-direction:row;align-items:center;gap:6px}
.pl-tools .pl-f input{width:64px}
.lg.meas{border-top:2px dashed var(--accent);height:0;width:18px}

/* ── Документ сетапа (печать) */
.sd-doc .od-num strong{font-size:17px}
.sd-desc{color:#444;margin:0 0 14px}
.sd-h{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:15px;font-weight:500;letter-spacing:-.4px;margin:22px 0 10px;color:#141414;break-after:avoid}
.sd-h span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#141414;color:#fff;font-size:12px}
.sd-photos{display:grid;grid-template-columns:2fr 1fr;gap:8px;break-inside:avoid}
.sd-photos figure{margin:0}
.sd-photos img{width:100%;border-radius:6px;display:block;object-fit:cover}
.sd-main img{max-height:115mm;object-fit:contain;background:#f2f2ef}
.sd-angles{display:grid;gap:8px;align-content:start}
.sd-angles img{aspect-ratio:4/3}
.sd-photos figcaption{font-size:10px;color:#666;margin-top:3px}
.sd-dot{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:700;font-size:11px;color:#141414;border:1px solid #999}
.sd-doc .od-table small{display:block;color:#777;font-size:9px}
.sd-doc .od-table td{font-size:11px}
.sd-plan{border:1px solid #ccc;border-radius:6px;overflow:hidden;break-inside:avoid}
.sd-doc .sv-legend{color:#444;margin-top:6px}
.sd-doc .sv-legend .lg.furn{background:#bbb}
.sd-diagram{margin:10px 0 0;max-width:120mm}.sd-diagram img{width:100%}
.sd-empty{color:#777;font-size:11px;border:1px dashed #ccc;border-radius:6px;padding:8px 10px}
.sd-check{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:12px}
.sd-check li{display:flex;gap:8px}
.sd-check span{font-size:14px;line-height:1}
/* Схема на белом: печать и документ */
.pl-svg.print .pl-room{fill:#fff;stroke:#333}
.pl-svg.print .pl-grid line{stroke:#e4e4e4}
.pl-svg.print .pl-ruler line{stroke:#555}.pl-svg.print .pl-ruler text{fill:#333}.pl-svg.print .pl-room-size{fill:#141414}
.pl-svg.print .pl-scale,.pl-svg.print .pl-label{fill:#333}
.pl-svg.print .pl-num.on-room{fill:#141414}
.pl-svg.print .pl-furn{fill:#d9d9d4;stroke:#777}.pl-svg.print .pl-furn2{fill:#c4c4be}
.pl-svg.print .pl-back{fill:#9a9aa2}
.pl-svg.print .pl-rect{opacity:.35;stroke:#555}.pl-svg.print .pl-rect-label{fill:#141414}.pl-svg.print .pl-dim{fill:#141414}
.pl-svg.print .pl-fov{fill:#555;opacity:.08;stroke:#555}
.pl-svg.print .pl-cam{stroke:#333}
.pl-svg.print .pl-beam{opacity:.25}
.pl-svg.print .pl-mline{stroke:#b36b00}.pl-svg.print .pl-mdot{fill:#b36b00}.pl-svg.print .pl-mtag{fill:#fff;stroke:#b36b00}.pl-svg.print .pl-mtext{fill:#b36b00}
.pl-svg.print .pl-mic,.pl-svg.print .pl-micarm{fill:#555;stroke:#555}
@media print{
  .sd-doc{padding:0}
  .sd-h{margin-top:14px}
  .pl-svg .pl-room{fill:#fff}
}
@media(max-width:640px){.sd-photos{grid-template-columns:1fr}.pl-rotf input[type=range]{width:120px}}

/* Цены аренды */
.gr-model-head{grid-template-columns:56px minmax(0,1.4fr) minmax(0,1.1fr) 110px auto 20px}
.gr-price{text-align:right;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.gr-price small{display:block}
.gr-pricebar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;justify-content:space-between;padding:8px 0 10px;border-bottom:1px solid #222226;font-size:12px}
.gr-pricebar small{display:inline;color:var(--muted)}
.gr-pricebar .pl-f input{width:120px}
.bk-price{font-size:11px;color:var(--dim)}
.bk-rent{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 12px;border-radius:10px;background:var(--card);font-size:12px}
.bk-rent span{color:var(--muted)}
.bk-rent strong{text-align:right;font-variant-numeric:tabular-nums}
.bk-rent small{grid-column:1/-1}
@media(max-width:1180px){.gr-model-head{grid-template-columns:56px minmax(0,1fr) auto auto 20px}.gr-summary{grid-column:2/3;grid-row:2}}
@media(max-width:640px){.gr-model-head{grid-template-columns:48px minmax(0,1fr) auto}.gr-price{grid-column:2;grid-row:3;text-align:left}.gr-total{grid-column:3;grid-row:1}}

/* Перенос броней мышкой в календаре */
.calendar-event[draggable=true]{cursor:grab}
.calendar-event.dragging{opacity:.4;cursor:grabbing}
.cal-dragging [data-drop-date]{transition:background .12s,box-shadow .12s}
[data-drop-date].drop-ok{background:#1f2414!important;box-shadow:inset 0 0 0 2px var(--accent)}
[data-drop-date].drop-bad{background:#2a1a1a!important;box-shadow:inset 0 0 0 2px var(--danger);cursor:not-allowed}
.drag-undo{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:60;display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:#1d1d21;border:1px solid var(--line);box-shadow:0 10px 30px #000a;font-size:13px;transition:transform .2s;max-width:calc(100vw - 32px)}
.drag-undo.visible{transform:translate(-50%,0)}
.drag-undo button{background:var(--accent);color:var(--accent-ink);border-radius:18px;padding:7px 14px;font-weight:600;font-size:12px}
@media(max-width:640px){.drag-undo{bottom:80px}}
@media(prefers-reduced-motion:reduce){.drag-undo{transition:none}}
.month-cell,.week-column{position:relative}
.drop-tag{position:absolute;left:4px;right:4px;bottom:4px;z-index:3;padding:5px 7px;border-radius:7px;font-size:10px;line-height:1.3;font-weight:600;pointer-events:none;box-shadow:0 4px 14px #0008}
.drop-tag.ok{background:var(--accent);color:var(--accent-ink)}
.drop-tag.bad{background:#5a2323;color:#ffd9d4}
.drag-undo .drag-bad{color:#ffb4a8}

/* Просмотр фото на весь экран */
img[data-zoom]{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:100;background:#050506f2;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;padding:24px 12px;backdrop-filter:blur(6px)}
.lb[hidden]{display:none}
.lb-fig{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:0}
.lb-img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #000}
.lb-cap{font-size:13px;color:var(--dim);text-align:center}
.lb-nav,.lb-close{background:#1d1d21cc;color:var(--text);border:1px solid var(--line);border-radius:50%;width:48px;height:48px;font-size:28px;line-height:1;display:grid;place-items:center;justify-self:center}
.lb-nav:hover,.lb-close:hover{background:var(--accent);color:var(--accent-ink)}
.lb-nav[hidden]{visibility:hidden;display:grid}
.lb-close{position:absolute;top:16px;right:16px;font-size:26px}
body.lb-open{overflow:hidden}
@media(max-width:640px){.lb{grid-template-columns:40px minmax(0,1fr) 40px;padding:56px 4px 24px}.lb-nav{width:36px;height:36px;font-size:22px}}
@media print{.lb{display:none!important}}

/* ── Бронь техники: вкладки «Подбор / Комплект» */
.bk-tabs{display:inline-flex;align-self:flex-start}
.bk-tabs button{padding:9px 16px;font-size:12px}
.bk-open-kit{width:100%}
.kit-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.kit-table-wrap{overflow:visible}
.kit-table{width:100%;border-collapse:collapse;font-size:13px}
.kit-table th{text-align:left;font-size:10px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.kit-table td{padding:10px 12px;border-bottom:1px solid #232327;vertical-align:middle}
.kit-table td small{display:block;margin-top:2px}
.kit-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kit-table tr.conflict td{background:#221616}
.kit-table tr.conflict small{color:var(--danger)}
.kit-section td{background:var(--card);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding:7px 12px!important}
.kit-photo{width:64px}
.kit-photo img{width:56px;height:42px;object-fit:contain;background:#f4f3f0;border-radius:7px;display:block}
.kit-photo svg{color:var(--muted)}
.kit-status .tag{margin:0}
.kit-side{position:sticky;top:18px;padding:18px;display:flex;flex-direction:column;gap:14px}
.kit-total-grid{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;font-size:13px}
.kit-total-grid span{color:var(--muted)}
.kit-total-grid strong{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}
.kit-disc{display:flex;align-items:center;gap:6px}
.kit-disc label{display:flex;align-items:center;gap:6px}
.kit-disc input{width:80px;padding:6px 8px;font-size:12px}
.kit-disc select{padding:6px 8px;font-size:12px}
.kit-final{font-size:16px!important;color:var(--text)!important;padding-top:8px;border-top:1px solid var(--line)}
strong.kit-final{font-family:var(--display);font-weight:600!important;color:var(--accent)!important}
@media(max-width:1180px){.kit-layout{grid-template-columns:1fr}.kit-side{position:static}}
@media(max-width:640px){.kit-table th:nth-child(1),.kit-table td.kit-photo,.kit-table th:nth-child(6),.kit-table td.kit-status{display:none}.kit-table td,.kit-table th{padding:8px 6px}}

/* ── Наряд: цены, итог, панель скидки */
.od-controls{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end;margin-bottom:12px;padding:12px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.od-disc{display:flex;gap:6px}
.od-disc input{width:90px}
.od-controls .form-hint{align-self:center;margin:0}
.od-table .od-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.od-sum{margin:0 0 14px auto;min-width:320px;border-collapse:collapse;font-size:12px;break-inside:avoid}
.od-sum td{padding:5px 8px;border-bottom:1px solid #ddd}
.od-sum td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.od-sum-total td{border-top:2px solid #141414;border-bottom:0;font-weight:700;font-size:14px}

/* ── Схема: тонкие элегантные линии (переопределяет толщины выше и в разметке значков) */
.pl-room{stroke-width:1.25}
.pl-grid line{stroke:#202026;stroke-width:.6}
.pl-ruler line{stroke-width:.8}
.pl-ruler text{font-size:12px;font-weight:400}
.pl-scale{font-size:12px}
.pl-svg .pl-rot *{stroke-width:1.1px}
.pl-svg .pl-rot .pl-accent{stroke-width:2.2px}
.pl-svg .pl-rot .pl-prop-line{stroke:#b9b7be;stroke-width:1.6px;fill:none;stroke-linecap:round}
.pl-svg .pl-rot .pl-prop-thin{stroke:#8e8d95;stroke-width:.8px;fill:none}
.pl-prop-metal{fill:#b9b7be;stroke:#0c0c0e}
.pl-fov{stroke-dasharray:4 5;stroke-opacity:.35}
.pl-beam{opacity:.1}
.pl-micarm{stroke-width:1.2}
.pl-label{font-size:12px;font-weight:500}
.pl-num{font-size:14px}
.pl-num.on-dark{font-size:12px}
.pl-dim{font-size:11px;font-weight:500;fill:#b9b7be}
.pl-dim-prop{fill:#8e8d95}
.pl-note{font:500 15px var(--body);fill:#f5f2ec}
/* Рулетка */
.pl-mline{stroke-width:1.1;stroke-dasharray:5 4}
.pl-mdot{r:2.5}
.pl-mtag{stroke-width:.8}
.pl-mtext{font:600 11px var(--body)}
.pl-measure.sel .pl-mline{stroke-width:2}
/* Выбор и ручка размера */
.pl-svg .pl-item.sel .pl-rot *:not(.pl-handle){stroke:var(--accent)!important}
.pl-svg .pl-item.sel .pl-rect{stroke-width:1.8px!important}
.pl-handle{fill:var(--accent);stroke:#0c0c0e;stroke-width:1px!important;cursor:nwse-resize}
/* Панель: название и палитра значков */
.pl-name input{width:190px!important}
.pl-hint{align-self:center;margin:0}
.pl-more{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.pl-more summary{cursor:pointer;padding:9px 14px;font-size:12px;color:var(--dim);list-style:none}
.pl-more summary::-webkit-details-marker{display:none}
.pl-more[open] summary{border-bottom:1px solid var(--line);color:var(--text)}
.pl-palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;padding:12px}
.pl-pgroup h4{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 6px}
.pl-pgroup>div{display:flex;flex-wrap:wrap;gap:6px}
.pl-chip{display:flex;align-items:center;gap:7px;padding:5px 9px 5px 5px;border-radius:9px;background:var(--card);border:1px solid var(--line);font-size:11px;color:var(--dim)}
.pl-chip:hover{border-color:var(--accent);color:var(--text)}
.pl-chip svg{width:30px;height:30px;background:#15151a;border-radius:6px}
.pl-chip svg *{stroke-width:2px}
/* Печать и документ: те же тонкие линии */
.pl-svg.print .pl-grid line{stroke:#ececec}
.pl-svg.print .pl-room{stroke:#555}
.pl-svg.print .pl-note{fill:#141414}
.pl-svg.print .pl-dim-prop{fill:#555}
/* Схема не наследует обводку svg-иконок интерфейса: без этого все подписи рисовались жирными с контуром */
.pl-svg,.pl-chip svg{stroke:none;stroke-width:1}
.pl-svg text,.pl-chip svg text{stroke:none}
/* Подписи на схеме: тонкая подложка цвета пола, чтобы текст не сливался с линиями и соседями */
.pl-svg .pl-label,.pl-svg .pl-dim,.pl-svg .pl-note{stroke:#15151a;stroke-width:3.5px;paint-order:stroke;stroke-linejoin:round}
.pl-svg .pl-rect-label,.pl-svg .pl-rect~.pl-dim{stroke:none}
.pl-svg.print .pl-label,.pl-svg.print .pl-dim,.pl-svg.print .pl-note{stroke:#fff}

/* ── Клиенты (clients.mjs) */
.bk-head .cl-name{grid-column:span 2}
.cl-hint{font-size:9px;color:var(--muted);line-height:1.4}
.bk-notice{font-size:12px;line-height:1.6;color:var(--accent);background:#23291a;border:1px solid #3f4722;border-radius:9px;padding:11px 13px;margin-top:14px}
.cl-avatar{color:var(--accent);font-weight:600;font-size:13px}
.cl-avatar.big{width:52px;height:52px;border-radius:14px;font-size:21px}
.cl-add{padding:20px;margin-bottom:18px}
.cl-add h2{margin-bottom:14px}
.cl-add-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cl-page{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start;margin-top:14px}
.cl-card{padding:22px}
.cl-card-head{display:flex;gap:14px;align-items:center}
.cl-card h1{font-size:24px;letter-spacing:-.8px;line-height:1.2}
.cl-tel{display:inline-block;margin-top:6px;color:var(--accent);font-size:13px}
.cl-edit{display:grid;gap:12px;margin-top:22px}
.cl-edit textarea{resize:vertical}
.cl-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.cl-money{font-size:12px;white-space:nowrap}
.cl-link{color:var(--accent)}
.detail-meta dd small{margin-top:3px;font-size:11px}

/* ── Смета → бронь (smetafeed.mjs) */
.sf-block{margin-bottom:30px}
.sf-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.sf-head h2{display:flex;align-items:center;gap:8px}
.sf-head h2 svg{width:16px;height:16px;color:var(--accent)}
.sf-head .form-hint{max-width:640px;margin-top:6px}
.sf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;margin:16px 0}
.sf-card{padding:20px;display:flex;flex-direction:column;gap:7px}
.sf-card.archived{opacity:.6}
.sf-top{display:flex;gap:6px;flex-wrap:wrap}
.sf-card h3{font-size:17px;margin-top:6px}
.sf-what{font-size:12px;color:var(--dim)}
.sf-status{font-size:11px;color:var(--muted);line-height:1.5}
.sf-items{list-style:none;padding:0;margin:8px 0;border-top:1px solid var(--line)}
.sf-items li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #27272b;font-size:12px}
.sf-items li small{font-size:10px;margin-top:2px}
.sf-items li.sf-miss{color:var(--orange)}
.sf-items li.sf-miss small{color:var(--orange)}
.sf-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:6px}
.sf-foot .button{align-self:flex-start}
.sf-foot small{font-size:9px}
.sf-waiting{margin-top:6px;font-size:12px;color:var(--dim)}
.sf-waiting summary{cursor:pointer}
.sf-waiting ul{margin:10px 0 0;padding-left:0;list-style:none;display:grid;gap:8px}
.sf-title{margin:4px 0 14px}
@media(max-width:950px){.cl-page{grid-template-columns:1fr}.cl-add-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cl-add-grid,.cl-metrics{grid-template-columns:1fr}.bk-head .cl-name{grid-column:1/-1}.sf-head{flex-direction:column}.sf-grid{grid-template-columns:1fr}}
/* шапка брони не вылезает за экран телефона: поля даты сжимаются вместе с колонкой */
.bk-head>.field{min-width:0}
.bk-head>.field input,.bk-head>.field select{min-width:0;max-width:100%}
.cl-table td:nth-child(2){white-space:nowrap}

/* ── Деньги и окупаемость (money.mjs) */
.mn-period{font-size:13px;font-weight:500;min-width:170px;text-align:center}
.mn-panel{margin-bottom:18px}
.mn-panel .panel-head .form-hint{margin:0}
.mn-chart-wrap{position:relative;padding:0 20px}
.mn-chart{width:100%;height:auto;display:block;stroke:none;stroke-width:1}
.mn-grid{stroke:#2a2a2f;stroke-width:.6;stroke-dasharray:3 4}
.mn-axis{stroke:#3a3a40;stroke-width:.8}
.mn-ytick,.mn-month{fill:var(--muted);font-size:10px;font-family:var(--body)}
.mn-hit{fill:transparent}
.mn-fact{fill:var(--accent)}
.mn-hatch-bg{fill:#2c3320}
.mn-hatch-line{stroke:var(--accent);stroke-width:1.4}
.mn-plan{fill:url(#mn-hatch)}
.mn-bar{opacity:.4;transition:opacity .15s}
.mn-bar.sel{opacity:1}
.mn-bar:hover{opacity:1}
.mn-bar.sel .mn-month{fill:var(--text)}
.mn-tip{position:absolute;top:-6px;z-index:2;max-width:280px;background:#0f0f11;border:1px solid #3a3a40;border-radius:8px;padding:7px 10px;font-size:11px;color:var(--text);pointer-events:none;box-shadow:0 8px 30px #0007}
.mn-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:6px 20px 16px;font-size:11px;color:var(--dim)}
.mn-legend span{display:inline-flex;align-items:center;gap:6px}
.mn-legend i{width:12px;height:12px;border-radius:3px;background:var(--accent)}
.mn-legend i.plan{background:repeating-linear-gradient(45deg,var(--accent) 0 1.4px,#2c3320 1.4px 4px)}
.mn-legend .form-hint{margin:0}
.mn-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mn-list{list-style:none;margin:0;padding:0 20px 8px;counter-reset:mn}
.mn-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #27272b;font-size:12px}
.mn-list li small{font-size:10px;margin-top:2px}
.mn-list b{font-weight:500;white-space:nowrap}
.mn-empty{padding:0 20px 16px;margin:0}
.mn-foot{padding:0 20px 16px;margin:0}
.mn-search{max-width:240px}
.mn-table td small{font-size:9px;margin-top:2px}
.mn-table td{white-space:nowrap}
.mn-table td:first-child{white-space:normal;min-width:200px}
.mn-util{display:flex;align-items:center;gap:8px}
.mn-meter{display:inline-block;width:64px;height:5px;border-radius:3px;background:#2a2a2f;overflow:hidden}
.mn-meter i{display:block;height:100%;background:var(--accent);border-radius:3px}
.mn-meter.pay i{background:#8fd18a}
.mn-cost{width:120px;padding:7px 9px;font-size:12px}
.mn-locked{padding:36px;text-align:center;display:grid;justify-items:center;gap:12px;max-width:560px;margin:30px auto}
.mn-locked svg{width:30px;height:30px;color:var(--orange)}
.mn-locked p{color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:1100px){.mn-three{grid-template-columns:1fr}}
@media(max-width:640px){.mn-period{min-width:0;font-size:12px}.mn-chart-wrap{padding:0 10px}.mn-search{max-width:none}}
