secubox-openwrt/package/secubox/luci-theme-secubox/htdocs/luci-static/resources/secubox-theme/themes/ocean.css
CyberMind-FR 675b2d164e feat: Portal service detection, nDPId compat layer, CrowdSec/Netifyd packages
Portal (luci-app-secubox-portal):
- Fix service status showing 0/9 by checking if init scripts exist
- Only count installed services in status display
- Use pgrep fallback when init script status fails

nDPId Dashboard (luci-app-ndpid):
- Add default /etc/config/ndpid configuration
- Add /etc/init.d/ndpid-compat init script
- Enable compat service in postinst for app detection
- Fix Makefile to install init script and config

CrowdSec Dashboard:
- Add CLAUDE.md with OpenWrt-specific guidelines (pgrep without -x)
- CSS fixes for hiding LuCI left menu in all views
- LAPI repair improvements with retry logic

New Packages:
- secubox-app-crowdsec: OpenWrt-native CrowdSec package
- secubox-app-netifyd: Netifyd DPI integration
- luci-app-secubox: Core SecuBox hub
- luci-theme-secubox: Custom theme

Removed:
- luci-app-secubox-crowdsec (replaced by crowdsec-dashboard)
- secubox-crowdsec-setup (functionality moved to dashboard)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 13:51:40 +01:00

51 lines
1.5 KiB
CSS

/**
* Ocean Theme - Professional Ocean Blue
* A calm, professional theme inspired by deep ocean waters
*/
body[data-secubox-theme="ocean"] {
/* Backgrounds */
--cyber-bg-primary: #001f3f;
--cyber-bg-secondary: #003d5c;
--cyber-bg-tertiary: #005a7a;
--cyber-surface: #007399;
--cyber-surface-light: #008fb3;
/* Text */
--cyber-text-primary: #e0f2fe;
--cyber-text-secondary: #a5d8f0;
--cyber-text-muted: #7cb9d8;
--cyber-text-inverse: #001f3f;
/* Accent Colors */
--cyber-accent-primary: #0077be;
--cyber-accent-primary-end: #005a8d;
--cyber-accent-secondary: #00bcd4;
--cyber-accent-tertiary: #0891b2;
/* Semantic Colors */
--cyber-success: #14b8a6;
--cyber-success-soft: rgba(20, 184, 166, 0.15);
--cyber-warning: #fbbf24;
--cyber-warning-soft: rgba(251, 191, 36, 0.15);
--cyber-danger: #f43f5e;
--cyber-danger-soft: rgba(244, 63, 94, 0.15);
--cyber-info: #06b6d4;
--cyber-info-soft: rgba(6, 182, 212, 0.15);
/* Borders & Effects */
--cyber-border: 1px solid rgba(0, 188, 212, 0.15);
--cyber-border-strong: 1px solid rgba(0, 188, 212, 0.3);
--cyber-glass-bg: rgba(0, 119, 190, 0.08);
--cyber-glass-border: rgba(0, 188, 212, 0.12);
/* Gradients */
--cyber-gradient-primary: linear-gradient(135deg, #0077be 0%, #00bcd4 100%);
/* Background */
background: radial-gradient(circle at 20% 30%, rgba(0, 188, 212, 0.2), transparent 50%),
radial-gradient(circle at 80% 70%, rgba(0, 119, 190, 0.15), transparent 50%),
var(--cyber-bg-primary);
color: var(--cyber-text-primary);
}