Files

355 lines
6.9 KiB
CSS

body, html {
margin: 0;
padding: 0;
font-family: 'OpenSans', Arial, sans-serif;
font-weight: 300;
color: white;
width: 100%;
height: 100%;
background-image: url('/static/images/background.jpg');
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
overflow-y: auto;
}
h4 {
color: #ffffff;
font-weight: 600;
margin-bottom: 1.5rem;
border-bottom: 2px solid rgba(74, 71, 163, 0.5);
padding-bottom: 0.5rem;
}
.config-container {
margin: 2% auto;
padding: 2%;
background: rgba(0, 0, 0, 0.85);
border-radius: 10px;
max-height: 95vh;
overflow-y: auto;
transition: padding 0.3s ease;
}
.torrent-sources-wrapper {
position: relative;
width: 100%;
height: 0;
/* Increase padding-bottom for taller chart */
padding-bottom: 80%; /* Increased from 50% to give more vertical space */
}
.torrent-sources-wrapper canvas {
position: absolute;
width: 100% !important;
height: 100% !important;
}
.chart-section {
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
padding: 20px;
margin-bottom: 30px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.chart-section:hover {
transform: translateY(-5px);
}
.week-selector {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
margin: 20px 0;
padding: 10px;
background: rgba(74, 71, 163, 0.2);
border-radius: 8px;
}
.week-selector button {
background: #4a47a3;
color: white;
border: none;
padding: 8px 16px;
border-radius: 6px;
font-size: 0.9rem;
cursor: pointer;
transition: all 0.3s ease;
min-width: 130px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.week-selector button:hover {
background: #5b58b4;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.week-selector button:active {
transform: translateY(0);
}
.week-selector input[type="date"] {
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
color: white;
padding: 7px 14px;
border-radius: 6px;
font-size: 0.9rem;
min-width: 150px;
cursor: pointer;
transition: all 0.3s ease;
}
.week-selector input[type="date"]:hover {
background: rgba(255, 255, 255, 0.15);
border-color: rgba(255, 255, 255, 0.3);
}
.week-selector input[type="date"]:focus {
outline: none;
border-color: #4a47a3;
background: rgba(255, 255, 255, 0.2);
}
/* Style the calendar icon */
.week-selector input[type="date"]::-webkit-calendar-picker-indicator {
filter: invert(1);
opacity: 0.7;
cursor: pointer;
}
.week-selector input[type="date"]::-webkit-calendar-picker-indicator:hover {
opacity: 1;
}
.date-info {
background: rgba(74, 71, 163, 0.4);
color: white;
padding: 10px 20px;
border-radius: 6px;
text-align: center;
font-size: 1rem;
margin: 15px 0;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.chart-wrapper {
position: relative;
width: 100%;
height: 400px;
margin: 20px 0;
}
.chart-wrapper canvas {
position: absolute;
width: 100% !important;
height: 100% !important;
}
.chart-container {
padding: 1rem;
background: rgba(0, 0, 0, 0.37);
border-radius: 8px;
transition: margin-bottom 0.3s ease, padding 0.3s ease;
position: relative;
}
.logo {
max-width: 300px;
display: block;
margin: 0 auto 1.5rem;
}
.card {
background: linear-gradient(145deg, #4a47a3, #2d2a6a);
border: none;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.card:hover {
transform: translateY(-5px);
}
.card-text {
font-size: 1.5rem;
font-weight: bold;
}
.skeleton-loader {
width: 100%;
height: 20vh; /* Dynamic height based on viewport */
background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 25%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.1) 75%);
background-size: 200% 100%;
animation: skeleton-loading 1.5s infinite;
border-radius: 8px;
margin-bottom: 1rem;
}
@keyframes skeleton-loading {
0% {
background-position: 200% 0;
}
100% {
background-position: -200% 0;
}
}
.card-scheduler {
background: rgba(0, 0, 0, 0.37);
padding: 1rem;
border-radius: 8px;
margin: 1rem 0;
transition: background 0.3s ease;
}
.card-scheduler.enabled {
background: #4a47a3;
border-left: 5px solid #fff;
}
.card-scheduler.disabled {
background: #808080;
border-left: 5px solid #fff;
}
.card-scheduler.log-info {
border-left: 5px solid #4caf50; /* Green */
}
.card-scheduler.log-warning {
border-left: 5px solid #ffeb3b; /* Yellow */
}
.card-scheduler.log-error {
border-left: 5px solid #f44336; /* Red */
}
.scheduler-section {
margin-bottom: 30px;
}
.scheduler-section h5 {
margin-bottom: 15px;
}
.section-divider {
border: 0;
height: 2px;
background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(74, 71, 163, 0.75), rgba(0, 0, 0, 0));
margin-bottom: 1rem;
}
.btn, button {
border: none;
outline: none;
color: white;
background: #4a47a3;
padding: 0.8rem 1.5rem;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
text-align: center;
font-size: 1rem;
font-weight: 300;
cursor: pointer;
opacity: 0.9;
transition: all 0.3s ease;
}
.btn:hover, button:hover {
opacity: 1;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.form-check-input:checked + .form-check-label {
background: #4a47a3;
border-color: #4a47a3;
color: white;
position: relative;
}
.large-number {
font-size: 1.5rem;
font-weight: bold;
margin-bottom: 0;
}
@media (max-width: 768px) {
.chart-wrapper {
height: 300px;
}
.chart-section {
padding: 15px;
margin-bottom: 20px;
}
.card-text {
font-size: 1.2rem;
}
.config-container {
padding: 10px;
}
.chart-container {
margin-bottom: 15px;
padding: 10px;
}
.week-selector {
flex-direction: column;
gap: 8px;
}
.week-selector button,
.week-selector input[type="date"] {
width: 100%;
min-width: unset;
}
h3 {
font-size: 1.2rem;
}
.torrent-sources-wrapper {
padding-bottom: 60%; /* Slightly smaller for larger screens */
}
}
@media (min-width: 769px) and (max-width: 1200px) {
.config-container {
padding: 30px;
}
.chart-container {
margin-bottom: 20px;
padding: 20px;
}
h3 {
font-size: 1.4rem;
}
}
@media (min-width: 1201px) {
.config-container {
padding: 50px;
}
.chart-container {
margin-bottom: 30px;
padding: 30px;
}
h3 {
font-size: 1.6rem;
}
}