6c0d5a4e63
- Flask-based mold cost calculation application - PostgreSQL database with SQLAlchemy ORM - Docker/Podman containerization - Comprehensive documentation in docs/ - Clean, organized codebase without obsolete files - Production-ready deployment configuration - Enhanced pytest configuration with coverage reporting - Master/Development branch structure
144 lines
3.3 KiB
CSS
Executable File
144 lines
3.3 KiB
CSS
Executable File
:root {
|
||
--primary-color: #2563eb;
|
||
--secondary-color: #3b82f6;
|
||
--success-color: #22c55e;
|
||
--warning-color: #f59e0b;
|
||
--error-color: #ef4444;
|
||
--text-primary: #1e293b;
|
||
--text-secondary: #64748b;
|
||
--bg-light: #f8fafc;
|
||
}
|
||
|
||
/* Base Styles */
|
||
body {
|
||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||
color: var(--text-primary);
|
||
background-color: var(--bg-light);
|
||
line-height: 1.6;
|
||
}
|
||
|
||
.container-main {
|
||
max-width: 1280px;
|
||
margin: 2rem auto;
|
||
padding: 0 1rem;
|
||
}
|
||
|
||
/* Responsive Navigation */
|
||
.navbar-brand {
|
||
font-weight: 600;
|
||
letter-spacing: -0.025em;
|
||
}
|
||
|
||
.nav-link {
|
||
transition: all 0.2s ease;
|
||
padding: 0.5rem 1rem !important;
|
||
border-radius: 0.375rem;
|
||
}
|
||
|
||
.nav-link:hover {
|
||
background-color: rgba(255, 255, 255, 0.1);
|
||
}
|
||
|
||
/* Calculator Form */
|
||
.calculator-card {
|
||
background: white;
|
||
border-radius: 1rem;
|
||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
||
padding: 2rem;
|
||
margin: 2rem 0;
|
||
}
|
||
|
||
.input-group-3d {
|
||
position: relative;
|
||
}
|
||
|
||
.input-group-3d input,
|
||
.input-group-3d select {
|
||
border: 1px solid #e2e8f0;
|
||
border-radius: 0.5rem;
|
||
padding: 0.875rem 1rem;
|
||
transition: all 0.2s ease;
|
||
width: 100%;
|
||
}
|
||
|
||
.input-group-3d input:focus,
|
||
.input-group-3d select:focus {
|
||
border-color: var(--primary-color);
|
||
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
|
||
}
|
||
|
||
/* Result Panel */
|
||
.result-card {
|
||
border-left: 4px solid var(--success-color);
|
||
background: white;
|
||
border-radius: 0.75rem;
|
||
padding: 1.5rem;
|
||
margin-top: 2rem;
|
||
animation: slideIn 0.3s ease;
|
||
}
|
||
|
||
@keyframes slideIn {
|
||
from { opacity: 0; transform: translateY(10px); }
|
||
to { opacity: 1; transform: translateY(0); }
|
||
}
|
||
|
||
/* Mobile Optimization */
|
||
@media (max-width: 768px) {
|
||
.calculator-card {
|
||
margin: 1rem -0.5rem;
|
||
border-radius: 0;
|
||
}
|
||
|
||
.navbar-collapse {
|
||
margin-top: 1rem;
|
||
padding: 1rem;
|
||
background: var(--primary-color);
|
||
border-radius: 0.5rem;
|
||
}
|
||
}
|
||
|
||
建议配合以下CSS样式(添加到base模板中):
|
||
|
||
|
||
.input-group-text {
|
||
transition: opacity 0.3s ease;
|
||
}
|
||
.progress-bar {
|
||
transition: width 0.5s ease, background-color 0.3s ease;
|
||
}
|
||
|
||
/* Cost Breakdown Visual Enhancement */
|
||
.cost-breakdown {
|
||
background: #fff;
|
||
border-radius: 1rem;
|
||
box-shadow: 0 2px 12px 0 rgba(37,99,235,0.08);
|
||
padding: 2rem 1.5rem 1.5rem 1.5rem;
|
||
margin-bottom: 2rem;
|
||
}
|
||
.cost-breakdown .cost-item {
|
||
border: 1.5px solid #e0e7ef;
|
||
box-shadow: 0 1px 4px 0 rgba(37,99,235,0.04);
|
||
transition: box-shadow 0.2s, border-color 0.2s;
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
.cost-breakdown .cost-item:hover {
|
||
border-color: var(--primary-color);
|
||
box-shadow: 0 4px 16px 0 rgba(37,99,235,0.10);
|
||
background: #f1f5fd;
|
||
}
|
||
.cost-breakdown .h4.text-primary {
|
||
font-weight: 700;
|
||
letter-spacing: 0.5px;
|
||
}
|
||
.cost-breakdown .small.text-muted {
|
||
font-size: 0.98rem;
|
||
color: var(--text-secondary);
|
||
}
|
||
.cost-breakdown .total-cost {
|
||
background: linear-gradient(90deg, #e0e7ef 0%, #f8fafc 100%);
|
||
border-width: 2.5px;
|
||
box-shadow: 0 2px 8px 0 rgba(37,99,235,0.10);
|
||
}
|
||
.cost-breakdown .total-cost span {
|
||
letter-spacing: 1.5px;
|
||
} |