/* Custom CSS for LINE OA Management System - Blue & White Theme */

/* Global Styles */
body {
  font-family: 'Sarabun', sans-serif !important;
}

/* Login Page */
.login-page {
  background: linear-gradient(135deg, #e3f2fd 0%, #ffffff 100%);
}

.login-box .card {
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.login-box .card-header {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  color: white;
  border-radius: 10px 10px 0 0 !important;
  padding: 2rem 1rem;
}

.login-box .card-header h1 {
  margin: 0;
  font-weight: 600;
}

.login-box .btn-primary {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  border: none;
  padding: 0.75rem;
  font-weight: 500;
  border-radius: 5px;
}

.login-box .btn-primary:hover {
  background: linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(79, 172, 254, 0.3);
  transition: all 0.3s ease;
}

/* Sidebar */
.main-sidebar {
  background: #ffffff !important;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.05);
}

.sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%) !important;
  color: white !important;
  border-radius: 5px;
  margin: 2px 8px;
}

.sidebar-light-primary .nav-sidebar > .nav-item > .nav-link {
  color: #333;
  margin: 2px 8px;
  border-radius: 5px;
}

.sidebar-light-primary .nav-sidebar > .nav-item > .nav-link:hover {
  background: rgba(79, 172, 254, 0.1) !important;
  color: #4facfe !important;
}

.brand-link {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%) !important;
  color: white !important;
  font-weight: 600;
  border-bottom: none !important;
  text-align: center;
}

/* Navbar */
.main-header.navbar {
  background: white !important;
  border-bottom: 1px solid #e3e6f0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

/* Cards */
.card {
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e3e6f0;
}

.card-header {
  background: linear-gradient(135deg, #f8f9fc 0%, #e3e6f0 100%);
  border-bottom: 1px solid #e3e6f0;
  border-radius: 10px 10px 0 0 !important;
  font-weight: 600;
}

/* Small Boxes (Dashboard Stats) */
.small-box {
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.small-box.bg-info {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%) !important;
}

.small-box.bg-success {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%) !important;
}

.small-box.bg-warning {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%) !important;
}

.small-box.bg-primary {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%) !important;
}

.small-box .icon {
  opacity: 0.3;
}

.small-box:hover {
  transform: translateY(-5px);
  transition: all 0.3s ease;
}

/* Buttons */
.btn-primary {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  border: none;
  border-radius: 5px;
  font-weight: 500;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(79, 172, 254, 0.3);
  transition: all 0.3s ease;
}

.btn-success {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
  border: none;
  border-radius: 5px;
}

.btn-success:hover {
  background: linear-gradient(135deg, #38f9d7 0%, #43e97b 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(67, 233, 123, 0.3);
  transition: all 0.3s ease;
}

.btn-warning {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  border: none;
  border-radius: 5px;
  color: white;
}

.btn-warning:hover {
  background: linear-gradient(135deg, #fee140 0%, #fa709a 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(250, 112, 154, 0.3);
  transition: all 0.3s ease;
  color: white;
}

.btn-info {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  border: none;
  border-radius: 5px;
}

.btn-danger {
  border-radius: 5px;
}

/* Tables */
.table {
  border-radius: 5px;
}

.table thead th {
  background: linear-gradient(135deg, #f8f9fc 0%, #e3e6f0 100%);
  border: none;
  font-weight: 600;
  color: #333;
}

.table-hover tbody tr:hover {
  background: rgba(79, 172, 254, 0.05);
}

/* Badges */
.badge-primary {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.badge-success {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

.badge-info {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

/* Forms */
.form-control:focus {
  border-color: #4facfe;
  box-shadow: 0 0 0 0.2rem rgba(79, 172, 254, 0.25);
}

/* Alerts */
.alert {
  border-radius: 10px;
  border: none;
}

.alert-success {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
  color: white;
}

.alert-danger {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  color: white;
}

.alert-info {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  color: white;
}

.alert-warning {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  color: white;
}

/* Footer */
.main-footer {
  background: white;
  border-top: 1px solid #e3e6f0;
}

/* User Panel */
.user-panel {
  border-bottom: 1px solid #e3e6f0;
}

/* Content Wrapper */
.content-wrapper {
  background: linear-gradient(135deg, #f8f9fc 0%, #ffffff 100%);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);
}
