/* Bridge Solar CRM Supplemental Styles
	Purpose: Utility classes, typography, widgets, animations that sit on top of Bootstrap + solar-theme.css
	Keep this file lightweight; component‑specific styling should live near its template if highly specialized. */

/* Typography */
body { font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; }
h1,h2,h3,h4,h5,h6 { font-weight:600; letter-spacing:.5px; }
.text-gradient-solar { background:var(--solar-gradient-primary); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Layout & spacing helpers */
.shadow-soft { box-shadow:0 4px 14px -3px rgba(0,0,0,.35); }
.rounded-xl { border-radius:1rem!important; }
.gap-1 { gap:.25rem!important; }
.gap-2 { gap:.5rem!important; }

/* Icons */
.icon-32 { font-size:32px; line-height:1; }
.icon-24 { font-size:24px; line-height:1; }

/* Metric / dashboard widgets */
.metric-card { position:relative; overflow:hidden; }
.metric-card .metric-icon { position:absolute; top:-10px; right:-10px; font-size:72px; opacity:.08; }
.metric-value { font-size:1.6rem; font-weight:600; letter-spacing:.5px; }
.metric-label { font-size:.70rem; text-transform:uppercase; letter-spacing:1px; color:var(--solar-text-muted); }
@media (max-width: 991.98px){ .metric-value { font-size:1.3rem; } }

/* Chips / tags */
.chip { display:inline-flex; align-items:center; gap:6px; padding:2px 10px; border-radius:18px; font-size:.65rem; background:rgba(255,255,255,.08); }

/* Status badges (fallback if theme classes missing) */
.badge-status { padding:.4em .6em; font-size:.65rem; letter-spacing:.5px; text-transform:uppercase; font-weight:500; }

/* Animated pulse highlight */
.pulse-highlight { position:relative; }
.pulse-highlight::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 0 rgba(255,136,0,.55); animation:pulse 2.5s infinite; }
@keyframes pulse { 0% { box-shadow:0 0 0 0 rgba(255,136,0,.55);} 70% { box-shadow:0 0 0 18px rgba(255,136,0,0);} 100% { box-shadow:0 0 0 0 rgba(255,136,0,0);} }

/* Table tweaks */
table.table thead th { font-weight:600; letter-spacing:.4px; }

/* Button group flex alignment */
.btn-group .btn { display:inline-flex; align-items:center; gap:4px; }

/* Scroll helpers */
.scroll-y { overflow-y:auto; }
.scroll-x { overflow-x:auto; }

/* Utilities */
.divider-soft { height:1px; background:linear-gradient(90deg,transparent,var(--solar-border, #224766),transparent); margin:1.5rem 0; }
.glow-solar { box-shadow:0 0 0 1px rgba(255,136,0,.3), 0 0 12px -2px rgba(255,136,0,.6); }

/* Form focus subtle enhancement */
input.form-control:focus, select.form-select:focus, textarea.form-control:focus { transition:border-color .2s, box-shadow .2s; }

/* Placeholder shimmer (loading skeleton) */
.shimmer { position:relative; overflow:hidden; background:linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,.10), rgba(255,255,255,.05)); background-size:200% 100%; animation:shimmer 2.5s infinite; }
@keyframes shimmer { 0% { background-position:200% 0;} 100% { background-position:-200% 0;} }

/* End supplemental styles */
