:root { 
  --primary-start: #179c88; 
  --primary-end: #153551; 
  --primary-color: #20a38e; 
  --bg-body: #f8fafc; 
  --bg-card: #ffffff; 
  --bg-card-alt: #f1f5f9; 
  --border-main: #e2e8f0; 
  --text-heading: #0f172a; 
  --text-body: #475569; 
}
html.dark { 
  --bg-body: #060d17; 
  --bg-card: #0b1523; 
  --bg-card-alt: #101e32; 
  --border-main: #182840; 
  --text-heading: #f8fafc; 
  --text-body: #94a3b8; 
}

body.theme-purple { --primary-start: #7c3aed; --primary-end: #2e1065; --primary-color: #8b5cf6; }
body.theme-emerald { --primary-start: #059669; --primary-end: #064e3b; --primary-color: #10b981; }
body.theme-coral { --primary-start: #e11d48; --primary-end: #4c0519; --primary-color: #f43f5e; }

.brand-gradient { background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%) !important; }
.brand-gradient-text { background: linear-gradient(135deg, var(--primary-start) 0%, #2dd4bf 50%, var(--primary-end) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.brand-text { color: var(--primary-color) !important; }
.brand-border { border-color: var(--primary-color) !important; }
.site-bg { background-color: var(--bg-body); }
.card-bg { background-color: var(--bg-card); }
.card-alt-bg { background-color: var(--bg-card-alt); }
.border-main { border-color: var(--border-main); }
.text-title { color: var(--text-heading); }
.text-desc { color: var(--text-body); }


/* Ambient Background Glows - Smooth Glossy Gradients (No Repeat) */
.hero-grid { 
  background-color: var(--bg-body); 
  background-image: 
    linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 100%),
    radial-gradient(circle at 15% 20%, rgba(32, 163, 142, 0.12) 0%, transparent 50%), 
    radial-gradient(circle at 85% 60%, rgba(21, 53, 81, 0.08) 0%, transparent 50%); 
  background-size: cover;
  background-repeat: no-repeat;
}
html.dark .hero-grid { 
  background-image: 
    linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 100%),
    radial-gradient(circle at 15% 20%, rgba(32, 163, 142, 0.25) 0%, transparent 50%), 
    radial-gradient(circle at 85% 60%, rgba(21, 53, 81, 0.3) 0%, transparent 50%); 
}

.ambient-section-1 { 
    background-color: var(--bg-card-alt); 
    background-image: radial-gradient(circle at 0% 50%, rgba(32, 163, 142, 0.08) 0%, transparent 50%), radial-gradient(circle at 100% 50%, rgba(21, 53, 81, 0.05) 0%, transparent 50%); 
    background-repeat: no-repeat; 
    background-size: cover; 
}
html.dark .ambient-section-1 { 
    background-image: radial-gradient(circle at 0% 50%, rgba(32, 163, 142, 0.15) 0%, transparent 50%), radial-gradient(circle at 100% 50%, rgba(21, 53, 81, 0.15) 0%, transparent 50%); 
}
.ambient-section-2 { 
    background-color: var(--bg-body); 
    background-image: radial-gradient(circle at 100% 50%, rgba(32, 163, 142, 0.08) 0%, transparent 50%), radial-gradient(circle at 0% 50%, rgba(21, 53, 81, 0.05) 0%, transparent 50%); 
    background-repeat: no-repeat; 
    background-size: cover; 
}
html.dark .ambient-section-2 { 
    background-image: radial-gradient(circle at 100% 50%, rgba(32, 163, 142, 0.15) 0%, transparent 50%), radial-gradient(circle at 0% 50%, rgba(21, 53, 81, 0.15) 0%, transparent 50%); 
}



/* Typography & Widgets */
.blog-prose h2, .blog-prose h3 { color: var(--text-heading); font-weight: 700; margin-top: 1.5rem; margin-bottom: 0.75rem; font-size: 1.25rem; }
.blog-prose p { color: var(--text-body); line-height: 1.8; margin-bottom: 1.25rem; font-size: 0.95rem; }
.blog-prose ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.25rem; color: var(--text-body); }
.blog-prose li { margin-bottom: 0.5rem; }
#chat-widget { transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.chat-bubble { max-width: 85%; padding: 10px 14px; border-radius: 16px; font-size: 13px; margin-bottom: 8px; line-height: 1.4; }
.chat-ai { background: var(--bg-card-alt); color: var(--text-heading); border: 1px solid var(--border-main); border-bottom-left-radius: 4px; }
.chat-user { background: var(--primary-color); color: white; border-bottom-right-radius: 4px; align-self: flex-end; margin-left: auto; }
.kanban-column { min-height: 250px; }
.dragging { opacity: 0.5; }

@media print { body * { visibility: hidden; } #printable-receipt, #printable-receipt * { visibility: visible; } #printable-receipt { position: absolute; left: 0; top: 0; width: 100%; color: #000 !important; background: #fff !important; } }