Files
car/frontend/src/components/CarManagement.module.css

280 lines
4.0 KiB
CSS

.container {
max-width: 900px;
margin: 32px auto;
padding: 0 24px;
}
.heading {
font-size: 22px;
font-weight: 700;
margin-bottom: 24px;
color: #1a56db;
}
.subHeading {
font-size: 16px;
font-weight: 600;
margin-bottom: 12px;
color: #374151;
}
.addCard {
background: white;
border-radius: 10px;
padding: 20px;
margin-bottom: 24px;
box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.form {
display: flex;
flex-direction: column;
gap: 12px;
}
.formRow {
display: flex;
gap: 12px;
align-items: center;
flex-wrap: wrap;
}
.input {
border: 1.5px solid #d1d5db;
border-radius: 6px;
padding: 8px 12px;
font-size: 14px;
outline: none;
transition: border-color 0.15s;
flex: 1;
min-width: 120px;
}
.input:focus {
border-color: #1a56db;
}
.btnPrimary {
background: #1a56db;
color: white;
border: none;
padding: 8px 20px;
border-radius: 6px;
font-size: 14px;
font-weight: 600;
white-space: nowrap;
transition: background 0.15s;
}
.btnPrimary:hover:not(:disabled) {
background: #1447c0;
}
.btnPrimary:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.tableWrapper {
background: white;
border-radius: 10px;
box-shadow: 0 1px 4px rgba(0,0,0,0.08);
overflow-x: auto;
}
.table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
}
.table th {
background: #f3f4f6;
padding: 12px 16px;
text-align: left;
font-weight: 600;
color: #374151;
border-bottom: 1.5px solid #e5e7eb;
}
.table td {
padding: 12px 16px;
border-bottom: 1px solid #f0f0f0;
vertical-align: middle;
}
.table tr:last-child td {
border-bottom: none;
}
.table tbody tr:hover {
background: #fafafa;
}
.table tbody tr[draggable] {
cursor: grab;
}
.dragOver {
background: #eff6ff !important;
outline: 2px dashed #1a56db;
outline-offset: -2px;
}
.idCell {
color: #9ca3af;
width: 80px;
}
.orderBtns {
display: flex;
flex-direction: column;
gap: 2px;
align-items: center;
}
.btnOrder {
background: #f3f4f6;
border: 1px solid #d1d5db;
color: #374151;
padding: 1px 8px;
border-radius: 4px;
font-size: 10px;
line-height: 1.4;
transition: background 0.15s;
}
.btnOrder:hover:not(:disabled) {
background: #e5e7eb;
}
.btnOrder:disabled {
opacity: 0.3;
cursor: not-allowed;
}
.descCell {
color: #6b7280;
}
.actions {
display: flex;
gap: 8px;
}
.btnEdit {
background: #f3f4f6;
border: 1px solid #d1d5db;
color: #374151;
padding: 5px 14px;
border-radius: 5px;
font-size: 13px;
transition: background 0.15s;
}
.btnEdit:hover {
background: #e5e7eb;
}
.btnDelete {
background: #fee2e2;
border: 1px solid #fca5a5;
color: #dc2626;
padding: 5px 14px;
border-radius: 5px;
font-size: 13px;
transition: background 0.15s;
}
.btnDelete:hover {
background: #fecaca;
}
.btnSave {
background: #d1fae5;
border: 1px solid #6ee7b7;
color: #059669;
padding: 5px 14px;
border-radius: 5px;
font-size: 13px;
transition: background 0.15s;
}
.btnSave:hover:not(:disabled) {
background: #a7f3d0;
}
.btnCancel {
background: #f3f4f6;
border: 1px solid #d1d5db;
color: #6b7280;
padding: 5px 14px;
border-radius: 5px;
font-size: 13px;
}
.btnCancel:hover {
background: #e5e7eb;
}
.message {
text-align: center;
color: #6b7280;
padding: 24px;
}
.error {
color: #dc2626;
background: #fee2e2;
padding: 12px 16px;
border-radius: 6px;
margin-bottom: 16px;
}
.empty {
text-align: center;
color: #9ca3af;
padding: 32px;
}
.fieldLabel {
display: flex;
flex-direction: column;
gap: 4px;
font-size: 12px;
color: #6b7280;
font-weight: 500;
}
.fieldLabel .input {
min-width: 130px;
}
.expiryWarn {
color: #b45309;
font-weight: 600;
}
.badgeEtc {
display: inline-block;
background: #7c3aed;
color: #fff;
font-size: 11px;
font-weight: 700;
padding: 2px 7px;
border-radius: 4px;
letter-spacing: 0.04em;
}
.badgeStudless {
display: inline-block;
background: #0ea5e9;
color: #fff;
font-size: 11px;
font-weight: 700;
padding: 2px 7px;
border-radius: 4px;
letter-spacing: 0.03em;
}