.crm-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}
.crm-toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.crm-card-link{cursor:pointer;transition:transform .12s,border-color .12s}
.crm-card-link:hover{transform:translateY(-1px);border-color:var(--rf-primary,#2563eb)}
.crm-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:14px;overflow-x:auto}
.crm-tab{border:0;background:none;padding:9px 12px;color:#64748b;font-size:12px;cursor:pointer;border-bottom:2px solid transparent}
.crm-tab.active{color:var(--rf-primary,#2563eb);border-bottom-color:var(--rf-primary,#2563eb);font-weight:700}
.crm-two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:14px}
.crm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.crm-form-full{grid-column:1/-1}
.crm-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:3000;display:flex;align-items:center;justify-content:center;padding:18px}
.crm-modal{background:#fff;border-radius:10px;box-shadow:0 20px 60px rgba(15,23,42,.3);width:min(760px,100%);max-height:90vh;overflow:auto}
.crm-modal-head{padding:16px 18px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}
.crm-modal-title{font-size:16px;font-weight:700}
.crm-modal-body{padding:18px}
.crm-modal-foot{padding:12px 18px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:8px}
.crm-close{border:0;background:none;font-size:20px;cursor:pointer;color:#64748b}
.crm-empty{padding:28px;text-align:center;color:#94a3b8;background:#fff;border:1px dashed #cbd5e1;border-radius:8px}
.crm-pin{border-left:4px solid #3b82f6;background:#eff6ff;padding:10px 12px;border-radius:6px;margin-bottom:8px}
.crm-pin.attention{border-left-color:#f59e0b;background:#fffbeb}
.crm-pin.critical{border-left-color:#dc2626;background:#fef2f2}
.crm-timeline{position:relative;padding-left:20px}
.crm-timeline:before{content:"";position:absolute;left:5px;top:5px;bottom:5px;width:2px;background:#e2e8f0}
.crm-event{position:relative;padding:0 0 14px 10px}
.crm-event:before{content:"";position:absolute;left:-19px;top:4px;width:9px;height:9px;border-radius:50%;background:#3b82f6;border:2px solid #fff}
.crm-event-time{font-size:10px;color:#94a3b8;margin-top:3px}
.crm-status{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:4px;font-size:10px;font-weight:700}
.crm-status-current{background:#dcfce7;color:#166534}.crm-status-due_soon{background:#fef3c7;color:#92400e}
.crm-status-missing,.crm-status-overdue{background:#fee2e2;color:#991b1b}.crm-status-not_required{background:#f1f5f9;color:#64748b}
.crm-task-overdue td{background:#fff7f7}.crm-task-waiting td{background:#fffbeb}
.crm-detail-name{font-size:22px;font-weight:700}.crm-muted{color:#64748b}.crm-small{font-size:11px}
.crm-actions{display:flex;gap:6px;flex-wrap:wrap}.crm-count{font-size:28px;font-weight:700;line-height:1}
.crm-toast{position:fixed;right:18px;bottom:18px;z-index:4000;background:#0f172a;color:#fff;padding:10px 14px;border-radius:7px;box-shadow:0 8px 30px rgba(15,23,42,.3)}
.crm-toast.error{background:#991b1b}
@media(max-width:800px){.crm-two-col{grid-template-columns:1fr}.crm-form-grid{grid-template-columns:1fr}.crm-form-full{grid-column:auto}}
.crm-link-button{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.crm-link-button:hover{text-decoration:underline}
