/* Chavill backend-owned CSS chunk: 93a41de00e82f453.css; version: 1.0.0-105db2c98093 */
/* Chavill CSS chunk 6: 93a41de00e82f453.css */

.panel {
  align-items: start;
}

.panel .side {
  position: sticky;
  top: 96px;
  border-radius: 28px;
}

.side a {
  margin-bottom: 4px;
  font-weight: 700;
}

.side a.active {
  box-shadow: inset 4px 0 0 #0a8062, 0 8px 20px #0a806210;
}

.table-wrap,
.table {
  border-radius: 20px;
  overflow: hidden;
}

.table th {
  background: #f1f8f5;
  color: var(--ch-primary);
  font-weight: 800;
}

.table tr {
  transition: background .16s ease;
}

.table tr:hover td {
  background: #fbfdfc;
}

#adminEditor .card,
#admin > .card,
.panel-section {
  animation: softIn .28s ease both;
}

@keyframes softIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.admin-ticket-shell,
.support-chat,
.invoice-card {
  box-shadow: var(--ch-shadow-md);
}

.support-chat-header {
  background: linear-gradient(135deg, #0a8062, #12a87e 58%, #12a87e);
  box-shadow: inset 0 1px 0 #ffffff24, 0 18px 38px #0a806224;
}

.chat-message {
  border: 1px solid #dcebe5;
}

.chat-message.from-admin {
  border-color: #0a8062;
}

.support-reply-form {
  box-shadow: inset 0 0 0 1px #f7fcfa, 0 10px 28px #1238270a;
}

.cart-tabs {
  position: sticky;
  top: 90px;
  z-index: 3;
  border: 1px solid #e8f1ed;
  border-radius: 22px;
  padding: 8px;
  background: #ffffffd9;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: var(--ch-shadow-sm);
}

.cart-item {
  transition: transform .18s ease, box-shadow .18s ease;
}

.cart-item:hover {
  transform: translateX(-3px);
  box-shadow: var(--ch-shadow-md);
}

.invoice-card {
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #0a806244, #12a87e22, #e8f1ed) border-box;
  border: 1px solid transparent;
}

.invoice-header .brand {
  font-size: 34px;
}

.toast {
  box-shadow: 0 18px 50px #1d312930;
  animation: toastIn .18s ease both;
}

@keyframes toastIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.footer {
  background:
    radial-gradient(circle at 12% 18%, rgba(18, 168, 126, .07), transparent 300px),
    linear-gradient(180deg, #ffffff, #f4faf7);
}

.footer a {
  color: #64736c;
  opacity: 1;
  transition: color .18s ease;
}

.footer a:hover {
  color: #0a8062;
}

@media (max-width: 1024px) {
  .product-filters,
  .panel .side,
  .cart-tabs {
    position: relative;
    top: auto;
  }

  .nav {
    border-radius: 0 0 22px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Elegant refinement pass: calmer motion, no button glare, RTL-correct active rails, softer lines. */
body::before {
  background-image:
    linear-gradient(#0a806204 1px, transparent 1px),
    linear-gradient(90deg, #0a806204 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: .72;
}

.btn::before {
  display: none;
}

.btn:hover::before {
  transform: none;
}

.btn {
  isolation: isolate;
}

.btn:hover {
  filter: saturate(1.02);
}

.side a.active {
  box-shadow: inset -4px 0 0 #0a8062, 0 8px 20px #0a806210;
}

.side a {
  border: 1px solid transparent;
}

.side a.active,
.side a:hover {
  border-color: #d7ebe2;
}

.nav,
.card,
.input,
select,
textarea,
.btn.ghost,
.table td,
.table th,
.cart-tabs,
.product-filters,
.pretty-confirm,
.invoice-parties > div,
.invoice-summary,
.support-reply-form,
.admin-ticket-list-item,
.notification-card {
  border-color: #e5efea;
}

.card {
  box-shadow: 0 12px 34px #1238270a;
}

.card:hover {
  box-shadow: 0 18px 46px #12382711;
}

.nav {
  box-shadow: 0 10px 30px #12382708;
}

.brand::after,
.section-title h2::after,
.section > h1::after {
  height: 3px;
  opacity: .85;
}

.links a {
  position: relative;
  border-radius: 999px;
  padding: 7px 2px;
}

.links a::after {
  content: '';
  position: absolute;
  right: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: #0a8062;
  opacity: .55;
  transition: width .2s ease, right .2s ease;
}

.links a:hover::after {
  right: 0;
  width: 100%;
}

.product.card {
  border-radius: 26px;
}

.product.card:hover {
  transform: translateY(-4px);
}

.product-image-link img {
  filter: saturate(.98) contrast(1.01);
}

.product-image-link:hover img {
  transform: scale(1.025);
}

/* Admin edit form: a plain text field with its own caption and hint (used by
   the user-edit form for full name and username, so the layout matches the
   select and checkbox rows around it). */
.admin-plain-field {
  display: grid;
  gap: 6px;
}
.admin-plain-field > span {
  color: #354841;
  font-size: .84rem;
  font-weight: 800;
}
.admin-plain-field > small {
  line-height: 1.7;
}
