.crm-commandbar { grid-template-columns: minmax(100px, auto) minmax(0, 1fr); }
.crm-followup{display:grid;gap:14px;border-top:1px solid #ccd2d8;padding-top:16px;min-width:0}
.crm-followup textarea{width:100%;min-height:80px;resize:vertical;padding:10px;border:1px solid #ccd2d8;border-radius:4px;font:inherit;box-sizing:border-box}
.crm-followup .crm-deferred{display:flex;align-items:center;gap:8px}
.crm-followup .crm-deferred input{width:18px;height:18px;min-height:18px;flex:none;accent-color:#a6192e}
.crm-contact.overdue{color:#a6192e;font-weight:600}
.crm-next-action{white-space:normal;overflow-wrap:anywhere}
.crm-note-indicator{color:#66727d}
.crm-page .crm-drag-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.crm-page .crm-drag-action.deferred{background:#fff5d9;border-color:#c7a94b;color:#655019}
.crm-page .crm-drag-action.deferred.drag-over{background:#f5da85;border-color:#9c791e}
@media(max-width:700px){.crm-page .crm-drag-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-page .crm-drag-action{white-space:normal;overflow-wrap:anywhere;font-size:12px;min-height:54px}}
.crm-controls { flex-wrap: wrap; }
.crm-controls .crm-control { min-width: 110px; flex: 1 1 140px; }
.crm-controls .crm-search { min-width: 180px; flex: 2 1 220px; }
.crm-statusbar { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.crm-statusbar strong { font-size: 18px; white-space: normal; overflow-wrap: anywhere; }
.crm-notice { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; }
.crm-notice[data-render=error] { color: #ad2344; }
.crm-notice[hidden], .crm-edit-panel label[hidden] { display: none; }
.crm-edit-panel { max-height: calc(100svh - 40px); overflow-y: auto; }
.crm-edit-panel, .crm-create-panel { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.crm-edit-panel label, .crm-create-panel label,
.crm-edit-panel input, .crm-edit-panel select,
.crm-create-panel input, .crm-create-panel select { min-width: 0; }
.crm-card-main .crm-order-name { white-space: normal; overflow-wrap: anywhere; line-height: 1.45; }
.crm-create-panel { max-height: calc(100svh - 180px); overflow-y: auto; }
.crm-card-icon { border: 0; cursor: pointer; flex-shrink: 0; }
.crm-card-meta { gap: 8px; flex-wrap: wrap; }
.crm-page .crm-dropzone { display: flex; flex-direction: column; }
.crm-page .crm-dropzone > * { flex: 0 0 auto; }
.crm-page .crm-card { grid-template-rows: auto auto; }
.crm-page .crm-card-main { align-content: start; }
.crm-page .crm-card-main strong,
.crm-page .crm-card-main span,
.crm-page .crm-card-main em { white-space: normal; overflow-wrap: anywhere; line-height: 1.45; }
.crm-card-drag-handle { display: none; }
.crm-vat-note { font-size: 12px; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.crm-project-link { padding: 8px 0; min-height: 36px; border: 0; background: none; color: #167459; text-align: left; cursor: pointer; font: 600 12px/1.4 "Segoe UI",sans-serif; }
.crm-project-dialog { width: min(620px, calc(100% - 32px)); padding: 24px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); }
.crm-project-dialog::backdrop { background: #00171f66; }
.crm-trash-dialog { max-height: calc(100dvh - 32px); overflow-y: auto; }
.crm-trash-dialog p, .crm-trash-dialog li { line-height: 1.5; overflow-wrap: anywhere; }
.crm-trash-dialog .crm-trash-client { font-weight: 600; }
.crm-trash-dialog footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.crm-trash-dialog footer a { text-decoration: none; }
.crm-project-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.crm-project-dialog h2 { margin: 0; font-size: 22px; }
.crm-project-dialog dl { margin: 24px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.crm-project-dialog dt { font-size: 14px; color: var(--muted); }
.crm-project-dialog dd { margin: 4px 0 0; font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 1000px) {
  .crm-commandbar { grid-template-columns: 1fr; }
  .crm-statusbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .crm-board { grid-template-columns: repeat(var(--stage-count, 6), minmax(210px, 1fr)); }
}
@media (max-width: 560px) {
  .crm-page .crm-board { grid-template-columns: repeat(var(--stage-count, 6), minmax(260px, 85%)); height: 65svh; min-height: 380px; }
  .crm-page .crm-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .crm-page .crm-controls > * { min-width: 0; }
  .crm-page .crm-modal { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .crm-page .crm-form-actions { flex-wrap: wrap; }
  .crm-page .crm-search { grid-column: 1 / -1; }
  .crm-page .crm-controls input, .crm-page .crm-controls select,
  .crm-page .crm-edit-panel input, .crm-page .crm-edit-panel select { font-size: 16px; }
  .crm-page .crm-card-title-row { grid-template-columns: minmax(0, 1fr) 44px; }
  .crm-page .crm-card-edit, .crm-page .crm-card-icon { width: 44px; height: 44px; }
  .crm-page .crm-create-panel { position: fixed; left: 12px; right: 12px; top: 12px; bottom: auto; width: auto; max-height: calc(100svh - 24px); z-index: 60; }
  .crm-statusbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-project-dialog dl { grid-template-columns: 1fr; }
  .crm-notice { align-items: flex-start; flex-direction: column; }
}
@media (pointer: coarse), (max-width: 560px) {
  .crm-page .crm-card { touch-action: pan-x pan-y; }
  .crm-page .crm-card-drag-handle { display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: #eef5fa; color: var(--ink-soft); touch-action: none; cursor: grab; }
  .crm-card-drag-handle svg { width: 20px; height: 20px; }
  .crm-page .crm-card-meta > span { flex: 1; }
}
