Files
WHOOSH/ui/styles.css
Claude Code afccc94998
Some checks failed
WHOOSH CI / speclint (push) Has been cancelled
WHOOSH CI / contracts (push) Has been cancelled
Updated project files and configuration
- Added/updated .gitignore file
- Fixed remote URL configuration
- Updated project structure and files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 22:51:50 +10:00

463 lines
9.2 KiB
CSS

/* CHORUS Brand Variables */
:root {
font-size: 18px; /* CHORUS proportional base */
/* Carbon Colors (Primary Neutral) */
--carbon-950: #000000;
--carbon-900: #0a0a0a;
--carbon-800: #1a1a1a;
--carbon-700: #2a2a2a;
--carbon-600: #666666;
--carbon-500: #808080;
--carbon-400: #a0a0a0;
--carbon-300: #c0c0c0;
--carbon-200: #e0e0e0;
--carbon-100: #f0f0f0;
--carbon-50: #f8f8f8;
/* Mulberry Colors (Brand Accent) */
--mulberry-950: #0b0213;
--mulberry-900: #1a1426;
--mulberry-800: #2a2639;
--mulberry-700: #3a384c;
--mulberry-600: #4a4a5f;
--mulberry-500: #5a5c72;
--mulberry-400: #7a7e95;
--mulberry-300: #9aa0b8;
--mulberry-200: #bac2db;
--mulberry-100: #dae4fe;
--mulberry-50: #f0f4ff;
/* Ocean Colors (Primary Action) */
--ocean-950: #2a3441;
--ocean-900: #3a4654;
--ocean-800: #4a5867;
--ocean-700: #5a6c80;
--ocean-600: #6a7e99;
--ocean-500: #7a90b2;
--ocean-400: #8ba3c4;
--ocean-300: #9bb6d6;
--ocean-200: #abc9e8;
--ocean-100: #bbdcfa;
--ocean-50: #cbefff;
/* Eucalyptus Colors (Success) */
--eucalyptus-950: #2a3330;
--eucalyptus-900: #3a4540;
--eucalyptus-800: #4a5750;
--eucalyptus-700: #515d54;
--eucalyptus-600: #5a6964;
--eucalyptus-500: #6a7974;
--eucalyptus-400: #7a8a7f;
--eucalyptus-300: #8a9b8f;
--eucalyptus-200: #9aac9f;
--eucalyptus-100: #aabdaf;
--eucalyptus-50: #bacfbf;
/* Coral Colors (Error/Warning) */
--coral-700: #dc2626;
--coral-500: #ef4444;
--coral-300: #fca5a5;
}
/* Base Styles with CHORUS Branding */
body {
font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
margin: 0;
padding: 0;
background: var(--carbon-950);
color: var(--carbon-100);
line-height: 1.6;
}
/* CHORUS Dark Mode Header */
.header {
background: linear-gradient(135deg, var(--carbon-900) 0%, var(--mulberry-900) 100%);
color: white;
padding: 1.33rem 0; /* 24px at 18px base */
border-bottom: 1px solid var(--mulberry-800);
display: flex;
justify-content: space-between;
align-items: center;
max-width: 1200px;
margin: 0 auto;
padding-left: 1.33rem;
padding-right: 1.33rem;
}
.header-content {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.33rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
font-family: 'Exo', sans-serif;
font-size: 1.33rem; /* 24px at 18px base */
font-weight: 300;
color: white;
display: flex;
align-items: center;
gap: 0.67rem;
}
.logo .tagline {
font-size: 0.78rem;
color: var(--mulberry-300);
font-weight: 400;
}
.logo::before {
content: "";
font-size: 1.5rem;
}
.status-info {
display: flex;
align-items: center;
color: var(--eucalyptus-400);
font-size: 0.78rem;
}
.status-dot {
width: 0.67rem;
height: 0.67rem;
border-radius: 50%;
background: var(--eucalyptus-400);
margin-right: 0.44rem;
display: inline-block;
}
/* CHORUS Navigation */
.nav {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.33rem;
display: flex;
border-bottom: 1px solid var(--mulberry-800);
background: var(--carbon-900);
}
.nav-tab {
padding: 0.83rem 1.39rem;
cursor: pointer;
border-bottom: 3px solid transparent;
font-weight: 500;
transition: all 0.2s;
color: var(--mulberry-300);
background: none;
border: none;
font-family: inherit;
}
.nav-tab.active {
border-bottom-color: var(--ocean-500);
color: var(--ocean-300);
background: var(--carbon-800);
}
.nav-tab:hover {
background: var(--carbon-800);
color: var(--ocean-400);
}
.content {
max-width: 1200px;
margin: 0 auto;
padding: 1.33rem;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
/* CHORUS Card System */
.dashboard-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 1.33rem;
margin-bottom: 2rem;
}
.card {
background: var(--carbon-900);
border-radius: 0;
padding: 1.33rem;
box-shadow: 0 0.22rem 0.89rem rgba(0,0,0,0.3);
border: 1px solid var(--mulberry-800);
}
.card h3 {
margin: 0 0 1rem 0;
color: var(--carbon-100);
font-size: 1rem;
display: flex;
align-items: center;
font-weight: 600;
}
.card h2 {
margin: 0 0 1rem 0;
color: var(--carbon-100);
font-size: 1.33rem;
display: flex;
align-items: center;
font-weight: 600;
}
.card-icon {
width: 1.33rem;
height: 1.33rem;
margin-right: 0.67rem;
}
/* Metrics with CHORUS Colors */
.metric {
display: flex;
justify-content: space-between;
margin: 0.44rem 0;
padding: 0.44rem 0;
}
.metric:not(:last-child) {
border-bottom: 1px solid var(--mulberry-900);
}
.metric-label {
color: var(--mulberry-300);
}
.metric-value {
font-weight: 600;
color: var(--carbon-100);
}
/* Task Items with CHORUS Brand Colors */
.task-item {
background: var(--carbon-800);
border-radius: 0;
padding: 0.89rem;
margin-bottom: 0.67rem;
border-left: 4px solid var(--mulberry-600);
}
.task-item.priority-high {
border-left-color: var(--coral-500);
}
.task-item.priority-medium {
border-left-color: var(--ocean-500);
}
.task-item.priority-low {
border-left-color: var(--eucalyptus-500);
}
.task-title {
font-weight: 600;
color: var(--carbon-100);
margin-bottom: 0.44rem;
}
.task-meta {
display: flex;
justify-content: space-between;
color: var(--mulberry-300);
font-size: 0.78rem;
}
/* Agent Cards */
.agent-card {
background: var(--carbon-800);
border-radius: 0;
padding: 0.89rem;
margin-bottom: 0.67rem;
}
.agent-status {
width: 0.44rem;
height: 0.44rem;
border-radius: 50%;
margin-right: 0.44rem;
display: inline-block;
}
.agent-status.online {
background: var(--eucalyptus-400);
}
.agent-status.offline {
background: var(--carbon-500);
}
.team-member {
display: flex;
align-items: center;
padding: 0.44rem;
background: var(--carbon-900);
border-radius: 0;
margin-bottom: 0.44rem;
}
/* CHORUS Button System */
.btn {
padding: 0.44rem 0.89rem;
border-radius: 0.375rem;
border: none;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
font-family: 'Inter Tight', sans-serif;
}
.btn-primary {
background: var(--ocean-600);
color: white;
}
.btn-primary:hover {
background: var(--ocean-500);
}
.btn-secondary {
background: var(--mulberry-700);
color: var(--mulberry-200);
}
.btn-secondary:hover {
background: var(--mulberry-600);
}
/* Empty States */
.empty-state {
text-align: center;
padding: 2.22rem 1.33rem;
color: var(--mulberry-300);
}
.empty-state-icon {
font-size: 2.67rem;
margin-bottom: 0.89rem;
text-align: center;
}
/* BackBeat Pulse Visualization */
#pulse-trace {
background: var(--carbon-800);
border-radius: 0;
border: 1px solid var(--mulberry-800);
}
/* Additional CHORUS Styling */
.backbeat-label {
color: var(--mulberry-300);
font-size: 0.67rem;
text-align: center;
margin-top: 0.44rem;
}
/* Modal and Overlay Styling */
.modal-overlay {
background: rgba(0, 0, 0, 0.8) !important;
}
.modal-content {
background: var(--carbon-900) !important;
color: var(--carbon-100) !important;
border: 1px solid var(--mulberry-800) !important;
}
.modal-content input, .modal-content select, .modal-content textarea {
background: var(--carbon-800);
color: var(--carbon-100);
border: 1px solid var(--mulberry-700);
border-radius: 0;
padding: 0.44rem 0.67rem;
font-family: inherit;
}
.modal-content input:focus, .modal-content select:focus, .modal-content textarea:focus {
border-color: var(--ocean-500);
outline: none;
}
.modal-content label {
color: var(--mulberry-200);
display: block;
margin-bottom: 0.33rem;
font-weight: 500;
}
/* Repository Cards */
.repository-item {
background: var(--carbon-800);
border-radius: 0;
padding: 0.89rem;
margin-bottom: 0.67rem;
border: 1px solid var(--mulberry-800);
}
.repository-item h4 {
color: var(--carbon-100);
margin: 0 0 0.44rem 0;
}
.repository-meta {
color: var(--mulberry-300);
font-size: 0.78rem;
margin-bottom: 0.44rem;
}
/* Success/Error States */
.success-indicator {
color: var(--eucalyptus-400);
}
.error-indicator {
color: var(--coral-500);
}
.warning-indicator {
color: var(--ocean-400);
}
/* Tabs styling */
.tabs {
margin-bottom: 1.33rem;
}
.tabs h4 {
color: var(--carbon-100);
margin-bottom: 0.67rem;
font-size: 0.89rem;
font-weight: 600;
}
/* Form styling improvements */
form {
display: flex;
flex-direction: column;
gap: 1rem;
}
form > div {
display: flex;
flex-direction: column;
gap: 0.33rem;
}
form label {
font-weight: 500;
color: var(--mulberry-200);
}
form input[type="checkbox"] {
margin-right: 0.5rem;
accent-color: var(--ocean-500);
}