body {
  background-color: #f1f5f9;
  color: #0f172a;
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01em;
}

.bg-primary-soft {
  background-color: rgba(79, 70, 229, 0.08) !important;
  color: #4f46e5 !important;
  border: 1px solid rgba(79, 70, 229, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.bg-success-soft {
  background-color: rgba(16, 185, 129, 0.08) !important;
  color: #10b981 !important;
  border: 1px solid rgba(16, 185, 129, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.bg-danger-soft {
  background-color: rgba(244, 63, 94, 0.08) !important;
  color: #f43f5e !important;
  border: 1px solid rgba(244, 63, 94, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.bg-info-soft {
  background-color: rgba(14, 165, 233, 0.08) !important;
  color: #0ea5e9 !important;
  border: 1px solid rgba(14, 165, 233, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.bg-warning-soft {
  background-color: rgba(245, 158, 11, 0.08) !important;
  color: #f59e0b !important;
  border: 1px solid rgba(245, 158, 11, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.bg-secondary-soft {
  background-color: rgba(100, 116, 139, 0.08) !important;
  color: #64748b !important;
  border: 1px solid rgba(100, 116, 139, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.bg-dark-soft {
  background-color: rgba(15, 23, 42, 0.08) !important;
  color: #0f172a !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.status-draft {
  background-color: rgba(100, 116, 139, 0.1) !important;
  color: #64748b !important;
  border: 1px solid rgba(100, 116, 139, 0.15) !important;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.35em 0.8em;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.status-sent {
  background-color: rgba(14, 165, 233, 0.1) !important;
  color: #0ea5e9 !important;
  border: 1px solid rgba(14, 165, 233, 0.15) !important;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.35em 0.8em;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.status-accepted {
  background-color: rgba(16, 185, 129, 0.1) !important;
  color: #10b981 !important;
  border: 1px solid rgba(16, 185, 129, 0.15) !important;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.35em 0.8em;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.status-paid {
  background-color: rgba(16, 185, 129, 0.1) !important;
  color: #10b981 !important;
  border: 1px solid rgba(16, 185, 129, 0.15) !important;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.35em 0.8em;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.status-rejected {
  background-color: rgba(244, 63, 94, 0.1) !important;
  color: #f43f5e !important;
  border: 1px solid rgba(244, 63, 94, 0.15) !important;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.35em 0.8em;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.status-overdue {
  background-color: rgba(244, 63, 94, 0.1) !important;
  color: #f43f5e !important;
  border: 1px solid rgba(244, 63, 94, 0.15) !important;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.35em 0.8em;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.status-cancelled {
  background-color: rgba(0, 0, 0, 0.1) !important;
  color: #000 !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.35em 0.8em;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.navbar {
  position: relative;
  background: radial-gradient(circle at center, #ffffff 0%, #f8fafc 100%) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.02) !important;
  padding: 0.65rem 1rem;
  position: relative;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  z-index: 10;
}
.navbar .container,
.navbar .container-fluid {
  position: relative;
  z-index: 5;
}
.navbar::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1.5px;
  opacity: 0.6;
  background: #0dcaf0;
  box-shadow: 0 1px 4px rgba(13, 202, 240, 0.15);
  z-index: 1;
}
.navbar .nav-link {
  color: #475569 !important;
  font-weight: 500;
  margin: 0 0.3rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 10px;
  display: flex;
  align-items: center;
}
.navbar .nav-link:hover:not(.active) {
  color: #0dcaf0 !important;
  background-color: rgba(13, 202, 240, 0.04);
  transform: translateY(-1px);
}
.navbar .nav-link.active {
  background-color: #4f46e5;
  color: white !important;
  box-shadow: 0 4px 8px rgba(79, 70, 229, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.3) !important;
  transform: translateY(0);
}
.navbar .btn-neumorph-info {
  background: #4f46e5;
  color: #fff !important;
  border: none;
  padding: 0.5rem 1.4rem !important;
  box-shadow: 0 4px 10px rgba(79, 70, 229, 0.2);
}
.navbar .btn-neumorph-info:hover {
  background: #3a30e2;
  box-shadow: 0 6px 15px rgba(79, 70, 229, 0.3);
  transform: translateY(-2px);
}

.navbar-brand {
  position: relative;
  z-index: 10 !important;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.navbar-brand span {
  color: #0f172a !important;
}
.navbar-brand .brand-color {
  color: #ce4545 !important;
}

.avatar-wrapper {
  box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.05), 1px 1px 2px rgba(255, 255, 255, 0.8);
  padding: 2px;
  border-radius: 50%;
  background-color: #fff;
}

.card {
  border: 1px solid rgba(100, 116, 139, 0.1);
  border-bottom: 3px solid rgba(100, 116, 139, 0.15);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 15px 30px -5px rgba(15, 23, 42, 0.15), inset 0 1px 0 #ffffff;
  background-color: #fff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-header {
  background-color: transparent;
  border-bottom: 1px solid rgba(100, 116, 139, 0.08);
  padding: 1.25rem;
}
.card.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 30px -10px rgba(15, 23, 42, 0.2);
}

.btn {
  border-radius: 8px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 600;
  padding: 0.65rem 1.3rem;
}
.btn:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), inset 0 1px 1px rgba(0, 0, 0, 0.05) !important;
}
.btn-primary {
  background: linear-gradient(180deg, #6961e9 0%, #4f46e5 100%);
  border: 1px solid #3a30e2;
  box-shadow: 0 4px 6px rgba(79, 70, 229, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  color: white;
}
.btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(79, 70, 229, 0.3);
  color: white;
}
.btn-info {
  background: linear-gradient(180deg, #32d3f4 0%, #0dcaf0 100%);
  border: 1px solid #0cb6d8;
  box-shadow: 0 4px 6px rgba(13, 202, 240, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  color: white;
}
.btn-info:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(13, 202, 240, 0.3);
  color: white;
}

.table-hover tbody tr:hover {
  background-color: rgba(79, 70, 229, 0.02);
}

.th-sortable:hover {
  color: #ce4545 !important;
}
.th-sortable:hover svg {
  transform: translateY(-1px);
  opacity: 1 !important;
}

.form-control,
.form-select {
  border: 1px solid rgba(100, 116, 139, 0.2);
  border-radius: 8px;
  padding: 0.6rem 1rem;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: all 0.2s ease;
}
.form-control:focus,
.form-select:focus {
  border-color: #4f46e5;
  box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1), inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

.quote-line-item {
  display: grid;
  grid-template-columns: 2.5fr 1fr 1fr 1fr 45px;
  gap: 15px;
  align-items: center;
  padding: 15px;
  background: #fff;
  border-radius: 12px;
  margin-bottom: 10px;
  border: 1px solid rgba(100, 116, 139, 0.1);
  border-bottom: 3px solid rgba(100, 116, 139, 0.12);
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.08);
  transition: all 0.2s ease;
}
.quote-line-item:hover {
  border-color: rgba(79, 70, 229, 0.3);
  transform: scale(1.005);
}

.footer {
  background-color: #1a2332 !important;
  color: rgba(255, 255, 255, 0.7);
  padding: 4rem 0 2rem;
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.03), inset -1px -1px 3px rgba(0, 0, 0, 0.2), 5px 5px 15px rgba(0, 0, 0, 0.3);
}
.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(13, 202, 240, 0.2);
}
.footer .footer-title {
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1.25rem;
}
.footer .footer-link {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
}
.footer .footer-link:hover {
  color: #0dcaf0;
  transform: translateX(3px);
}
.footer .footer-icon {
  color: rgba(13, 202, 240, 0.7);
  width: 16px;
  height: 16px;
}
.footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  margin-top: 3rem;
  padding-top: 2rem;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
}

.login-page {
  display: flex;
  min-height: 100vh;
  background-color: #f1f5f9;
}

.login-left {
  background: radial-gradient(circle at center, #2d3a4f 0%, #111b27 100%) !important;
  color: #fff;
  padding: 4rem;
  position: relative;
  overflow: hidden;
  box-shadow: inset 10px 0 30px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.login-left::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #0dcaf0;
  box-shadow: 0 -2px 15px rgba(13, 202, 240, 0.6);
}
.login-left .icon-huge {
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 2rem;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.3));
}
.login-left .pitch-title {
  font-weight: 800;
  letter-spacing: -1px;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}
.login-left .pitch-list {
  margin-top: 3rem;
}
.login-left .pitch-list .pitch-item {
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
}
.login-left .pitch-list .pitch-item .pitch-icon {
  color: #0dcaf0;
  width: 20px;
  height: 20px;
  filter: drop-shadow(0 0 5px rgba(13, 202, 240, 0.4));
}

.login-right {
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
}
.login-right .form-card {
  background-color: #ffffff;
  border-radius: 16px;
  padding: 4rem;
  width: 100%;
  max-width: 500px;
  border: 1px solid rgba(0, 0, 0, 0.03);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 15px 30px -5px rgba(15, 23, 42, 0.15), inset 0 1px 0 #ffffff;
  transition: transform 0.3s ease;
}
.login-right .form-card:hover {
  transform: translateY(-5px);
}
.login-right .form-title {
  color: #0f172a;
  font-weight: 800;
  margin-bottom: 1rem;
}
.login-right .form-label {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.6);
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.login-right .form-control {
  border: 1px solid rgba(100, 116, 139, 0.15);
  border-radius: 8px;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  font-size: 0.95rem;
  color: #0f172a;
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.04), inset -1px -1px 2px rgba(255, 255, 255, 0.8);
  transition: all 0.2s ease;
}
.login-right .form-control:focus {
  border-color: #0dcaf0;
  box-shadow: 0 0 0 4px rgba(13, 202, 240, 0.15), inset 2px 2px 4px rgba(0, 0, 0, 0.04), inset -1px -1px 2px rgba(255, 255, 255, 0.8);
  background-color: #fff;
}
.login-right .form-control::placeholder {
  color: rgba(15, 23, 42, 0.3);
}
.login-right .forgot-link {
  color: #0dcaf0;
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.2s;
}
.login-right .forgot-link:hover {
  color: #0ea5e9;
}
.login-right .btn-login {
  background: linear-gradient(180deg, #23d0f3 0%, #0dcaf0 100%);
  color: #fff !important;
  border: none;
  border-radius: 12px;
  font-weight: 700;
  padding: 0.85rem;
  width: 100%;
  font-size: 1rem;
  box-shadow: 0 5px 15px rgba(13, 202, 240, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}
.login-right .btn-login:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(13, 202, 240, 0.4);
}
.login-right .btn-login:active {
  transform: translateY(1px);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2) !important;
}
.login-right .form-check-input {
  border-color: rgba(15, 23, 42, 0.2);
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.04), inset -1px -1px 2px rgba(255, 255, 255, 0.8);
}
.login-right .form-check-input:checked {
  background-color: #0dcaf0;
  border-color: #0dcaf0;
  box-shadow: 0 0 0 3px rgba(13, 202, 240, 0.2);
}
.login-right .footer-link {
  color: #0dcaf0;
  font-weight: 600;
  text-decoration: none;
}
.login-right .footer-link:hover {
  text-decoration: underline;
}

@keyframes pulse-soft {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.02);
    opacity: 0.9;
  }
}
.animate-pulse {
  animation: pulse-soft 2s infinite;
}

/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../assets/styles/app.scss%22,%22../../assets/styles/_variables.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAMA;EACI,kBCUM;EDTN,OCGG;EDFH;EACA;EACA;;;AAWA;EACI;EACA;EACA;EACA;;;AAJJ;EACI;EACA;EACA;EACA;;;AAJJ;EACI;EACA;EACA;EACA;;;AAJJ;EACI;EACA;EACA;EACA;;;AAJJ;EACI;EACA;EACA;EACA;;;AAJJ;EACI;EACA;EACA;EACA;;;AAJJ;EACI;EACA;EACA;EACA;;;AAeJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AARJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AARJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AARJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AARJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AARJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AARJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AASR;EACI;EACA;EACA;EACA;EACA;EACA,YCgBe;EDff;;AAEA;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YCnEE;EDoEF;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EAEI,kBCnGF;EDoGE;EACA,YACI;EAEJ;;AAKR;EAEI,YC/GE;EDgHF;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;;AAGA;EACI;;AAGJ;EACI;;;AAKR;EACI;EACA;EACA;EACA;;;AAIJ;EACI;EACA;EACA,eC1He;ED2Hf,YCtGiB;EDuGjB;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;;AAOR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI,YC/IW;EDgJX;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI,YC5JQ;ED6JR;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;;AAMZ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAOR;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI,cChPE;EDiPF;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YC5MU;ED6MV;;AAEA;EACI;EACA;;;AAuBR;EACI;EACA,OAnBU;EAoBV;EACA;EACA;EAGA,YApBmB;;AAuBnB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI,OAlDM;EAmDN;EACA;EACA;EACA;EACA;;AAEA;EACI,OAzDQ;EA0DR;;AAKR;EACI;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA,kBClVM;;;ADqVV;EAEI;EACA;EACA;EACA;EACA;EAGA,YACI;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,YC7WE;ED8WF;;AAIJ;EACI;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAIJ;EACI;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI,OC5YN;ED6YM;EACA;EACA;;;AAMhB;EACI;EACA;EACA;EACA;EACA;;AAGA;EACI;EACA,eCvYW;EDwYX;EACA;EACA;EACA;EAGA,YC5Va;ED8Vb;;AAEA;EACI;;AAKR;EACI,OCpbD;EDqbC;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA,OC1cD;ED6cC,YCzXa;ED2Xb;;AAEA;EACI,cC/cF;EDgdE;EACA;;AAGJ;EACI;;AAKR;EACI,OC3dE;ED4dF;EACA;EACA;EACA;;AAEA;EACI,OCxeL;;AD6eH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA,YACI;EAGJ;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAKR;EACI;EACA,YCtba;;ADwbb;EACI,kBC1gBF;ED2gBE,cC3gBF;ED4gBE;;AAKR;EACI,OClhBE;EDmhBF;EACA;;AAEA;EACI;;;AAQZ;EAEI;IAEI;IACA;;EAGJ;IACI;IACA;;;AAIR;EACI%22,%22file%22:%22app.output.css%22%7D */
