314 lines
6.1 KiB
CSS

/* FavMasToKey - Thème sombre */
:root {
--bg-dark: #121212;
--bg-card: #1e1e1e;
--bg-input: #2a2a2a;
--text-primary: #e0e0e0;
--text-secondary: #b0b0b0;
--text-muted: #8a8a8a;
--primary-color: #7e57c2;
--primary-hover: #9575cd;
--success-color: #4caf50;
--info-color: #29b6f6;
--warning-color: #ffb74d;
--danger-color: #f44336;
--border-color: #333333;
--card-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}
body {
background-color: var(--bg-dark);
color: var(--text-primary);
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
}
.container {
max-width: 900px;
}
h1, h2, h3, h4, h5, h6 {
color: var(--text-primary);
margin-bottom: 0.5rem;
}
h1 {
color: var(--primary-color);
}
p {
color: var(--text-secondary);
}
/* Cards */
.card {
background-color: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: 10px;
box-shadow: var(--card-shadow);
overflow: hidden;
}
.card-title {
color: var(--primary-color);
border-bottom: 1px solid var(--border-color);
padding-bottom: 1rem;
margin-bottom: 1.5rem;
}
.card-body {
color: var(--text-primary);
}
/* Form elements */
.form-control, .form-select {
background-color: var(--bg-input);
border: 1px solid var(--border-color);
color: var(--text-primary);
}
.form-control:focus, .form-select:focus {
background-color: var(--bg-input);
border-color: var(--primary-color);
box-shadow: 0 0 0 0.25rem rgba(126, 87, 194, 0.25);
color: var(--text-primary);
}
.form-control::placeholder {
color: var(--text-muted);
}
.form-text {
color: var(--text-muted);
}
/* Toggle switch pour le mode lent */
.form-check-input {
background-color: var(--border-color);
border-color: var(--border-color);
}
.form-check-input:checked {
background-color: var(--primary-color);
border-color: var(--primary-color);
}
.form-switch .form-check-input:focus {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%237e57c2'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
/* Range slider pour le délai */
.form-range {
background-color: transparent;
}
.form-range::-webkit-slider-thumb {
background: var(--primary-color);
}
.form-range::-moz-range-thumb {
background: var(--primary-color);
}
.form-range::-webkit-slider-runnable-track {
background-color: var(--border-color);
}
.form-range::-moz-range-track {
background-color: var(--border-color);
}
/* Buttons */
.btn-primary {
background-color: var(--primary-color);
border-color: var(--primary-color);
}
.btn-primary:hover, .btn-primary:focus {
background-color: var(--primary-hover);
border-color: var(--primary-hover);
}
.btn-outline-primary {
color: var(--primary-color);
border-color: var(--primary-color);
}
.btn-outline-primary:hover {
background-color: var(--primary-color);
border-color: var(--primary-color);
color: white;
}
.btn-link {
color: var(--primary-color);
}
.btn-warning {
background-color: var(--warning-color);
border-color: var(--warning-color);
color: #212529;
}
.btn-danger {
background-color: var(--danger-color);
border-color: var(--danger-color);
}
/* Alerts */
.alert {
border-radius: 8px;
border: none;
}
.alert-info {
background-color: rgba(41, 182, 246, 0.2);
color: var(--info-color);
border-left: 4px solid var(--info-color);
}
.alert-success {
background-color: rgba(76, 175, 80, 0.2);
color: var(--success-color);
border-left: 4px solid var(--success-color);
}
.alert-warning {
background-color: rgba(255, 183, 77, 0.2);
color: var(--warning-color);
border-left: 4px solid var(--warning-color);
}
.alert-danger {
background-color: rgba(244, 67, 54, 0.2);
color: var(--danger-color);
border-left: 4px solid var(--danger-color);
}
/* Progress bars */
.progress {
background-color: var(--border-color);
border-radius: 10px;
height: 15px;
overflow: hidden;
}
.progress-bar {
background-color: var(--primary-color);
border-radius: 10px;
}
.progress-bar.bg-info {
background-color: var(--info-color) !important;
}
/* Log container */
#log-container {
background-color: #1a1a1a;
border: 1px solid var(--border-color);
border-radius: 5px;
font-family: 'Courier New', monospace;
font-size: 0.85rem;
padding: 10px;
max-height: 200px;
overflow-y: auto;
}
#operation-log .log-entry {
margin-bottom: 0.5rem;
padding: 2px 5px;
border-radius: 3px;
}
#operation-log .success {
color: var(--success-color);
}
#operation-log .error {
color: var(--danger-color);
}
#operation-log .info {
color: var(--info-color);
}
#operation-log .warning {
color: var(--warning-color);
}
/* Background for help sections */
.bg-light {
background-color: #2a2a2a !important;
color: var(--text-secondary);
}
.step {
transition: all 0.3s ease;
}
/* Animations */
@keyframes progress-pulse {
0% { opacity: 1; }
50% { opacity: 0.7; }
100% { opacity: 1; }
}
.progress-bar.active {
animation: progress-pulse 2s infinite;
}
/* Customizing Bootstrap components */
.list-group-item {
background-color: var(--bg-card);
border-color: var(--border-color);
color: var(--text-primary);
}
.table {
color: var(--text-primary);
}
.table-dark {
--bs-table-bg: var(--bg-card);
--bs-table-striped-bg: #2a2a2a;
--bs-table-border-color: var(--border-color);
}
/* Scrollbar styling */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: var(--bg-card);
}
::-webkit-scrollbar-thumb {
background: #555;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #777;
}
/* Responsive adjustments */
@media (max-width: 768px) {
.container {
padding: 1rem;
}
.card-body {
padding: 1.25rem;
}
h1 {
font-size: 2rem;
}
}