/* SmartCane Brand Theme */ :root { /* Primary Colors - SmartCane Brand */ --sc-primary: #2aab95; /* SmartCane Teal */ --sc-primary-light: #2596be; /* SmartCane Blue */ --sc-primary-lighter: #3db3a6; /* Lighter Teal */ --sc-accent: #2596be; /* SmartCane Blue */ --sc-accent-light: #3da8cc; /* Lighter Blue */ /* Neutral Colors */ --sc-dark: #1a1a1a; --sc-light: #faf8f3; /* Creamy white */ --sc-border: #e0d9d0; /* Light beige */ --sc-text: #2c2c2c; --sc-text-muted: #6b6b6b; --sc-text-light: #999; /* Status Colors */ --sc-success: #27ae60; --sc-warning: #f39c12; --sc-danger: #e74c3c; --sc-info: #2596be; } /* Apply to body gradients */ body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, var(--sc-primary) 0%, var(--sc-primary-light) 100%); color: var(--sc-text); } /* Header styling */ header { background: linear-gradient(135deg, var(--sc-primary) 0%, var(--sc-primary-light) 100%); color: white; } /* Button styling */ .btn-primary { background: var(--sc-primary); color: white; } .btn-primary:hover { background: var(--sc-primary-light); color: white; } .btn-accent { background: var(--sc-accent); color: white; } .btn-accent:hover { background: var(--sc-accent-light); } /* Mode buttons */ .mode-btn { background: rgba(255, 255, 255, 0.1); color: white; border: none; transition: all 0.3s; } .mode-btn:hover { background: rgba(255, 255, 255, 0.2); } .mode-btn.active { background: rgba(255, 255, 255, 0.3); font-weight: 600; } /* Panel styling */ .panel { background: var(--sc-light); } .panel-header { background: linear-gradient(135deg, var(--sc-primary) 0%, var(--sc-primary-light) 100%); color: white; } /* Alert styling */ .alert { border-radius: 5px; font-size: 12px; line-height: 1.5; padding: 12px; margin-bottom: 12px; } .alert-info { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; } .alert-success { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; } .alert-warning { background: #fff3e0; color: #e65100; border: 1px solid #ffb74d; } .alert-danger { background: #ffebee; color: #c62828; border: 1px solid #ef9a9a; } /* Form inputs */ input, select, textarea { border: 1px solid var(--sc-border); border-radius: 4px; font-size: 13px; font-family: inherit; background: white; } input:focus, select:focus, textarea:focus { outline: none; border-color: var(--sc-primary); box-shadow: 0 0 0 2px rgba(42, 171, 149, 0.1); } /* Legend and color items */ .country-color { border: 1px solid rgba(0, 0, 0, 0.2); } /* Links */ a { color: var(--sc-primary); text-decoration: none; transition: all 0.3s; } a:hover { color: var(--sc-primary-light); text-decoration: underline; } /* Cards */ .app-card { background: white; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); transition: all 0.3s ease; } .app-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3); } .app-icon { background: linear-gradient(135deg, var(--sc-primary) 0%, var(--sc-primary-light) 100%); } /* Logo styling */ .logo { height: 40px; width: auto; display: inline-block; } .logo-section { display: flex; align-items: center; gap: 15px; } /* Status badges */ .status-badge { display: inline-block; padding: 4px 8px; border-radius: 12px; font-size: 11px; font-weight: 600; } .status-badge.ready { background: #e8f5e9; color: #2e7d32; } .status-badge.beta { background: #fff3e0; color: #e65100; } .status-badge.dev { background: #f3e5f5; color: #7b1fa2; }