/* ===== CRM / ERP — estilos compartidos ===== */
.crm-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.crm-head h2 { margin:0 0 .2rem; font-size:1.45rem; }
.crm-sub { color:var(--text-muted,#64748b); margin:0; font-size:.84rem; }
.crm-btn { border:1px solid var(--border,#e2e8f0); background:var(--card-bg,#fff); border-radius:9px; padding:.5rem .9rem; font-weight:700; font-size:.83rem; cursor:pointer; color:#334155; }
.crm-btn:hover { background:#f8fafc; }
.crm-btn-p { background:var(--primary,#2563eb); color:#fff !important; border-color:transparent; box-shadow:0 2px 6px rgba(37,99,235,.3); }
.crm-btn-danger { background:#fee2e2; color:#b91c1c !important; border-color:#fecaca; }
.crm-btn-s { padding:.32rem .6rem; font-size:.76rem; }
.crm-btn:disabled { opacity:.55; cursor:default; }
.crm-card { background:var(--card-bg,#fff); border:1px solid var(--border,#e2e8f0); border-radius:14px; overflow:hidden; margin-bottom:1rem; }
.crm-toolbar { display:flex; gap:.55rem; align-items:center; flex-wrap:wrap; padding:.8rem 1rem; background:#f8fafc; border-bottom:1px solid var(--border,#e2e8f0); }
.crm-search { flex:1; min-width:220px; border:1px solid var(--border,#e2e8f0); border-radius:9px; padding:.52rem .8rem; font-size:.87rem; }
.crm-f { border:1px solid var(--border,#e2e8f0); border-radius:9px; padding:.45rem .6rem; font-size:.83rem; background:#fff; }
.crm-chk { display:flex; gap:.35rem; align-items:center; font-size:.82rem; color:#475569; font-weight:600; }
.crm-count { margin-left:auto; background:#eef2ff; color:#4338ca; border-radius:999px; padding:.3rem .8rem; font-size:.78rem; font-weight:800; white-space:nowrap; }
.crm-t { width:100%; border-collapse:collapse; font-size:.87rem; }
.crm-t thead th { text-align:left; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#64748b; padding:.65rem 1rem; border-bottom:2px solid var(--border,#e2e8f0); white-space:nowrap; }
.crm-t tbody td { padding:.6rem 1rem; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
.crm-t tbody tr:hover { background:#f8fafc; }
.crm-tr, .tr { text-align:right !important; font-variant-numeric:tabular-nums; white-space:nowrap; }
.crm-num { font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.crm-mut { color:#94a3b8; }
.crm-debe { color:#b45309; font-weight:800; }
.crm-inactivo td { opacity:.5; }
.crm-pill { padding:.2rem .6rem; border-radius:999px; font-size:.72rem; font-weight:700; white-space:nowrap; }
.st-emitido { background:#dcfce7; color:#166534; } .st-borrador { background:#e2e8f0; color:#334155; }
.st-anulado { background:#fee2e2; color:#b91c1c; } .st-cumplido { background:#dbeafe; color:#1e40af; }
.st-cartera { background:#fef9c3; color:#854d0e; } .st-depositado { background:#dbeafe; color:#1e40af; }
.st-entregado { background:#ede9fe; color:#6d28d9; } .st-rechazado { background:#fee2e2; color:#b91c1c; }
.st-cobrado { background:#dcfce7; color:#166534; }
.crm-modal-bg { position:fixed; inset:0; background:rgba(15,23,42,.55); display:flex; align-items:center; justify-content:center; z-index:100; padding:1rem; }
.crm-modal { background:var(--card-bg,#fff); border-radius:14px; width:100%; max-width:720px; max-height:92vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.35); }
.crm-modal-xl { max-width:980px; }
.crm-modal-h { display:flex; justify-content:space-between; align-items:flex-start; padding:1rem 1.2rem; border-bottom:1px solid var(--border,#e2e8f0); }
.crm-modal-h h3 { margin:0; }
.crm-modal-f { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; padding:.9rem 1.2rem; border-top:1px solid var(--border,#e2e8f0); }
.crm-modal-body { overflow:auto; padding:1rem 1.2rem; }
.crm-form { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem .8rem; padding:1rem 1.2rem; overflow:auto; }
.crm-form label, .crm-lbl { display:flex; flex-direction:column; gap:.25rem; font-size:.78rem; font-weight:700; color:#475569; }
.crm-form input, .crm-form select, .crm-form textarea, .crm-lbl input, .crm-lbl select, .crm-lbl textarea { border:1px solid var(--border,#e2e8f0); border-radius:8px; padding:.45rem .6rem; font-size:.86rem; font-family:inherit; }
.crm-form .w2 { grid-column:span 2; } .crm-form .w3 { grid-column:1/-1; }
.crm-kpis { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:.7rem; margin-bottom:1rem; }
.kc { background:var(--card-bg,#fff); border:1px solid var(--border,#e2e8f0); border-radius:12px; padding:.8rem 1rem; }
.kc span { display:block; font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:#64748b; }
.kc b { display:block; font-size:1.35rem; margin-top:.2rem; font-variant-numeric:tabular-nums; }
.kc small { color:#94a3b8; font-size:.75rem; }
.kc-warn b { color:#b45309; } .kc-ok b { color:#16a34a; }
.crm-tabs { display:flex; gap:.3rem; flex-wrap:wrap; margin-bottom:0; padding:.8rem 1rem 0; }
.crm-tab { border:none; background:#f1f5f9; border-radius:8px 8px 0 0; padding:.5rem 1rem; font-weight:700; font-size:.82rem; cursor:pointer; color:#64748b; }
.crm-tab.on { background:var(--primary,#2563eb); color:#fff; }
.cell { border:1px solid var(--border,#e2e8f0); border-radius:6px; padding:.3rem .45rem; font-size:.84rem; }
.crm-vencida td { background:#fef2f2 !important; }
.crm-chart { display:flex; align-items:flex-end; gap:3px; height:190px; padding:1rem 1rem .5rem; }
.crm-barcol { flex:1; display:flex; flex-direction:column; align-items:center; height:100%; min-width:0; }
.crm-bars { flex:1; display:flex; gap:2px; align-items:flex-end; width:100%; justify-content:center; }
.crm-bars i { width:45%; max-width:14px; border-radius:3px 3px 0 0; min-height:1px; }
.crm-barcol em { font-size:.6rem; color:#94a3b8; font-style:normal; margin-top:2px; white-space:nowrap; }
