project2463/static/css/style.css

470 lines
10 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Подключаем шрифт Verdana */
@import url('https://fonts.googleapis.com/css2?family=Verdana:wght@400;500;600;700&display=swap');
:root {
--antique-white: #FAEBD7;
--light-brown: #DEB887;
--brown: #A0522D;
--dark-brown: #8B4513;
--text-dark: #2c3e50;
--text-light: #5D3A1A;
}
body {
font-family: 'Verdana', sans-serif;
background-color: var(--antique-white);
margin: 0;
padding: 0;
}
.main-container {
background-color: #ffffff;
min-height: 100vh;
padding: 20px;
}
.header {
background: linear-gradient(135deg, var(--brown) 0%, var(--light-brown) 100%);
padding: 25px;
border-radius: 12px;
margin-bottom: 35px;
color: white;
box-shadow: 0 6px 20px rgba(160, 82, 45, 0.3);
}
.logo-container {
display: flex;
align-items: center;
gap: 25px;
}
.logo {
height: 70px;
width: auto;
object-fit: contain;
filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.2));
}
.header-title {
font-size: 2.5em;
font-weight: 700;
margin: 0;
text-shadow: 2px 2px 6px rgba(0,0,0,0.3);
letter-spacing: 0.5px;
}
.page-title {
color: var(--brown);
font-weight: 700;
border-bottom: 3px solid var(--light-brown);
padding-bottom: 10px;
margin-bottom: 25px;
font-family: 'Verdana', sans-serif;
}
/* Карточки партнеров */
.partner-card {
border: 3px solid var(--light-brown);
border-radius: 15px;
padding: 25px;
margin-bottom: 25px;
background: #ffffff;
box-shadow: 0 6px 20px rgba(222, 184, 135, 0.25);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.partner-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 25px rgba(160, 82, 45, 0.2);
border-color: var(--brown);
}
.partner-header {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 3px solid var(--light-brown);
padding-bottom: 18px;
margin-bottom: 20px;
}
.partner-name-line {
display: flex;
align-items: center;
gap: 15px;
flex-wrap: wrap;
}
.partner-type {
font-size: 1.2em;
font-weight: 600;
color: var(--brown);
background: linear-gradient(135deg, var(--antique-white) 0%, #F5DEB3 100%);
padding: 8px 18px;
border-radius: 25px;
border: 2px solid var(--light-brown);
}
.partner-name {
font-size: 1.6em;
font-weight: 700;
color: var(--dark-brown);
margin: 0;
}
.divider {
color: var(--light-brown);
font-weight: bold;
font-size: 1.5em;
}
.discount-info {
display: flex;
align-items: center;
gap: 20px;
}
.discount-badge {
font-size: 1.2em;
padding: 10px 20px;
border-radius: 30px;
background: linear-gradient(135deg, var(--brown) 0%, var(--dark-brown) 100%);
color: white;
font-weight: 600;
box-shadow: 0 3px 10px rgba(160, 82, 45, 0.3);
}
.sales-amount {
font-size: 1.1em;
color: var(--brown);
font-weight: 600;
background-color: var(--antique-white);
padding: 8px 15px;
border-radius: 8px;
}
.partner-info-row {
margin-bottom: 0;
padding: 8px 0;
line-height: 1.5;
border-bottom: 1px dashed var(--light-brown);
}
.partner-info-row:last-child {
border-bottom: none;
}
.partner-label {
font-weight: 700;
color: var(--brown);
min-width: 140px;
display: inline-block;
font-size: 1.05em;
}
.partner-value {
font-size: 1.05em;
color: var(--text-dark);
font-weight: 500;
}
.partner-buttons-container {
display: flex;
gap: 15px;
justify-content: flex-start;
margin-top: 25px;
padding-top: 20px;
border-top: 3px solid var(--light-brown);
}
.btn-action {
padding: 12px 25px;
font-size: 1em;
display: flex;
align-items: center;
gap: 10px;
min-width: 200px;
justify-content: center;
border: none;
border-radius: 10px;
font-weight: 700;
transition: all 0.3s ease;
cursor: pointer;
letter-spacing: 0.5px;
color: white;
}
.btn-edit {
background: linear-gradient(135deg, var(--light-brown) 0%, var(--brown) 100%);
}
.btn-add {
background: linear-gradient(135deg, var(--brown) 0%, var(--dark-brown) 100%);
}
.btn-history {
background: linear-gradient(135deg, #8B7355 0%, var(--dark-brown) 100%);
}
.btn-action:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(160, 82, 45, 0.25);
color: white;
}
.btn-new-partner {
background: linear-gradient(135deg, var(--brown) 0%, var(--dark-brown) 100%);
color: white;
border: none;
padding: 14px 28px;
font-weight: 700;
border-radius: 10px;
font-size: 1.1em;
letter-spacing: 0.5px;
}
.btn-new-partner:hover {
background: linear-gradient(135deg, var(--dark-brown) 0%, var(--brown) 100%);
color: white;
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(160, 82, 45, 0.3);
}
.rating-badge {
font-size: 1em;
padding: 8px 16px;
border-radius: 20px;
background: linear-gradient(135deg, var(--light-brown) 0%, var(--brown) 100%);
color: white;
font-weight: 700;
}
.alert {
border-radius: 12px;
border: none;
background: linear-gradient(135deg, var(--antique-white) 0%, #F5DEB3 100%);
border-left: 6px solid var(--brown);
color: var(--text-dark);
}
.volume-info {
background: linear-gradient(135deg, var(--antique-white) 0%, #F5DEB3 100%);
padding: 12px 20px;
border-radius: 10px;
margin-top: 15px;
border: 2px solid var(--light-brown);
}
.volume-label {
font-weight: 700;
color: var(--brown);
font-size: 1.1em;
}
.volume-value {
color: var(--dark-brown);
font-weight: 700;
font-size: 1.2em;
}
/* Стили для страницы истории */
.table-responsive {
border-radius: 12px;
overflow: hidden;
border: 3px solid var(--light-brown);
box-shadow: 0 6px 20px rgba(222, 184, 135, 0.3);
}
.table {
margin-bottom: 0;
border-collapse: separate;
border-spacing: 0;
}
.table th {
background: linear-gradient(135deg, var(--brown) 0%, var(--dark-brown) 100%);
color: white;
font-weight: 700;
padding: 16px;
text-align: center;
font-size: 1.1em;
border: none;
}
.table td {
padding: 14px;
text-align: center;
vertical-align: middle;
border-bottom: 2px solid var(--light-brown);
font-size: 1.05em;
}
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(222, 184, 135, 0.08);
}
.table-striped tbody tr:hover {
background-color: rgba(160, 82, 45, 0.1);
transition: background-color 0.3s ease;
}
.table tfoot {
background: linear-gradient(135deg, var(--antique-white) 0%, #F5DEB3 100%);
font-weight: 700;
font-size: 1.1em;
}
.table tfoot td {
border-top: 3px solid var(--brown);
padding: 18px;
}
.text-end {
text-align: right !important;
}
/* Стили для иконок */
i {
color: var(--brown);
margin-right: 5px;
}
.btn-action i, .btn-new-partner i {
color: white;
}
/* Стили для блока с расчетом стоимости */
.calculation-block {
background: linear-gradient(135deg, var(--antique-white) 0%, #F5DEB3 100%);
border: 3px solid var(--light-brown);
border-radius: 15px;
padding: 25px;
margin-bottom: 30px;
box-shadow: 0 6px 20px rgba(222, 184, 135, 0.25);
}
.calculation-title {
color: var(--brown);
font-weight: 700;
border-bottom: 3px solid var(--brown);
padding-bottom: 15px;
margin-bottom: 25px;
}
.calculation-result {
background-color: white;
border: 2px solid var(--light-brown);
border-radius: 10px;
padding: 20px;
margin-top: 20px;
}
.result-item {
padding: 10px 0;
border-bottom: 1px dashed var(--light-brown);
}
.result-item:last-child {
border-bottom: none;
font-weight: 700;
font-size: 1.2em;
color: var(--brown);
}
/* Стили для фильтров и сортировки - ВАЖНО! */
.filter-section {
background: white !important;
border: 2px solid var(--light-brown) !important;
border-radius: 12px !important;
padding: 20px !important;
margin-bottom: 25px !important;
box-shadow: 0 2px 8px rgba(160, 82, 45, 0.1) !important;
}
.filter-title {
color: var(--brown) !important;
font-weight: 700 !important;
margin-bottom: 15px !important;
border-bottom: 2px solid var(--light-brown) !important;
padding-bottom: 10px !important;
}
.form-control, .form-select {
border: 2px solid var(--light-brown) !important;
border-radius: 8px !important;
padding: 10px 15px !important;
font-size: 1em !important;
transition: all 0.3s ease !important;
background-color: white !important;
}
.form-control:focus, .form-select:focus {
border-color: var(--brown) !important;
box-shadow: 0 0 0 0.25rem rgba(160, 82, 45, 0.25) !important;
outline: none !important;
}
.form-label {
color: var(--brown) !important;
font-weight: 600 !important;
margin-bottom: 5px !important;
}
/* Кнопки */
.btn-primary {
background: var(--brown) !important;
color: white !important;
border: none !important;
}
.btn-primary:hover {
background: var(--dark-brown) !important;
transform: translateY(-1px) !important;
box-shadow: 0 4px 8px rgba(160, 82, 45, 0.2) !important;
}
.btn-secondary {
background: var(--antique-white) !important;
color: var(--brown) !important;
border: 1px solid var(--light-brown) !important;
}
.btn-secondary:hover {
background: var(--light-brown) !important;
color: white !important;
}
/* Адаптивность */
@media (max-width: 768px) {
.table-responsive {
font-size: 0.9em;
}
.table th, .table td {
padding: 10px 6px;
}
.btn-action {
min-width: 150px;
padding: 10px 15px;
font-size: 0.9em;
}
.partner-card {
padding: 20px;
}
.header-title {
font-size: 1.8em;
}
}
/* Анимации */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.partner-card, .table-responsive, .calculation-block, .filter-section {
animation: fadeIn 0.5s ease-out;
}