/* tasks — задачи, дефекти, чертежи */
.overdue { color: var(--err); font-weight: 700; }
.task-item.urgent { box-shadow: inset 5px 0 0 var(--err), var(--shadow); }
.status-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.badge.status-big { font-size: .95rem; padding: 5px 14px; }
.task-title { font-size: 1.3rem; overflow-wrap: anywhere; }
.task-desc { white-space: pre-wrap; overflow-wrap: anywhere; }
.task-actions { display: grid; gap: 10px; }
.comment { display: flex; gap: 10px; align-items: flex-start; }
.comment-body { flex: 1; min-width: 0; display: grid; gap: 4px; }
.comment-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.filter-box { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items: end; }
.seg-btn.prio-urgent.on { background: var(--err); color: #fff; }
input[type="search"].input { -webkit-appearance: none; appearance: none; }

/* чертеж */
.plan-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.plan-bar .grow { min-width: 0; }
.plan-add { flex: none; }
.plan-add.on { background: var(--text); border-color: var(--text); color: var(--bg); }
.plan-wrap { cursor: grab; outline: none; }
.plan-wrap:active { cursor: grabbing; }
.plan-wrap.adding { cursor: crosshair; box-shadow: inset 0 0 0 3px var(--accent); }
.plan-wrap:focus-visible { box-shadow: inset 0 0 0 3px var(--accent); }
.plan-pins { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 1; }
.plan-pins .pin { pointer-events: auto; margin: -36px 0 0 -15px; padding: 0; font: inherit; }
.plan-pins .pin::after { content: ""; position: absolute; inset: -9px; }
.plan-pins .pin.new { pointer-events: none; }
.pin.focus { animation: pinfocus .8s ease-in-out 4; z-index: 3; }
@keyframes pinfocus { 50% { box-shadow: 0 0 0 10px rgba(232, 89, 12, .45); } }
.plan-msg { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); text-align: center; padding: 20px; z-index: 1; }
.plan-group-title { margin: 6px 2px 0; color: var(--muted); font-size: .95rem; }
.pin-num { display: inline-grid; place-items: center; min-width: 34px; height: 34px; border-radius: 50%; color: #fff; font-weight: 800; font-size: .85rem; flex: none; }
.pin-num.open { background: var(--err); }
.pin-num.in_progress { background: #d98200; }
.pin-num.review { background: var(--info); }
.pin-num.accepted { background: var(--ok); }
.pin-photo { width: 100%; max-height: 40vh; object-fit: cover; border-radius: 12px; }

/* печат на списъка */
.print-page td.tp-photo { width: 28mm; padding: 1mm; }
.print-page .tp-img { width: 26mm; height: 19mm; object-fit: cover; border: 0; display: block; }
