/* Default fallback values for host style variables */ :root { color-scheme: light dark; /* Font families */ --font-sans: system-ui, -apple-system, sans-serif; /* Background colors */ --color-background-primary: light-dark(#ffffff, #111827); --color-background-secondary: light-dark(#f9fafb, #1f2937); --color-background-tertiary: light-dark(#f3f4f6, #374151); /* Text colors */ --color-text-primary: light-dark(#1f2937, #f9fafb); --color-text-secondary: light-dark(#6b7280, #9ca3af); --color-text-tertiary: light-dark(#9ca3af, #6b7280); /* Border colors */ --color-border-primary: light-dark(#e5e7eb, #374151); --color-border-secondary: light-dark(#d1d5db, #4b5563); /* Ring colors */ --color-ring-info: light-dark(#2563eb, #3b82f6); /* Border radius */ --border-radius-sm: 6px; --border-radius-md: 8px; --border-radius-full: 9999px; /* Border width */ --border-width-regular: 1px; /* Shadows */ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1); /* App-specific colors (not from host) */ --color-enterprise: light-dark(#1e40af, #3b82f6); --color-midmarket: light-dark(#0d9488, #14b8a6); --color-smb: light-dark(#059669, #10b981); --color-startup: light-dark(#6366f1, #818cf8); } html, body { margin: 0; padding: 0; font-family: var(--font-sans); color: var(--color-text-primary); overflow: hidden; } .main { border-radius: var(--border-radius-md); background: var(--color-background-primary); width: 100%; height: 600px; margin: 0 auto; padding: 12px; display: flex; flex-direction: column; gap: 8px; overflow: hidden; } /* Header - ~40px */ .header { display: flex; justify-content: space-between; align-items: center; gap: 12px; height: 36px; flex-shrink: 0; } .title { margin: 0; font-size: 1.125rem; font-weight: 600; flex-shrink: 0; } .header-controls { display: flex; align-items: center; gap: 8px; } /* Controls section - ~36px */ .controls-section { display: flex; align-items: center; gap: 16px; height: 32px; flex-shrink: 0; } .select-label { display: flex; align-items: center; gap: 6px; font-size: 0.8125rem; font-weight: 500; color: var(--color-text-secondary); } .select { padding: 4px 8px; font-size: 0.8125rem; border: var(--border-width-regular) solid var(--color-border-primary); border-radius: var(--border-radius-sm); background: var(--color-background-secondary); color: var(--color-text-primary); cursor: pointer; } .select:focus { outline: 2px solid var(--color-ring-info); outline-offset: 1px; } /* Chart section - ~420px */ .chart-section { flex: 1; min-height: 0; background: var(--color-background-secondary); border-radius: var(--border-radius-md); padding: 8px; border: var(--border-width-regular) solid var(--color-border-primary); } .chart-container { position: relative; width: 100%; height: 100%; } /* Legend section - ~36px */ .legend-section { height: 32px; flex-shrink: 0; } .legend { display: flex; align-items: center; justify-content: center; gap: 16px; height: 100%; } .legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; cursor: pointer; padding: 4px 10px; border-radius: var(--border-radius-full); border: var(--border-width-regular) solid var(--color-border-primary); background: var(--color-background-secondary); transition: all 0.15s ease; } .legend-item:hover { border-color: var(--color-text-secondary); box-shadow: var(--shadow-sm); } .legend-item.hidden { opacity: 0.5; background: transparent; } .legend-item.hidden .legend-label { text-decoration: line-through; } .legend-dot { width: 10px; height: 10px; border-radius: 50%; } .legend-label { font-weight: 500; } .legend-count { color: var(--color-text-secondary); } /* Detail section - ~44px */ .detail-section { height: 40px; flex-shrink: 0; } .detail-panel { display: flex; align-items: center; justify-content: center; gap: 16px; height: 100%; background: var(--color-background-secondary); border-radius: var(--border-radius-sm); padding: 0 12px; border: var(--border-width-regular) solid var(--color-border-primary); font-size: 0.8125rem; } .detail-placeholder { color: var(--color-text-secondary); } .detail-name { font-weight: 600; } .detail-segment { padding: 2px 8px; border-radius: var(--border-radius-sm); font-size: 0.75rem; font-weight: 500; color: white; } .detail-segment.enterprise { background: var(--color-enterprise); } .detail-segment.mid-market { background: var(--color-midmarket); } .detail-segment.smb { background: var(--color-smb); } .detail-segment.startup { background: var(--color-startup); } .detail-metric { color: var(--color-text-secondary); } .detail-metric strong { color: var(--color-text-primary); font-weight: 600; }