/* Founder OS — Clients module styles (M2). Prefer the shared classes in index.html (.card, .tbl, .row-i, .btn-line …).
   Theme variables only (no hard-coded colours) · mobile first (375 px, no sideways page scroll) · the pipeline board
   scrolls sideways inside its own box. Every class is crm-prefixed so it cannot leak into other screens. */
.crm-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.crm-head{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin-bottom:14px}
.crm-head>p{flex:1 1 240px;margin:0}
.crm-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crm-tools{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-bottom:10px}
.crm-tools input[type=search]{flex:1 1 240px;min-width:0;width:100%}
.crm-seg{display:flex;flex-wrap:wrap;gap:5px}
.crm-seg button{border:1px solid var(--border);border-radius:999px;padding:5px 11px;font-size:12px;color:var(--muted);background:var(--card2);min-height:32px}
.crm-seg button:hover{border-color:var(--jade);color:var(--text)}
.crm-seg button[aria-pressed=true]{background:var(--jade);border-color:var(--jade);color:var(--on-accent)}
.crm-n{font-family:var(--mono);font-size:10.5px;opacity:.8}
.crm-list{list-style:none;margin:0;padding:0}
.crm-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:11px 2px;border-bottom:1px solid var(--bsoft)}
.crm-row:last-child{border-bottom:0}
.crm-row[hidden]{display:none}
.crm-main{flex:1 1 220px;min-width:0}
.crm-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.crm-name{font-weight:600;font-size:14.5px;text-align:left;color:var(--text);padding:2px 0;overflow-wrap:anywhere}
.crm-name:hover{color:var(--jade)}
.crm-link{color:var(--jade);text-decoration:underline;text-underline-offset:2px;text-align:left;padding:0;overflow-wrap:anywhere}
.crm-link:hover{color:var(--jade2)}
.crm-meta{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.crm-subj{overflow-wrap:anywhere}
.crm-foot{margin-top:10px}
.crm-foot:empty{display:none}
.crm-empty{margin:6px 0}
.crm-empty p{margin:0 0 12px;color:var(--muted)}
.crm-none{margin:2px 0 8px}
.crm-sec-h{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;margin:18px 0 4px;display:flex;gap:8px;align-items:center}
.crm-sec-h:first-of-type{margin-top:6px}
.crm-summary{margin:0 0 12px;font-size:13px;color:var(--muted)}
.crm-summary b{color:var(--text)}
/* pipeline: one box that scrolls sideways; the page itself never does */
.crm-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 10px;max-width:100%}
.crm-board:focus-visible{outline:2px solid var(--saffron);outline-offset:2px}
.crm-col{min-width:0;scroll-snap-align:start;display:flex;flex-direction:column}
.crm-col-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;margin:0 0 4px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.crm-col-sum{font-size:12px;margin-bottom:10px;color:var(--text)}
.crm-col.crm-over{outline:2px dashed var(--jade);outline-offset:-3px}
.crm-card{display:flex;flex-direction:column;gap:5px}
.crm-card[draggable=true]{cursor:grab}
.crm-card.crm-dragging{opacity:.5}
.crm-card-t{font-weight:600;font-size:13px;overflow-wrap:anywhere}
.crm-card-v{font-family:var(--mono);font-size:12px}
.crm-card .crm-acts{margin-top:4px}
.crm-inv{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
/* phone: a cue that the board scrolls sideways (it also opens on the first column with a card) */
.crm-board-hint{display:none;margin:-4px 0 8px;font-size:12px;color:var(--muted)}
/* a person's page */
.crm-back{margin:-10px 0 14px}
.crm-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.crm-facts>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;overflow-wrap:anywhere}
.crm-fact-l{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.crm-rec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0 14px;align-items:start}
.crm-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 14px;font-size:13px;margin:0}
.crm-dl dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding-top:2px}
.crm-dl dd{margin:0;overflow-wrap:anywhere}
.crm-pre{white-space:pre-wrap}
.crm-tl{list-style:none;margin:0 0 0 6px;padding:0;border-left:2px solid var(--bsoft)}
.crm-tl li{position:relative;display:flex;flex-wrap:wrap;gap:2px 10px;padding:6px 0 10px 16px;font-size:13px;overflow-wrap:anywhere}
.crm-tl li::before{content:"";position:absolute;left:-5px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--jade)}
.crm-tl-d{font-family:var(--mono);font-size:11px;color:var(--faint);min-width:58px}
.crm-tl-i{color:var(--jade)}
/* forms in this module: label above control, full width */
.crm-form{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.crm-field{display:flex;flex-direction:column;gap:5px}
.crm-field label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.crm-field input,.crm-field select,.crm-field textarea{width:100%}
.crm-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted)}
.crm-check input{margin-top:3px;flex:none}
@media(max-width:900px){.crm-rec{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 .crm-board-hint{display:block}
 .crm-board{grid-auto-columns:minmax(236px,82%)}
 .crm-row .crm-acts{width:100%}
 .crm-head .crm-acts{width:100%}
 .crm-dl{grid-template-columns:minmax(0,1fr)}
 .crm-dl dt{padding-top:6px}
}
/* touch screens: every name, link, filter and button is at least 44 px tall (WCAG 2.5.5 / Apple HIG) */
@media(pointer:coarse){
 .crm-name,.crm-link{min-height:44px;display:inline-flex;align-items:center}
 .crm-seg button{min-height:44px;padding:8px 14px}
 .crm-acts .btn-line,.crm-acts .btn-primary,.crm-back .btn-line,.crm-foot .btn-line,.crm-empty .btn-primary{min-height:44px;padding-top:8px;padding-bottom:8px}
 .crm-check{min-height:44px;align-items:center}
 .crm-check input{width:22px;height:22px;margin-top:0}
}
