JRNET / static /css /style.css
Factor Studios
Upload 96 files
6a5b8d8 verified
/* Custom styles for Outline VPN */
/* Global styles */
body {
min-height: 100vh;
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
/* Card styles */
.card {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: transform 0.2s ease-in-out;
}
.card:hover {
transform: translateY(-2px);
}
/* Dashboard stats cards */
.stats-card {
border-radius: 10px;
border: none;
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}
.stats-card .card-title {
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* Navigation */
.navbar {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.navbar-brand {
font-weight: bold;
letter-spacing: 0.5px;
}
/* Forms */
.form-control:focus {
border-color: #0d6efd;
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
/* Buttons */
.btn {
border-radius: 5px;
padding: 0.5rem 1.5rem;
transition: all 0.2s ease-in-out;
}
.btn-primary {
background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
border: none;
}
.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(13, 110, 253, 0.2);
}
/* Footer */
.footer {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
margin-top: auto;
}
/* Dashboard chart container */
.chart-container {
position: relative;
height: 300px;
width: 100%;
}
/* Status badges */
.badge {
padding: 0.5em 1em;
font-weight: 500;
letter-spacing: 0.5px;
}
/* Quick setup guide */
.list-group-numbered {
counter-reset: section;
}
.list-group-numbered > .list-group-item {
display: flex;
align-items: center;
}
.list-group-numbered > .list-group-item::before {
content: counter(section);
counter-increment: section;
background-color: #e9ecef;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 1rem;
font-size: 0.875rem;
font-weight: 500;
}
/* Loading spinner */
.spinner-border-sm {
width: 1rem;
height: 1rem;
border-width: 0.2em;
}
/* Responsive adjustments */
@media (max-width: 768px) {
.card {
margin-bottom: 1rem;
}
.btn {
width: 100%;
margin-bottom: 0.5rem;
}
}