UF_clean / frontend /css /shared.css
Subh775's picture
rollback to cf stage 1
80e080c
/* =============================================
UrbanFlow — shared.css
Reusable component classes shared across all pages.
Single source of truth for the design system.
============================================= */
/* ---- Typography Colors ---- */
.text-accent { color: #c89a6c !important; }
.text-primary { color: #f0ece6 !important; }
.text-secondary { color: #a89f97 !important; }
.text-muted { color: #555 !important; }
.text-dim { color: #444 !important; }
.text-cocoa { color: #8b5e3c !important; }
.bg-accent { background-color: #c89a6c !important; }
/* ---- Modal Overlay ---- */
.modal-overlay {
display: none;
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.85);
z-index: 10001;
align-items: center;
justify-content: center;
padding: 24px;
}
/* ---- Modal Card ---- */
.modal-card {
background: #0a0a0a;
border: 1px solid #2a2a2a;
border-radius: 14px;
max-width: 480px;
width: 100%;
padding: 32px;
position: relative;
max-height: 80vh;
overflow-y: auto;
}
.modal-card-sm {
max-width: 380px;
padding: 28px;
max-height: none;
overflow-y: visible;
}
.modal-close-btn {
position: absolute;
top: 16px;
right: 18px;
background: none;
border: none;
color: #a89f97;
font-size: 18px;
cursor: pointer;
transition: color 0.2s;
}
.modal-close-btn:hover {
color: #f0ece6;
}
.modal-title {
color: #f0ece6;
font-size: 1.1rem;
font-weight: 700;
margin-bottom: 8px;
}
.modal-subtitle {
color: #a89f97;
font-size: 11px;
margin-bottom: 20px;
}
/* ---- Modal List (legal content) ---- */
.modal-list {
color: #a89f97;
font-size: 11px;
line-height: 1.9;
padding-left: 16px;
list-style: disc;
text-align: left;
}
.modal-list strong {
color: #f0ece6;
}
.modal-list .hl-accent {
color: #c89a6c;
font-weight: 700;
}
/* ---- Legal Section Label ---- */
.legal-section-label {
color: #c89a6c;
font-size: 11px;
font-weight: 700;
margin-bottom: 6px;
text-align: left;
}
/* ---- Legal Footer ---- */
.legal-footer-text {
color: #555;
font-size: 10px;
margin-top: 20px;
text-align: left;
}
/* ---- Legal Button (footer/sidebar links) ---- */
.legal-btn {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.2em;
color: #a89f97;
background: none;
border: none;
cursor: pointer;
transition: color 0.2s;
}
.legal-btn:hover {
color: #c89a6c;
}
/* ---- Section Label ---- */
.section-label {
font-size: 10px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.2em;
color: #a89f97;
}
/* ---- Check List (hero feature bullets) ---- */
.check-list {
list-style: none;
padding: 0;
margin: 0;
}
.check-list li {
display: flex;
align-items: center;
color: #a89f97;
}
.check-list li::before {
content: '\f00c'; /* fa-check */
font-family: 'Font Awesome 6 Free';
font-weight: 900;
color: #c89a6c;
font-size: 1.1rem;
margin-right: 12px;
flex-shrink: 0;
width: 1.5rem;
text-align: center;
}
@media (min-width: 768px) {
.check-list li::before {
margin-right: 20px;
}
}
/* ---- Bullet List (about tab) ---- */
.bullet-list {
list-style: none;
padding: 0;
margin: 0;
}
.bullet-list li {
display: flex;
align-items: flex-start;
gap: 12px;
}
.bullet-list li::before {
content: '\f111'; /* fa-circle */
font-family: 'Font Awesome 6 Free';
font-weight: 900;
color: #c89a6c;
font-size: 5px;
margin-top: 7px;
flex-shrink: 0;
}
/* ---- Keyboard Shortcut Row ---- */
.shortcut-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 6px 0;
border-bottom: 1px solid #1a1a1a;
}
.shortcut-row:last-child {
border-bottom: none;
}
.shortcut-label {
color: #a89f97;
font-size: 11px;
font-weight: 500;
}
.kbd-key {
background: #1a1a1a;
color: #c89a6c;
font-size: 11px;
font-weight: 700;
padding: 3px 10px;
border-radius: 6px;
border: 1px solid #2a2a2a;
font-family: 'JetBrains Mono', monospace;
}
/* ---- Panel Card (run tab panels) ---- */
.panel-card {
background-color: #0a0a0a;
border-radius: 12px;
border: 1px solid #2a2a2a;
overflow: hidden;
display: flex;
flex-direction: column;
}
.panel-header {
padding: 16px 24px;
border-bottom: 1px solid #1a1a1a;
background: #050505;
}
.panel-header h3 {
font-weight: 700;
font-size: 0.875rem;
color: #f0ece6;
}
.panel-body {
padding: 24px;
}
/* ---- Step Titles (initial.html steps) ---- */
.step-title {
font-size: 1.875rem;
font-weight: 700;
margin-bottom: 0.5rem;
text-align: center;
color: #f0ece6;
}
.step-subtitle {
font-size: 13px;
font-weight: 500;
margin-bottom: 2rem;
text-align: center;
color: #a89f97;
}
/* ---- Mobile Menu Item ---- */
.mob-menu-item {
width: 100%;
text-align: left;
padding: 10px 16px;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.2em;
color: #a89f97;
background: none;
border: none;
border-bottom: 1px solid #1a1a1a;
cursor: pointer;
transition: color 0.15s, background 0.15s;
}
.mob-menu-item:hover {
color: #f0ece6;
background: #111;
}
/* ---- Copyright Text ---- */
.copyright-text {
font-size: 11px;
font-weight: 500;
color: #555;
}
/* ---- Utility ---- */
.hidden { display: none !important; }
.border-subtle { border-color: #2a2a2a; }
.border-dim { border-color: #1a1a1a; }
.bg-surface { background-color: #050505; }