.crm-page { width: 100%; max-width: 960px; margin: 0 auto; padding: 20px; box-sizing: border-box; overflow-wrap: anywhere; }
.crm-page *, .crm-form *, .lead-page * { box-sizing: border-box; min-width: 0; }
.crm-page h1 { font-size: 1.8rem; }
.crm-page h2 { font-size: 1.3rem; }
.crm-section { margin: 24px 0; padding-top: 12px; border-top: 1px solid var(--border, #D9D1C2); }
.crm-card, .crm-line { margin: 12px 0; padding: 14px; border: 1px solid var(--border, #D9D1C2); border-radius: var(--radius, 0); }
.crm-card p, .crm-page > p { white-space: pre-wrap; }
.crm-form, .crm-save-picker { display: grid; gap: 14px; width: 100%; }
.crm-form label, .crm-page label { display: grid; gap: 6px; margin: 8px 0; font-size: 16px; }
.crm-form input, .crm-form textarea, .crm-form select, .crm-page input, .crm-page textarea, .crm-page select { width: 100%; min-height: 44px; font-size: 16px; padding: 10px; border: 1px solid #64748b; border-radius: var(--radius, 0); color: inherit; background: var(--surface, #fff); }
.crm-form input[type="checkbox"] { width: 44px; }
.crm-page button, .crm-page .btn, .crm-form button, .crm-save-picker button, .crm-page summary { min-height: 44px; padding: 10px 14px; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.crm-page button, .crm-form button { border-radius: var(--radius, 0); border: 1px solid #64748b; background: var(--cq-amber, #F2580C); color: #fff; font-size: 16px; }
.crm-page .btn-secondary { background: var(--surface, #fff); color: var(--text, #16130E); border-color: var(--border, #D9D1C2); }
.crm-page button:disabled, .crm-form button:disabled { opacity: .55; cursor: wait; }
.crm-page button + button { margin: 8px 0 0 8px; }
.crm-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0; }
.crm-actions .btn { margin: 0; }
.crm-gallery { display: flex; flex-wrap: wrap; gap: 12px; }
.crm-gallery img { width: 160px; height: 160px; object-fit: cover; border-radius: var(--radius, 0); }
.crm-page pre { font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }
.crm-status { white-space: pre-wrap; font-size: 16px; }
.crm-page :focus-visible, .crm-form :focus-visible { outline: 3px solid #38bdf8; outline-offset: 3px; }
.lead-page { margin: 0; background: #FAF7F0; color: #16130E; font-family: system-ui, sans-serif; line-height: 1.5; }
.lead-page .crm-page { max-width: 660px; padding-bottom: 48px; }
.lead-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lead-page [hidden], .crm-page [hidden], .crm-save-picker [hidden] { display: none; }
@media (max-width: 540px) { .crm-page { padding: 14px; } .crm-page button + button { margin-left: 0; } .crm-page > button { width: 100%; } }

.crm-save-picker label { display: grid; gap: 6px; }
.crm-save-picker input, .crm-save-picker select { width: 100%; min-height: 44px; font-size: 16px; padding: 10px; color: var(--text, #16130E); background: var(--surface, #fff); border: 1px solid var(--border, #D9D1C2); }

/* Customers & jobs quick fixes (2026-10-11): rows, tags, today list, + New. */
.crm-page .crm-rows, .crm-page .crm-group { display: grid; gap: 0; }
.crm-page .crm-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin: 0; padding: 14px 12px; text-align: left; background: var(--surface, #fff); color: var(--text, #16130E); border: 1px solid var(--border, #D9D1C2); border-top-width: 0; font-size: 16px; }
.crm-page .crm-rows > .crm-row:first-child, .crm-page .crm-group > h3 + .crm-row, .crm-page .crm-warning > strong + .crm-row { border-top-width: 1px; }
.crm-page .crm-row + .crm-row { margin: 0; }
.crm-page .crm-row:hover { background: #F4EFE4; }
.crm-row-main { display: grid; gap: 3px; min-width: 0; }
.crm-row-main strong { font-size: 1.02rem; }
.crm-row-detail, .crm-sub { color: #526173; font-size: .92rem; }
.crm-page .crm-row-late { border-left: 4px solid #B42318; }
.crm-tag { flex: none; padding: 3px 10px; border-radius: 999px; font-size: .8rem; font-weight: 700; letter-spacing: .02em; border: 1px solid transparent; }
.crm-tag-lead { background: #EEF2F6; color: #344054; border-color: #CBD5E1; }
.crm-tag-quoted { background: #FFF4E5; color: #9A3412; border-color: #F5C38B; }
.crm-tag-won { background: #E7F6EC; color: #166534; border-color: #9ED7AE; }
.crm-tag-lost { background: #F2F2F2; color: #6B7280; border-color: #D1D5DB; }
.crm-due { font-size: .9rem; color: #344054; }
.crm-due-today { color: #9A3412; font-weight: 700; }
.crm-due-late { color: #B42318; font-weight: 700; }
.crm-group { margin: 10px 0 16px; }
.crm-group h3 { margin: 0 0 6px; font-size: .95rem; text-transform: uppercase; letter-spacing: .04em; color: #344054; }
.crm-group-late h3, .crm-group-gone_quiet h3 { color: #B42318; }
.crm-winrate { color: #526173; margin: 4px 0 0; }
.crm-empty { color: #526173; padding: 10px 0; }
.crm-empty p { margin: 0 0 8px; }
.crm-warning { margin: 12px 0; padding: 14px; border: 1px solid #F5C38B; background: #FFF8EC; display: grid; gap: 8px; }
.crm-next p { margin: 8px 0; font-weight: 600; }
.crm-details, .crm-notes { white-space: pre-wrap; }
.crm-job-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 6px 0; }
.crm-job-actions .btn-primary { background: var(--cq-amber, #F2580C); color: #fff; border-color: var(--cq-amber, #F2580C); }
.crm-new { position: fixed; right: 20px; bottom: 20px; z-index: 40; display: grid; justify-items: end; gap: 8px; }
.crm-page .crm-new-toggle { margin: 0; padding: 12px 20px; border-radius: 999px; font-weight: 700; box-shadow: 0 4px 14px rgba(22,19,14,.25); }
.crm-new-menu { display: grid; gap: 6px; padding: 10px; background: var(--surface, #fff); border: 1px solid var(--border, #D9D1C2); box-shadow: 0 6px 20px rgba(22,19,14,.18); }
.crm-page .crm-new-menu button { margin: 0; }
.crm-page { padding-bottom: 96px; }
@media (max-width: 540px) { .crm-new { right: 14px; bottom: 14px; } .crm-page .crm-row { padding: 14px 10px; } }
.crm-texts, .crm-qb { margin: 8px 0 12px; }
.crm-page .crm-texts summary, .crm-page .crm-qb summary { display: inline-block; background: var(--surface, #fff); color: var(--text, #16130E); border: 1px solid var(--border, #D9D1C2); }
