codebook / assets /css /shared.css
vidhimudaliar's picture
Initial Upload
e9e1632 verified
/* ============================================
Shared Theme Variables & Base Styles
============================================ */
:root {
--bg: #0f172a;
--bg-alt: #111827;
--card: #020617;
--accent: #38bdf8;
--accent-soft: rgba(56, 189, 248, 0.1);
--text: #e5e7eb;
--text-muted: #9ca3af;
--border: #1f2937;
--radius-lg: 18px;
--radius-sm: 12px;
--shadow-soft: 0 18px 40px rgba(15, 23, 42, 0.7);
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
background: radial-gradient(circle at top left, #0f172a 0, #020617 55%);
color: var(--text);
display: flex;
align-items: stretch;
justify-content: center;
}
/* Common Components */
.eyebrow {
text-transform: uppercase;
letter-spacing: 0.18em;
font-size: 11px;
color: var(--accent);
margin: 0 0 6px;
}
.nav-link {
font-size: 11px;
padding: 6px 10px;
border-radius: 999px;
border: 1px solid var(--border);
color: var(--text-muted);
text-decoration: none;
transition: all 0.12s ease;
display: inline-flex;
align-items: center;
gap: 4px;
}
.nav-link:hover {
background: rgba(15, 23, 42, 0.9);
border-color: var(--accent);
color: var(--accent);
transform: translateY(-1px);
}
.search-box {
flex: 1;
min-width: 260px;
position: relative;
}
.search-box input {
width: 100%;
border-radius: 999px;
border: 1px solid var(--border);
background: rgba(15, 23, 42, 0.9);
color: var(--text);
padding: 10px 42px 10px 16px;
font-size: 14px;
outline: none;
}
.search-box input::placeholder {
color: var(--text-muted);
}
.search-box span {
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
color: var(--text-muted);
font-size: 14px;
}
.badge {
border-radius: 999px;
padding: 6px 12px;
border: 1px solid var(--accent);
background: var(--accent-soft);
color: var(--accent);
font-size: 12px;
font-weight: 600;
}
.pill {
font-size: 11px;
padding: 4px 8px;
border-radius: 999px;
border: 1px solid var(--border);
color: var(--text-muted);
cursor: default;
}
.pill.primary {
border-color: var(--accent);
color: var(--accent);
background: var(--accent-soft);
}
.pill-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
/* Card Styles */
.card {
border-radius: var(--radius-lg);
border: 1px solid var(--border);
background: radial-gradient(circle at top left, #020617 0, #020617 60%);
padding: 16px;
}
.table-card {
border-radius: var(--radius-lg);
border: 1px solid var(--border);
background: radial-gradient(circle at top left, #020617 0, #020617 60%);
padding: 16px;
overflow-x: auto;
}
/* App Container */
.app {
width: 100%;
max-width: 1200px;
background: rgba(2, 6, 23, 0.94);
border-radius: 28px;
border: 1px solid var(--border);
box-shadow: var(--shadow-soft);
padding: 28px;
display: flex;
flex-direction: column;
gap: 24px;
}
/* Header Row */
.header-row {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: space-between;
align-items: flex-start;
}
.header-row h1 {
margin: 0;
font-size: 26px;
}
.note {
color: var(--text-muted);
max-width: 640px;
line-height: 1.4;
margin-top: 6px;
}
/* Responsive */
@media (max-width: 640px) {
body {
padding: 16px;
}
.app {
padding: 20px;
}
}