/* ========================= v0.17 collected changes ========================= */
/* 1: appointment center is click/tap; only very narrow edges resize. */
.appt.v16-appt{cursor:pointer!important}
.appt.v16-appt>.resize-handle{width:4px!important;z-index:12}
.appt.v16-appt>.resize-handle.left{left:0!important}
.appt.v16-appt>.resize-handle.right{right:0!important}
.appt.v16-appt>.resize-handle:hover{background:rgba(255,255,255,.42)}
@media(pointer:coarse){.appt.v16-appt>.resize-handle{width:6px!important}}

/* 2: keep the familiar KVA row geometry; checkbox gets only a small gutter before quantity. */
.v17-kva-line>.v15-block-select{position:absolute!important;left:8px!important;top:13px!important;margin:0!important}
.v17-kva-line>.drag-handle{left:-14px!important;margin-left:0!important}
.v17-kva-line>.v09-line-grid{padding-left:24px}
.v17-kva-line>.v15-position-total,.v17-kva-line>.v10-line-actions{margin-left:24px}
.v17-separate-snippet{border:1px solid #d9dee3!important;background:#fbfcfd!important;padding-left:10px!important}
.v17-separate-snippet .v17-snippet-label{display:block;font-size:10px;color:var(--muted);font-weight:800;margin-bottom:5px}
.v17-separate-snippet textarea{padding-right:42px}

/* 3: searchable material chooser in post calculation. */
.v17-calc-search{border:1px solid #dfe4e8;background:#fafbfc;border-radius:11px;padding:10px;margin-bottom:10px}
.v17-calc-search input{width:100%;border:1px solid #d8dde3;border-radius:8px;padding:9px}
.v17-calc-results{max-height:230px;overflow:auto;margin-top:7px;display:grid;gap:5px}
.v17-calc-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e6ea;background:#fff;border-radius:8px;padding:7px 8px}
.v17-calc-result strong{display:block;font-size:11px}.v17-calc-result small{display:block;color:var(--muted);font-size:9px;margin-top:2px}

/* 5: true nested service category tree. */
.v17-subtree{margin-left:12px;border-left:1px solid #eceff2;padding-left:5px}
.v17-subnode{display:grid;grid-template-columns:16px 34px minmax(0,1fr) auto auto;gap:4px;align-items:center;padding:6px 6px;border-radius:8px;cursor:pointer;font-size:11px}
.v17-subnode:hover,.v17-subnode.active{background:#fff0e4;color:#8f3e00}
.v17-subnode .tree-actions{display:flex;gap:2px}.v17-subnode .tree-actions button{border:0;background:transparent;cursor:pointer;border-radius:5px;padding:2px 4px}
.v17-subnode .tree-actions button:hover{background:#fff}
.v17-sub-count{font-size:9px;color:var(--muted);font-weight:800}

/* 8: destructive action is explicit, not hidden. */
.v17-delete-service{color:#9c2f2f!important;border-color:#efc8c8!important}
