Files
SPA-landing/symbols/css/components.css
architeur d707c5001d Refactor symbols app: split large files (max 300 lines)
- Split styles.css (1319 lines) into 6 CSS modules:
  - base.css, layout.css, modal.css, text-generator.css, components.css, legend.css
- Split app.js (1219 lines) into 8 JS modules:
  - core.js, custom.js, dxf.js, export.js, legend.js, legend-export.js, path-parser.js, utils.js
- Split symbols.js (870 lines) into 10 JS modules:
  - index.js, schaeden.js, werkzeuge.js, bauteile.js, moebel.js, sanitaer.js, vermessung.js, vermessung-infra.js, vermessung-topo.js, init.js
- Updated index.html to load new modular files

All files now comply with 300-line maximum rule.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 21:34:03 +01:00

210 lines
4.1 KiB
CSS

/* ============================================
COMPONENTS - Buttons, Forms, etc.
============================================ */
/* ========== SAVE BUTTON ========== */
.btn-save {
background: linear-gradient(135deg, #10b981, #059669) !important;
}
.btn-save:hover {
background: linear-gradient(135deg, #059669, #047857) !important;
}
/* ========== PNG/JPG BUTTONS ========== */
.btn-png {
background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
}
.btn-png:hover {
background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
}
.btn-jpg {
background: linear-gradient(135deg, #f59e0b, #d97706) !important;
}
.btn-jpg:hover {
background: linear-gradient(135deg, #d97706, #b45309) !important;
}
/* ========== SAVE FORM ========== */
.save-form {
display: flex;
flex-direction: column;
gap: 1rem;
}
.form-group {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.form-group label {
font-weight: 500;
color: var(--gray-700);
}
.form-group input[type="text"] {
padding: 0.75rem;
border: 1px solid var(--gray-300);
border-radius: 6px;
font-size: 1rem;
}
.form-group input[type="text"]:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
/* ========== CUSTOM SYMBOLS BADGE ========== */
.filter-pill[data-filter="custom"] {
background: linear-gradient(135deg, #10b981, #059669);
color: white;
border-color: #059669;
}
.filter-pill[data-filter="custom"]:hover {
background: linear-gradient(135deg, #059669, #047857);
}
/* ========== SYMBOL CARD DELETE BUTTON ========== */
.symbol-card .btn-delete {
position: absolute;
top: 4px;
right: 4px;
width: 20px;
height: 20px;
border-radius: 50%;
background: #ef4444;
color: white;
border: none;
cursor: pointer;
font-size: 12px;
line-height: 1;
display: none;
z-index: 10;
}
.symbol-card:hover .btn-delete {
display: flex;
align-items: center;
justify-content: center;
}
.symbol-card .btn-delete:hover {
background: #dc2626;
}
/* ========== IMPRESSUM ========== */
.impressum-content {
text-align: left;
line-height: 1.6;
}
.impressum-content h3 {
color: var(--primary);
margin-bottom: 1.5rem;
font-size: 1.4rem;
}
.impressum-content h4 {
color: var(--gray-700);
margin-top: 1.5rem;
margin-bottom: 0.75rem;
font-size: 1.1rem;
}
.impressum-content p {
margin-bottom: 1rem;
color: var(--gray-600);
}
.impressum-content strong {
color: var(--gray-800);
}
.impressum-content a {
color: var(--primary);
text-decoration: none;
}
.impressum-content a:hover {
text-decoration: underline;
}
.impressum-content hr {
border: none;
border-top: 1px solid var(--gray-200);
margin: 1.5rem 0;
}
.impressum-content .copyright {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid var(--gray-200);
text-align: center;
font-size: 0.9rem;
color: var(--gray-500);
}
/* ========== FOOTER ========== */
.footer-links {
margin-top: 0.5rem;
}
.footer-links a {
color: var(--gray-400);
text-decoration: none;
font-size: 0.85rem;
transition: color 0.2s;
}
.footer-links a:hover {
color: white;
text-decoration: underline;
}
/* ========== NO RESULTS ========== */
.no-results {
grid-column: 1 / -1;
text-align: center;
padding: 3rem;
color: var(--gray-500);
font-size: 1rem;
line-height: 1.6;
}
/* ========== DARK MODE ========== */
[data-theme="dark"] .btn-reset {
background: #dc2626;
}
[data-theme="dark"] .btn-reset:hover {
background: #b91c1c;
}
[data-theme="dark"] .standalone-arrow-section {
border-top-color: #3e3126;
}
[data-theme="dark"] .standalone-arrow-preview {
background: #2a2319;
border-color: #3e3126;
}
[data-theme="dark"] #arrowDetailsRow,
[data-theme="dark"] #arrowDetailsRow2 {
background: #2a2319;
}
[data-theme="dark"] .padding-group label {
color: #9ca3af;
}
[data-theme="dark"] .standalone-arrow-section .section-header h4 {
color: #f5f1e8;
}