Files
medi-wol/web/static/style.css

322 lines
6.1 KiB
CSS
Raw 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.

/* Custom Styles für Medi-WOL angepasst an medisoftware.de */
:root {
--brand-primary: #0b6fb3; /* inspiriert von medisoftware.de */
--brand-primary-dark: #08588e;
--brand-accent: #1f7ec9;
}
body {
background-color: #f5f8fb;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.app-header {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
color: #fff;
border-radius: 12px;
padding: 16px 20px;
display: flex;
align-items: center;
gap: 16px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.app-header img {
height: 48px;
}
.app-header h1 {
font-size: 1.5rem;
margin: 0;
}
.card {
border: none;
border-radius: 15px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.2s ease-in-out;
}
.card:hover {
transform: translateY(-2px);
}
.card-header {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
color: white;
border-radius: 15px 15px 0 0 !important;
border: none;
}
.btn {
border-radius: 25px;
padding: 8px 20px;
font-weight: 500;
transition: all 0.3s ease;
}
.btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.btn-primary {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
border: none;
}
.btn-success {
background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%);
border: none;
}
.btn-danger {
background: linear-gradient(135deg, #ff416c 0%, #ff4b2b 100%);
border: none;
}
.btn-warning {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
border: none;
}
.table {
border-radius: 10px;
overflow: hidden;
}
.table thead th {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
color: white;
border: none;
font-weight: 600;
}
.table tbody tr {
transition: background-color 0.2s ease;
}
.table tbody tr:hover {
background-color: #f8f9fa;
}
.form-control {
border-radius: 10px;
border: 2px solid #e9ecef;
transition: border-color 0.3s ease;
}
.form-control:focus {
border-color: var(--brand-primary);
box-shadow: 0 0 0 0.2rem rgba(11, 111, 179, 0.25);
}
.toast {
border-radius: 15px;
border: none;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.toast-header {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
color: white;
border-radius: 15px 15px 0 0;
}
.btn-close {
filter: invert(1);
}
/* Animationen */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.card {
animation: fadeIn 0.5s ease-out;
}
/* Responsive Design */
@media (max-width: 768px) {
.container {
padding: 0 15px;
}
.btn {
width: 100%;
margin-bottom: 10px;
}
.table-responsive {
font-size: 0.9rem;
}
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}
/* Navigation */
.navbar {
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.navbar-nav .nav-link {
color: var(--brand-primary) !important;
font-weight: 500;
padding: 10px 20px;
border-radius: 25px;
transition: all 0.3s ease;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
color: white !important;
transform: translateY(-1px);
}
/* Logs-Seite */
.logs-container {
position: relative;
min-height: 400px;
}
.logs-table-container {
background: white;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.logs-table {
margin: 0;
width: 100%;
}
.logs-table th {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
color: white;
border: none;
padding: 15px;
font-weight: 600;
text-align: left;
}
.logs-table td {
padding: 12px 15px;
border-bottom: 1px solid #e9ecef;
vertical-align: middle;
}
.logs-table tbody tr:hover {
background-color: #f8f9fa;
}
.loading {
text-align: center;
padding: 40px;
color: var(--brand-primary);
}
.spinner {
border: 4px solid #f3f3f3;
border-top: 4px solid var(--brand-primary);
border-radius: 50%;
width: 40px;
height: 40px;
animation: spin 1s linear infinite;
margin: 0 auto 20px;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.no-logs {
text-align: center;
padding: 40px;
color: #6c757d;
}
.error {
color: #dc3545;
font-weight: 500;
}
/* Verbesserte Tooltips */
.tooltip {
font-size: 0.875rem;
}
.tooltip-inner {
background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
color: white;
border-radius: 8px;
padding: 8px 12px;
max-width: 300px;
text-align: left;
}
.tooltip-arrow::before {
border-top-color: var(--brand-primary) !important;
}
/* Autostart-Checkbox Styling - vereinfacht */
.form-check {
display: flex;
align-items: center;
min-height: 38px; /* Gleiche Höhe wie form-control */
}
/* Spezifische Ausrichtung für die Autostart-Zeile */
.row .col-md-6 .form-check {
height: 38px;
display: flex;
align-items: center;
}
/* Mehr Abstand zwischen Checkbox und Label */
.form-check-input[type="checkbox"] {
margin-right: 0.5em; /* Erhöhter Abstand zur Checkbox */
}
.form-check-label {
margin-left: 0.5em; /* Zusätzlicher Abstand zum Label */
}
/* Content Header */
.content-header {
text-align: center;
margin-bottom: 30px;
}
.content-header h2 {
color: var(--brand-primary);
margin-bottom: 10px;
}
.content-header p {
color: #6c757d;
font-size: 1.1rem;
}