@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Open+Sans:wght@400;500;600;700&family=Poiret+One&family=Poppins:wght@400;500;600&family=Roboto:wght@400;500;700&display=swap");

:root {
  --deco-tyrian: #66023c;
  --deco-tyrian-deep: #4a0129;
  --deco-tyrian-dark: #320019;
  --deco-ink: #220012;
  --deco-gold: #d4af37;
  --deco-gold-soft: #c5a028;
  --deco-gold-pale: #e8d08a;
  --deco-ivory: #f5efe0;
  --deco-oxblood: #8a1e3c;
  --deco-emerald: #1f5c4a;
  --deco-shadow: 0 30px 70px rgba(0, 0, 0, 0.48);
}

* {
  box-sizing: border-box;
}

::selection {
  color: var(--deco-tyrian-dark);
  background: var(--deco-gold-pale);
}

/* User-authored login direction, integrated with the live form */
body.refined-deco-login {
  display: flex !important;
  width: 100%;
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
  padding: 32px 20px;
  color: var(--deco-ivory);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(212, 175, 55, 0.1), transparent 55%),
    radial-gradient(ellipse at 50% 100%, rgba(74, 1, 41, 0.6), transparent 60%),
    linear-gradient(160deg, var(--deco-tyrian-dark) 0%, var(--deco-tyrian-deep) 45%, var(--deco-tyrian) 100%);
  background-attachment: fixed;
  font-family: "Cormorant Garamond", Georgia, serif;
}

.deco-login-stage {
  display: block;
  width: min(100%, 590px);
}

.deco-book-portrait {
  position: relative;
  width: min(210px, 68%);
  margin: 34px auto 0;
  padding: 12px;
  border: 1px solid rgba(212, 175, 55, 0.72);
  background: rgba(50, 0, 25, 0.72);
  box-shadow:
    0 0 0 5px var(--deco-tyrian-dark),
    0 0 0 6px rgba(197, 160, 40, 0.62),
    0 26px 58px rgba(0, 0, 0, 0.42);
}

.deco-book-portrait::before,
.deco-book-portrait::after {
  position: absolute;
  width: 22px;
  height: 22px;
  border: 1px solid var(--deco-gold);
  content: "";
  z-index: 1;
}

.deco-book-portrait::before {
  top: 20px;
  left: 20px;
  border-right: 0;
  border-bottom: 0;
}

.deco-book-portrait::after {
  right: 20px;
  bottom: 20px;
  border-top: 0;
  border-left: 0;
}

.deco-book-portrait img {
  display: block;
  width: 100%;
  aspect-ratio: 448 / 600;
  border: 1px solid rgba(232, 208, 138, 0.5);
  object-fit: cover;
}

.deco-login-card {
  position: relative;
  display: block;
  width: 100%;
  max-width: 590px;
  margin: 0;
  padding: 48px 52px 42px;
  border: 1px solid var(--deco-gold-soft);
  background: linear-gradient(165deg, rgba(74, 1, 41, 0.55), rgba(50, 0, 25, 0.75));
  box-shadow:
    0 0 0 5px var(--deco-tyrian-dark),
    0 0 0 6px var(--deco-gold-soft),
    var(--deco-shadow);
}

.deco-login-card::before,
.deco-login-card::after {
  position: absolute;
  width: 26px;
  height: 26px;
  border: 2px solid var(--deco-gold);
  content: "";
}

.deco-login-card::before {
  top: 14px;
  left: 14px;
  border-right: 0;
  border-bottom: 0;
}

.deco-login-card::after {
  right: 14px;
  bottom: 14px;
  border-top: 0;
  border-left: 0;
}

.deco-crest {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}

.deco-dog-crest {
  display: block;
  width: 168px;
  height: 168px;
  border: 1px solid var(--deco-gold);
  border-radius: 50%;
  box-shadow:
    0 0 0 5px var(--deco-tyrian-dark),
    0 0 0 6px var(--deco-gold-soft),
    0 12px 28px rgba(0, 0, 0, 0.34);
  object-fit: cover;
  object-position: 50% 48%;
  image-rendering: auto;
}

.deco-sunburst {
  width: 120px;
  height: 120px;
}

.deco-eyebrow {
  margin: 0 0 10px;
  color: var(--deco-gold-pale);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.42em;
  text-align: center;
  text-indent: 0.42em;
  text-transform: uppercase;
}

.deco-login-card h1 {
  margin: 0;
  color: var(--deco-gold);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.deco-rule {
  display: flex;
  margin: 18px 0 30px;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.deco-line {
  width: 64px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--deco-gold-soft));
}

.deco-line:last-child {
  background: linear-gradient(270deg, transparent, var(--deco-gold-soft));
}

.deco-diamond {
  width: 8px;
  height: 8px;
  background: var(--deco-gold);
  transform: rotate(45deg);
}

.deco-login-alert {
  display: flex;
  margin-bottom: 26px;
  padding: 13px 16px;
  align-items: center;
  gap: 10px;
  color: var(--deco-gold-pale);
  border: 1px solid var(--deco-oxblood);
  background: rgba(138, 30, 60, 0.28);
  font-size: 16px;
}

.deco-login-alert strong {
  color: var(--deco-gold);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.deco-alert-mark {
  display: flex;
  width: 20px;
  height: 20px;
  flex: none;
  align-items: center;
  justify-content: center;
  color: var(--deco-gold);
  border: 1px solid var(--deco-gold);
  font-size: 11px;
  transform: rotate(45deg);
}

.deco-alert-mark span {
  transform: rotate(-45deg);
}

.deco-field {
  margin-bottom: 20px;
}

.deco-field label {
  display: block;
  margin-bottom: 8px;
  color: var(--deco-gold-pale);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.deco-field input {
  width: 100%;
  padding: 14px 16px;
  color: var(--deco-ivory);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 0;
  outline: none;
  background: rgba(50, 0, 25, 0.6);
  box-shadow: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 18px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.deco-field input::placeholder {
  color: rgba(245, 239, 224, 0.3);
  font-style: italic;
}

.deco-field input:focus {
  border-color: var(--deco-gold);
  box-shadow:
    0 0 0 1px var(--deco-gold),
    0 0 14px rgba(212, 175, 55, 0.25);
}

.deco-show-pass {
  display: flex;
  margin: -4px 0 26px;
  align-items: center;
  gap: 10px;
  color: rgba(245, 239, 224, 0.7);
  cursor: pointer;
  font-size: 16px;
  user-select: none;
}

.deco-checkbox {
  display: flex;
  width: 18px;
  height: 18px;
  flex: none;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--deco-gold-soft);
  background: transparent;
}

.deco-checkbox svg {
  opacity: 0;
  transition: opacity 0.15s;
}

.deco-show-pass.is-visible .deco-checkbox {
  background: rgba(212, 175, 55, 0.15);
}

.deco-show-pass.is-visible .deco-checkbox svg {
  opacity: 1;
}

.deco-submit {
  display: flex;
  width: 100%;
  padding: 16px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--deco-tyrian-dark);
  border: 1px solid var(--deco-gold);
  border-radius: 0;
  background: linear-gradient(180deg, var(--deco-gold) 0%, var(--deco-gold-soft) 100%);
  cursor: pointer;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 15px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  transition: transform 0.12s, box-shadow 0.2s, filter 0.2s;
}

.deco-submit:hover {
  filter: brightness(1.08);
  box-shadow: 0 8px 26px rgba(212, 175, 55, 0.35);
}

.deco-submit:active {
  transform: translateY(1px);
}

.deco-login-footer {
  margin: 24px 0 0;
  color: rgba(245, 239, 224, 0.55);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.35em;
  text-align: center;
}

.refined-deco-login :focus-visible {
  outline: 2px solid var(--deco-gold);
  outline-offset: 3px;
}

/* Shared site philosophy */
body.refined-deco-app {
  color: var(--deco-ivory);
  background:
    radial-gradient(ellipse at 80% 0%, rgba(212, 175, 55, 0.07), transparent 36%),
    linear-gradient(145deg, var(--deco-tyrian-dark), var(--deco-tyrian-deep) 60%, var(--deco-tyrian));
  background-attachment: fixed;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 17px;
}

.refined-deco-app h1,
.refined-deco-app h2,
.refined-deco-app h3,
.refined-deco-app h4,
.refined-deco-app h5,
.refined-deco-app h6,
.refined-deco-app .page-title,
.refined-deco-app .card-title,
.refined-deco-app .modal-title {
  color: var(--deco-gold);
  font-family: "Poiret One", Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.refined-deco-app a {
  color: var(--deco-gold-pale);
}

.refined-deco-app a:hover,
.refined-deco-app a:focus {
  color: var(--deco-gold);
}

body.refined-deco-app.dark-sidenav .left-sidenav {
  border-right: 1px solid var(--deco-gold-soft);
  background:
    linear-gradient(165deg, rgba(74, 1, 41, 0.65), rgba(50, 0, 25, 0.92)) !important;
  box-shadow:
    6px 0 0 var(--deco-tyrian-dark),
    7px 0 0 rgba(197, 160, 40, 0.55),
    18px 0 42px rgba(0, 0, 0, 0.25);
}

.refined-deco-app .brand {
  position: relative;
  display: flex;
  height: auto;
  min-height: 156px;
  margin: 0 18px 28px !important;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(212, 175, 55, 0.52);
}

.refined-deco-app .brand::before,
.refined-deco-app .brand::after {
  position: absolute;
  width: 18px;
  height: 18px;
  content: "";
}

.refined-deco-app .brand::before {
  top: 18px;
  left: 0;
  border-top: 1px solid var(--deco-gold);
  border-left: 1px solid var(--deco-gold);
}

.refined-deco-app .brand::after {
  right: 0;
  bottom: 18px;
  border-right: 1px solid var(--deco-gold);
  border-bottom: 1px solid var(--deco-gold);
}

.refined-deco-app .brand .logo {
  height: auto;
  line-height: 1;
}

.refined-deco-app .brand img {
  width: auto !important;
  max-width: 122px;
  max-height: 96px;
  object-fit: contain;
  filter: grayscale(0.2) sepia(0.18) drop-shadow(0 8px 16px rgba(0, 0, 0, 0.4));
}

.refined-deco-app .left-sidenav-menu {
  padding: 0 14px 90px;
}

body.refined-deco-app.dark-sidenav .left-sidenav-menu li > a {
  position: relative;
  min-height: 44px;
  margin: 3px 0;
  padding: 12px 14px;
  color: rgba(245, 239, 224, 0.74);
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body.refined-deco-app.dark-sidenav .left-sidenav-menu li > a i,
body.refined-deco-app.dark-sidenav .left-sidenav-menu li > a .menu-icon {
  color: var(--deco-gold-soft) !important;
}

body.refined-deco-app.dark-sidenav .left-sidenav-menu li > a:hover,
body.refined-deco-app.dark-sidenav .left-sidenav-menu li.mm-active > a,
body.refined-deco-app.dark-sidenav .left-sidenav-menu li > a.active {
  color: var(--deco-gold-pale) !important;
  border-color: rgba(212, 175, 55, 0.52);
  background: rgba(212, 175, 55, 0.06) !important;
  box-shadow: inset 3px 0 0 var(--deco-gold);
}

body.refined-deco-app .left-sidenav-menu .menu-label {
  margin: 24px 12px 10px !important;
  color: rgba(232, 208, 138, 0.62) !important;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.refined-deco-app .hr-menu {
  height: 1px;
  margin: 20px 12px;
  border: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.55), transparent);
  opacity: 1;
}

.refined-deco-app .page-wrapper {
  min-height: 100vh;
  background: transparent !important;
}

.refined-deco-app .topbar {
  border-bottom: 1px solid var(--deco-gold-soft);
  background: rgba(50, 0, 25, 0.88) !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(12px);
}

.refined-deco-app .navbar-custom {
  position: relative;
  min-height: 70px;
  background: transparent !important;
}

.refined-deco-app .navbar-custom::after {
  position: absolute;
  right: 30px;
  bottom: 8px;
  left: 30px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.45), transparent);
  content: "";
  pointer-events: none;
}

.refined-deco-app .navbar-custom .nav-link,
.refined-deco-app .topbar-icon,
.refined-deco-app .nav-user-name {
  color: var(--deco-gold-pale) !important;
}

.refined-deco-app .nav-user img {
  border: 1px solid var(--deco-gold);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.08);
}

.refined-deco-app .nav-user .user-crest {
  width: 34px !important;
  height: 34px !important;
  object-fit: cover;
  object-position: 50% 48%;
}

.refined-deco-app .dropdown-menu {
  padding: 8px;
  color: var(--deco-ivory);
  border: 1px solid var(--deco-gold-soft);
  border-radius: 0;
  background: var(--deco-tyrian-dark);
  box-shadow: var(--deco-shadow);
}

.refined-deco-app .dropdown-item {
  padding: 10px 12px;
  color: rgba(245, 239, 224, 0.78);
  border-radius: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 17px;
}

.refined-deco-app .dropdown-item:hover {
  color: var(--deco-gold-pale);
  background: rgba(212, 175, 55, 0.08);
}

.refined-deco-app .dropdown-divider {
  border-color: rgba(212, 175, 55, 0.24);
}

.refined-deco-app .page-content {
  min-height: calc(100vh - 70px);
  padding: 48px clamp(24px, 5vw, 72px);
}

.refined-deco-app .page-content > .container-fluid:first-child,
.refined-deco-app .page-content > .container:first-child {
  position: relative;
  margin-bottom: 30px;
  padding: 0 0 22px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.44);
}

.refined-deco-app .page-content > .container-fluid:first-child::after,
.refined-deco-app .page-content > .container:first-child::after {
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 9px;
  height: 9px;
  background: var(--deco-gold);
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

.refined-deco-app .page-title {
  margin: 0 0 12px;
  color: var(--deco-gold);
  font-size: clamp(25px, 3vw, 38px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.refined-deco-app .page-title + h5,
.refined-deco-app .container-fluid > h5 {
  margin: 0;
  color: rgba(245, 239, 224, 0.65) !important;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 19px;
  font-style: italic;
  letter-spacing: 0;
}

.refined-deco-app .card,
.refined-deco-app .card- {
  position: relative;
  color: var(--deco-ivory);
  border: 1px solid rgba(197, 160, 40, 0.68) !important;
  border-radius: 0;
  background: linear-gradient(165deg, rgba(74, 1, 41, 0.66), rgba(50, 0, 25, 0.82));
  box-shadow:
    0 0 0 4px rgba(50, 0, 25, 0.72),
    0 0 0 5px rgba(197, 160, 40, 0.26),
    0 20px 46px rgba(0, 0, 0, 0.22);
}

.refined-deco-app .card::before,
.refined-deco-app .card-::before {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 19px;
  height: 19px;
  border-top: 1px solid var(--deco-gold);
  border-left: 1px solid var(--deco-gold);
  content: "";
  pointer-events: none;
}

.refined-deco-app .card-header {
  color: var(--deco-gold-pale);
  border-bottom: 1px solid rgba(212, 175, 55, 0.42);
  border-radius: 0 !important;
  background: rgba(50, 0, 25, 0.36) !important;
}

.refined-deco-app .card-header h1,
.refined-deco-app .card-header h2,
.refined-deco-app .card-header h3,
.refined-deco-app .card-header h4,
.refined-deco-app .card-header h5,
.refined-deco-app .card-header h6,
.refined-deco-app .card-header .card-title {
  color: var(--deco-gold);
}

.refined-deco-app .card-body {
  padding: 28px;
}

.refined-deco-app .report-card .card-body {
  min-height: 156px;
  padding: 34px 30px;
}

.refined-deco-app .report-card p {
  color: var(--deco-gold-pale) !important;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 12px;
  font-weight: 400 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.refined-deco-app .report-card h3 {
  margin-top: 8px !important;
  color: var(--deco-gold);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 44px;
  font-weight: 500;
}

.refined-deco-app .report-main-icon {
  display: flex;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  color: var(--deco-gold);
  border: 1px solid rgba(212, 175, 55, 0.54);
  border-radius: 50%;
  background: transparent !important;
}

.refined-deco-app .report-main-icon i {
  color: var(--deco-gold) !important;
}

.refined-deco-app label,
.refined-deco-app .form-label {
  margin-bottom: 8px;
  color: var(--deco-gold-pale);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.refined-deco-app .form-control,
.refined-deco-app .form-select,
.refined-deco-app select,
.refined-deco-app textarea {
  color: var(--deco-ivory) !important;
  border: 1px solid rgba(212, 175, 55, 0.38) !important;
  border-radius: 0 !important;
  background: rgba(50, 0, 25, 0.54) !important;
  box-shadow: none !important;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 17px;
}

.refined-deco-app .form-control:disabled,
.refined-deco-app .form-control[readonly] {
  color: rgba(245, 239, 224, 0.58) !important;
  background: rgba(50, 0, 25, 0.32) !important;
}

.refined-deco-app .form-control:focus,
.refined-deco-app .form-select:focus,
.refined-deco-app select:focus,
.refined-deco-app textarea:focus {
  border-color: var(--deco-gold) !important;
  box-shadow:
    0 0 0 1px var(--deco-gold),
    0 0 14px rgba(212, 175, 55, 0.18) !important;
}

.refined-deco-app input[type="file"]::file-selector-button {
  color: var(--deco-tyrian-dark);
  border: 0;
  border-right: 1px solid var(--deco-gold-soft);
  background: var(--deco-gold-soft);
  font-family: "Poiret One", Arial, sans-serif;
}

.refined-deco-app .btn {
  border-radius: 0;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.refined-deco-app .btn-primary,
.refined-deco-app .nav-pills .nav-link.active {
  color: var(--deco-tyrian-dark) !important;
  border-color: var(--deco-gold) !important;
  background: linear-gradient(180deg, var(--deco-gold), var(--deco-gold-soft)) !important;
}

.refined-deco-app .btn-primary:hover,
.refined-deco-app .btn-primary:focus {
  filter: brightness(1.08);
  box-shadow: 0 8px 24px rgba(212, 175, 55, 0.26);
}

.refined-deco-app .btn-secondary {
  color: var(--deco-gold-pale);
  border-color: rgba(212, 175, 55, 0.44);
  background: rgba(212, 175, 55, 0.06);
}

.refined-deco-app .btn-danger {
  color: var(--deco-ivory);
  border-color: var(--deco-oxblood);
  background: rgba(138, 30, 60, 0.74);
}

.refined-deco-app .btn-outline-primary {
  color: var(--deco-gold-pale);
  border-color: var(--deco-gold-soft);
}

.refined-deco-app .btn-outline-primary:hover {
  color: var(--deco-tyrian-dark);
  background: var(--deco-gold);
}

.refined-deco-app .table-responsive {
  border: 1px solid rgba(212, 175, 55, 0.34);
}

.refined-deco-app .table,
.refined-deco-app table.dataTable {
  width: 100% !important;
  margin: 0;
  color: var(--deco-ivory);
  border-color: rgba(212, 175, 55, 0.24);
  background: rgba(50, 0, 25, 0.28);
}

.refined-deco-app table th,
.refined-deco-app .table thead th {
  padding: 14px 12px;
  color: var(--deco-gold) !important;
  border-color: rgba(212, 175, 55, 0.42) !important;
  background: rgba(50, 0, 25, 0.88) !important;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 11px;
  font-weight: 400 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.refined-deco-app table td {
  padding: 13px 12px;
  color: rgba(245, 239, 224, 0.8);
  border-color: rgba(212, 175, 55, 0.18) !important;
  background: transparent !important;
  font-size: 15px;
  vertical-align: middle;
}

.refined-deco-app table tbody tr:nth-child(even) td {
  background: rgba(212, 175, 55, 0.025) !important;
}

.refined-deco-app table tbody tr:hover td {
  color: var(--deco-ivory);
  background: rgba(212, 175, 55, 0.07) !important;
}

.refined-deco-app .dataTables_wrapper,
.refined-deco-app .dataTables_info,
.refined-deco-app .dataTables_filter,
.refined-deco-app .dataTables_length {
  color: rgba(245, 239, 224, 0.66);
}

.refined-deco-app .pagination .page-link {
  color: var(--deco-gold-pale);
  border-color: rgba(212, 175, 55, 0.34);
  border-radius: 0 !important;
  background: rgba(50, 0, 25, 0.42);
}

.refined-deco-app .pagination .active .page-link,
.refined-deco-app .pagination .page-link:hover {
  color: var(--deco-tyrian-dark);
  border-color: var(--deco-gold);
  background: var(--deco-gold);
}

.refined-deco-app .badge,
.refined-deco-app .badge-soft-warning,
.refined-deco-app .badge.badge-soft-warning {
  color: var(--deco-gold-pale) !important;
  border: 1px solid rgba(212, 175, 55, 0.38);
  border-radius: 0;
  background: rgba(212, 175, 55, 0.07) !important;
  font-family: "Poiret One", Arial, sans-serif;
  letter-spacing: 0.08em;
}

.refined-deco-app .modal-content {
  color: var(--deco-ivory);
  border: 1px solid var(--deco-gold-soft);
  border-radius: 0;
  background: var(--deco-tyrian-dark);
  box-shadow: var(--deco-shadow);
}

.refined-deco-app .modal-header {
  border-bottom: 1px solid rgba(212, 175, 55, 0.42);
  background: transparent;
}

.refined-deco-app .modal-header .modal-title {
  color: var(--deco-gold);
}

.refined-deco-app .btn-close {
  filter: invert(88%) sepia(51%) saturate(570%) hue-rotate(351deg);
}

.refined-deco-app .alert {
  border-radius: 0;
}

.refined-deco-app .alert-success {
  color: var(--deco-gold-pale);
  border: 1px solid var(--deco-emerald);
  background: rgba(31, 92, 74, 0.42);
}

.refined-deco-app .alert-danger {
  color: var(--deco-gold-pale);
  border: 1px solid var(--deco-oxblood);
  background: rgba(138, 30, 60, 0.34);
}

.refined-deco-app .footer {
  color: rgba(245, 239, 224, 0.5);
  border-top: 1px solid rgba(212, 175, 55, 0.36);
  background: rgba(50, 0, 25, 0.78);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 15px;
}

.refined-deco-app .footer .text-muted {
  color: rgba(245, 239, 224, 0.45) !important;
}

/* Public assignment pages */
body.refined-deco-assignment {
  min-height: 100vh;
  margin: 0;
  color: var(--deco-ivory);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(212, 175, 55, 0.1), transparent 50%),
    linear-gradient(160deg, var(--deco-tyrian-dark), var(--deco-tyrian-deep) 48%, var(--deco-tyrian));
  background-attachment: fixed;
  font-family: "Cormorant Garamond", Georgia, serif;
}

.refined-deco-assignment .wrapper {
  min-height: 100vh;
  padding: clamp(26px, 5vw, 70px) 18px;
  background: transparent !important;
  background-image: none !important;
}

.refined-deco-assignment .container {
  position: relative;
  width: min(960px, 100%);
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(34px, 6vw, 68px);
  color: var(--deco-ivory);
  border: 1px solid var(--deco-gold-soft);
  background: linear-gradient(165deg, rgba(74, 1, 41, 0.6), rgba(50, 0, 25, 0.82));
  box-shadow:
    0 0 0 5px var(--deco-tyrian-dark),
    0 0 0 6px var(--deco-gold-soft),
    var(--deco-shadow);
}

.refined-deco-assignment .container::before,
.refined-deco-assignment .container::after {
  position: absolute;
  width: 28px;
  height: 28px;
  border: 2px solid var(--deco-gold);
  content: "";
}

.refined-deco-assignment .container::before {
  top: 15px;
  left: 15px;
  border-right: 0;
  border-bottom: 0;
}

.refined-deco-assignment .container::after {
  right: 15px;
  bottom: 15px;
  border-top: 0;
  border-left: 0;
}

.refined-deco-assignment .question_title h1 {
  margin: 0;
  padding: 0 0 28px !important;
  color: var(--deco-gold);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  background: transparent !important;
}

.refined-deco-assignment .multisteps_form {
  width: 100%;
  color: var(--deco-ivory);
  border: 0;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.refined-deco-assignment .multisteps_form_pane,
.refined-deco-assignment .row {
  background: transparent !important;
}

.refined-deco-assignment .animate__animated {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

.refined-deco-assignment .row {
  margin: 0 !important;
}

.refined-deco-assignment .question_title,
.refined-deco-assignment .question_title h1 {
  border: 0 !important;
}

.refined-deco-assignment .question_title h1::after {
  display: block;
  width: 150px;
  height: 1px;
  margin: 26px auto 0;
  background: linear-gradient(90deg, transparent, var(--deco-gold), transparent);
  content: "";
}

.refined-deco-assignment h2,
.refined-deco-assignment h3,
.refined-deco-assignment h4,
.refined-deco-assignment h5,
.refined-deco-assignment b {
  color: var(--deco-gold-pale);
}

.refined-deco-assignment ul {
  padding: 0;
}

.refined-deco-assignment ul li {
  padding: 24px !important;
  color: rgba(245, 239, 224, 0.84);
  border: 1px solid rgba(212, 175, 55, 0.32) !important;
  border-radius: 0 !important;
  background: rgba(50, 0, 25, 0.3);
}

.refined-deco-assignment textarea,
.refined-deco-assignment .form-control {
  width: 100%;
  min-height: 64px;
  margin-top: 10px;
  padding: 14px 16px;
  color: var(--deco-ivory);
  border: 1px solid rgba(212, 175, 55, 0.42);
  border-radius: 0;
  outline: none;
  background: rgba(50, 0, 25, 0.56);
  box-shadow: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 18px;
}

.refined-deco-assignment textarea:focus,
.refined-deco-assignment .form-control:focus {
  border-color: var(--deco-gold);
  box-shadow:
    0 0 0 1px var(--deco-gold),
    0 0 14px rgba(212, 175, 55, 0.2);
}

.refined-deco-assignment .f_btn,
.refined-deco-assignment button[type="submit"] {
  position: relative !important;
  inset: auto !important;
  min-width: 220px;
  padding: 15px 24px;
  color: var(--deco-tyrian-dark);
  border: 1px solid var(--deco-gold);
  border-radius: 0;
  background: linear-gradient(180deg, var(--deco-gold), var(--deco-gold-soft));
  box-shadow: none;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.refined-deco-assignment .f_btn:hover,
.refined-deco-assignment button[type="submit"]:hover {
  filter: brightness(1.08);
  box-shadow: 0 8px 26px rgba(212, 175, 55, 0.28);
}

.refined-deco-assignment img {
  max-width: 100%;
  border: 1px solid rgba(212, 175, 55, 0.58);
  box-shadow:
    0 0 0 4px var(--deco-tyrian-dark),
    0 0 0 5px rgba(212, 175, 55, 0.44);
}

@media (max-width: 991.98px) {
  .deco-login-stage {
    width: min(100%, 590px);
  }

  .refined-deco-app .page-content {
    padding: 34px 22px;
  }
}

@media (max-width: 575.98px) {
  body.refined-deco-login {
    padding: 22px 16px;
  }

  .deco-login-card {
    padding: 42px 25px 34px;
  }

  .deco-book-portrait {
    width: min(180px, 64vw);
    margin-top: 28px;
  }

  .deco-dog-crest {
    width: 116px;
    height: 116px;
  }

  .deco-login-card h1 {
    font-size: clamp(21px, 7vw, 28px);
  }

  .refined-deco-app .page-content {
    padding: 28px 16px;
  }

  .refined-deco-app .card-body {
    padding: 22px 18px;
  }

  .refined-deco-assignment .wrapper {
    padding: 18px 10px;
  }

  .refined-deco-assignment .container {
    padding: 44px 20px;
  }

  .refined-deco-assignment ul li {
    width: 100% !important;
    padding: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Appearance and combined profile controls */
.appearance-heading,
.profile-heading {
  margin-bottom: 30px;
}

.appearance-heading h3,
.profile-heading h3 {
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
}

.appearance-heading > p:last-child,
.profile-heading > p:last-child,
.account-settings-heading p,
.appearance-actions p {
  margin: 0;
  color: rgba(245, 239, 224, 0.66);
}

.appearance-kicker {
  margin: 0 0 8px;
  color: var(--deco-gold-pale);
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

.appearance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.appearance-option {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}

.appearance-option > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.appearance-card {
  position: relative;
  display: flex;
  min-height: 330px;
  padding: 18px;
  flex-direction: column;
  color: var(--deco-ivory);
  border: 1px solid rgba(212, 175, 55, 0.42);
  background: rgba(50, 0, 25, 0.42);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.appearance-option:hover .appearance-card {
  border-color: var(--deco-gold);
  transform: translateY(-3px);
}

.appearance-option > input:focus-visible + .appearance-card {
  outline: 2px solid var(--deco-gold);
  outline-offset: 4px;
}

.appearance-option > input:checked + .appearance-card {
  border-color: var(--deco-gold);
  box-shadow:
    0 0 0 1px var(--deco-gold),
    0 18px 40px rgba(0, 0, 0, 0.24);
}

.appearance-preview {
  display: grid;
  height: 158px;
  margin-bottom: 22px;
  overflow: hidden;
  grid-template-columns: 28% 72%;
  border: 1px solid currentColor;
}

.appearance-preview-sidebar {
  display: block;
}

.appearance-preview-content {
  display: flex;
  padding: 20px 16px;
  flex-direction: column;
  gap: 12px;
}

.appearance-preview-content span {
  display: block;
  height: 17px;
  border: 1px solid currentColor;
}

.appearance-preview-content span:first-child {
  width: 66%;
}

.appearance-card-gatsby .appearance-preview {
  color: #d4af37;
  background: #4a0129;
}

.appearance-card-gatsby .appearance-preview-sidebar {
  background: #320019;
  border-right: 1px solid #d4af37;
}

.appearance-card-og .appearance-preview {
  color: #1d89cb;
  background: #f9f9f9;
}

.appearance-card-og .appearance-preview-sidebar {
  background: #12335c;
}

.appearance-card-dsoa .appearance-preview {
  color: #d4af37;
  background: #0a0a0a;
}

.appearance-card-dsoa .appearance-preview-sidebar {
  background: #000;
  border-right: 1px solid #d4af37;
}

.appearance-copy {
  display: block;
}

.appearance-copy strong {
  display: block;
  margin-bottom: 8px;
  color: inherit;
  font-family: inherit;
  font-size: 25px;
  letter-spacing: 0.05em;
}

.appearance-copy small {
  display: block;
  color: inherit;
  font-size: 15px;
  line-height: 1.45;
  opacity: 0.72;
}

.appearance-card-gatsby .appearance-copy strong {
  color: var(--deco-gold);
  font-family: "Poiret One", Arial, sans-serif;
}

.appearance-card-og {
  color: #303e67;
  background: #fff;
  font-family: "Poppins", Arial, sans-serif;
}

.appearance-card-dsoa {
  color: #fff;
  background: #0a0a0a;
  font-family: "Open Sans", Arial, sans-serif;
}

.appearance-card-dsoa .appearance-copy strong {
  color: #d4af37;
}

.appearance-selected {
  display: inline-flex;
  width: max-content;
  margin-top: auto;
  padding-top: 18px;
  color: var(--deco-gold-pale);
  font-size: 11px;
  letter-spacing: 0.18em;
  opacity: 0;
  text-transform: uppercase;
}

.appearance-option > input:checked + .appearance-card .appearance-selected {
  opacity: 1;
}

.appearance-actions {
  display: flex;
  margin-top: 28px;
  align-items: center;
  gap: 22px;
}

.appearance-save {
  display: inline-flex;
  min-height: 46px;
  padding: 12px 20px;
  align-items: center;
  gap: 9px;
  color: var(--deco-tyrian-dark) !important;
  border: 1px solid var(--deco-gold) !important;
  border-radius: 0;
  background: linear-gradient(180deg, var(--deco-gold), var(--deco-gold-soft)) !important;
  font-family: "Poiret One", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.account-settings-card {
  height: 100%;
  padding: 30px;
}

.account-settings-heading {
  margin-bottom: 26px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.32);
}

.account-settings-heading h4 {
  margin-bottom: 8px;
}

.crest-control {
  display: flex;
  align-items: center;
  gap: 18px;
}

.crest-control > img {
  width: 72px;
  height: 72px;
  flex: none;
  border: 1px solid var(--deco-gold);
  border-radius: 50%;
  object-fit: cover;
}

/* OG: the original template's blue, white and gray system */
body.theme-og.refined-deco-app {
  color: #303e67;
  background: #f9f9f9;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 14px;
}

.theme-og.refined-deco-app h1,
.theme-og.refined-deco-app h2,
.theme-og.refined-deco-app h3,
.theme-og.refined-deco-app h4,
.theme-og.refined-deco-app h5,
.theme-og.refined-deco-app h6,
.theme-og.refined-deco-app .page-title,
.theme-og.refined-deco-app .card-title,
.theme-og.refined-deco-app .modal-title {
  color: #303e67;
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

body.theme-og.refined-deco-app.dark-sidenav .left-sidenav {
  border-right: 0;
  background: #12335c !important;
  box-shadow: 8px 0 24px rgba(18, 51, 92, 0.12);
}

.theme-og.refined-deco-app .brand {
  border-color: rgba(255, 255, 255, 0.22);
}

.theme-og.refined-deco-app .brand::before,
.theme-og.refined-deco-app .brand::after,
.theme-og.refined-deco-app .navbar-custom::after,
.theme-og.refined-deco-app .page-content > .container-fluid:first-child::after,
.theme-og.refined-deco-app .page-content > .container:first-child::after,
.theme-og.refined-deco-app .card::before,
.theme-og.refined-deco-app .card-::before {
  display: none;
}

body.theme-og.refined-deco-app.dark-sidenav .left-sidenav-menu li > a {
  color: rgba(255, 255, 255, 0.82);
  border-radius: 3px;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

body.theme-og.refined-deco-app.dark-sidenav .left-sidenav-menu li > a:hover,
body.theme-og.refined-deco-app.dark-sidenav .left-sidenav-menu li.mm-active > a,
body.theme-og.refined-deco-app.dark-sidenav .left-sidenav-menu li > a.active {
  color: #fff !important;
  border-color: transparent;
  background: rgba(29, 137, 203, 0.34) !important;
  box-shadow: none;
}

body.theme-og.refined-deco-app.dark-sidenav .left-sidenav-menu li > a i,
body.theme-og.refined-deco-app.dark-sidenav .left-sidenav-menu li > a .menu-icon,
body.theme-og.refined-deco-app .left-sidenav-menu .menu-label {
  color: #fff !important;
}

body.theme-og.refined-deco-app .left-sidenav-menu .menu-label {
  font-family: "Poppins", Arial, sans-serif;
  letter-spacing: 0.12em;
}

.theme-og.refined-deco-app .page-wrapper,
.theme-og.refined-deco-app .page-content {
  background: #f9f9f9 !important;
}

.theme-og.refined-deco-app .topbar {
  border-bottom: 1px solid #e6edf5;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(48, 62, 103, 0.06);
}

.theme-og.refined-deco-app .navbar-custom .nav-link,
.theme-og.refined-deco-app .topbar-icon,
.theme-og.refined-deco-app .nav-user-name {
  color: #303e67 !important;
}

.theme-og.refined-deco-app .page-content > .container-fluid:first-child,
.theme-og.refined-deco-app .page-content > .container:first-child {
  border-bottom-color: #e6edf5;
}

.theme-og.refined-deco-app .page-title + h5,
.theme-og.refined-deco-app .container-fluid > h5 {
  color: #7081b9 !important;
  font-family: "Roboto", Arial, sans-serif;
  font-style: normal;
}

.theme-og.refined-deco-app .card,
.theme-og.refined-deco-app .card- {
  color: #303e67;
  border: 1px solid #e6edf5 !important;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(48, 62, 103, 0.07);
}

.theme-og.refined-deco-app .card-header {
  color: #303e67;
  border-bottom-color: #e6edf5;
  background: #fff !important;
}

.theme-og.refined-deco-app .report-card p {
  color: #7081b9 !important;
  font-family: "Poppins", Arial, sans-serif;
}

.theme-og.refined-deco-app .report-card h3 {
  color: #303e67;
  font-family: "Roboto", Arial, sans-serif;
}

.theme-og.refined-deco-app .report-main-icon {
  color: #1d89cb;
  border-color: rgba(29, 137, 203, 0.22);
  background: rgba(29, 137, 203, 0.08);
}

.theme-og.refined-deco-app .form-control,
.theme-og.refined-deco-app .form-select,
.theme-og.refined-deco-app input,
.theme-og.refined-deco-app textarea,
.theme-og.refined-deco-app select {
  color: #303e67;
  border-color: #dce3ee;
  background: #fff;
  font-family: "Roboto", Arial, sans-serif;
}

.theme-og.refined-deco-app .form-control:focus,
.theme-og.refined-deco-app .form-select:focus,
.theme-og.refined-deco-app input:focus,
.theme-og.refined-deco-app textarea:focus,
.theme-og.refined-deco-app select:focus {
  border-color: #1d89cb;
  box-shadow: 0 0 0 3px rgba(29, 137, 203, 0.12);
}

.theme-og.refined-deco-app .btn-primary,
.theme-og.refined-deco-app .appearance-save {
  color: #fff !important;
  border-color: #1d89cb !important;
  border-radius: 3px;
  background: #1d89cb !important;
  font-family: "Poppins", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

.theme-og.refined-deco-app .table,
.theme-og.refined-deco-app table.dataTable,
.theme-og.refined-deco-app table.dataTable tbody tr,
.theme-og.refined-deco-app table.dataTable tbody td {
  color: #303e67 !important;
  border-color: #e6edf5 !important;
  background: #fff !important;
}

.theme-og.refined-deco-app table.dataTable thead th,
.theme-og.refined-deco-app .table thead th {
  color: #303e67 !important;
  background: #f2f5f9 !important;
}

.theme-og.refined-deco-app .footer {
  color: #7081b9;
  border-top-color: #e6edf5;
  background: #fff !important;
}

.theme-og.refined-deco-app .appearance-heading > p:last-child,
.theme-og.refined-deco-app .profile-heading > p:last-child,
.theme-og.refined-deco-app .account-settings-heading p,
.theme-og.refined-deco-app .appearance-actions p {
  color: #7081b9;
}

.theme-og.refined-deco-app .appearance-kicker {
  color: #1d89cb;
  font-family: "Poppins", Arial, sans-serif;
}

.theme-og.refined-deco-app .account-settings-heading {
  border-bottom-color: #e6edf5;
}

body.theme-og.refined-deco-login {
  padding: 24px;
  color: #303e67;
  background: #f2f5f8;
  font-family: "Poppins", Arial, sans-serif;
}

.theme-og .deco-login-stage {
  width: min(100%, 1120px);
}

.theme-og .deco-login-card {
  display: grid;
  width: 100%;
  max-width: none;
  min-height: 680px;
  padding: 0;
  overflow: hidden;
  grid-template-columns: minmax(0, 58%) minmax(360px, 42%);
  grid-template-rows: auto auto auto auto 1fr;
  border: 0;
  background: #fff;
  box-shadow: 0 18px 60px rgba(48, 62, 103, 0.18);
}

.theme-og .deco-login-card::before,
.theme-og .deco-login-card::after {
  display: none;
}

.theme-og .deco-book-portrait {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  grid-column: 1;
  grid-row: 1 / 6;
  border: 0;
  background: #eef2f7;
  box-shadow: none;
}

.theme-og .deco-book-portrait::before,
.theme-og .deco-book-portrait::after {
  display: none;
}

.theme-og .deco-book-portrait img {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.theme-og .deco-crest {
  margin: 50px 48px 16px;
  grid-column: 2;
  grid-row: 1;
}

.theme-og .deco-dog-crest {
  width: 112px;
  height: 150px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: cover;
}

.theme-og .deco-login-card h1 {
  margin: 0 46px;
  grid-column: 2;
  grid-row: 2;
  color: #303e67;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.theme-og .deco-rule {
  margin: 18px 52px;
  grid-column: 2;
  grid-row: 3;
}

.theme-og .deco-line {
  background: linear-gradient(90deg, transparent, #dce3ee);
}

.theme-og .deco-line:last-child {
  background: linear-gradient(270deg, transparent, #dce3ee);
}

.theme-og .deco-diamond {
  background: #1d89cb;
}

.theme-og .deco-login-alert {
  margin: 0 52px 18px;
  grid-column: 2;
  grid-row: 4;
  color: #b42318;
  border-color: #f0b6b1;
  background: #fff3f2;
}

.theme-og .deco-login-card form {
  padding: 0 52px 48px;
  grid-column: 2;
  grid-row: 5;
}

.theme-og .deco-field label {
  color: #303e67;
  font-family: "Poppins", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

.theme-og .deco-field input {
  color: #303e67;
  border-color: #dce3ee;
  background: #fff;
  font-family: "Roboto", Arial, sans-serif;
}

.theme-og .deco-field input:focus {
  border-color: #1d89cb;
  box-shadow: 0 0 0 3px rgba(29, 137, 203, 0.12);
}

.theme-og .deco-show-pass {
  color: #7081b9;
  font-family: "Roboto", Arial, sans-serif;
}

.theme-og .deco-checkbox {
  border-color: #aebbd1;
}

.theme-og .deco-submit {
  color: #fff;
  border-color: #1d89cb;
  border-radius: 3px;
  background: #1d89cb;
  font-family: "Poppins", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

body.theme-og.refined-deco-assignment {
  color: #303e67;
  background: #f3f5f8;
  font-family: "Poppins", Arial, sans-serif;
}

.theme-og.refined-deco-assignment .wrapper {
  background: #f3f5f8 !important;
}

.theme-og.refined-deco-assignment .container {
  padding: 0;
  color: #303e67;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.theme-og.refined-deco-assignment .container::before,
.theme-og.refined-deco-assignment .container::after {
  display: none;
}

.theme-og.refined-deco-assignment .multisteps_form {
  padding: 34px;
  color: #303e67;
  background: #fff !important;
  box-shadow: 0 10px 36px rgba(48, 62, 103, 0.12) !important;
}

.theme-og.refined-deco-assignment .question_title h1 {
  color: #303e67;
  background: #fff !important;
  font-family: "Poppins", Arial, sans-serif;
  font-size: clamp(26px, 4vw, 40px);
  letter-spacing: 0;
  text-transform: none;
}

.theme-og.refined-deco-assignment h5,
.theme-og.refined-deco-assignment b {
  color: #303e67;
}

.theme-og.refined-deco-assignment ul li {
  color: #303e67;
  border-color: #e0e6ef !important;
  background: #f9fbfd;
}

.theme-og.refined-deco-assignment textarea,
.theme-og.refined-deco-assignment .form-control {
  color: #303e67;
  border-color: #dce3ee;
  background: #fff;
  font-family: "Roboto", Arial, sans-serif;
}

.theme-og.refined-deco-assignment .f_btn,
.theme-og.refined-deco-assignment button[type="submit"] {
  color: #fff;
  border-color: #1d89cb;
  border-radius: 3px;
  background: #1d89cb;
  font-family: "Poppins", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

/* DSOA: official black, white and gold with Open Sans */
body.theme-dsoa.refined-deco-app,
body.theme-dsoa.refined-deco-login,
body.theme-dsoa.refined-deco-assignment {
  color: #fff;
  background: #050505;
  font-family: "Open Sans", Arial, sans-serif;
}

.theme-dsoa.refined-deco-app h1,
.theme-dsoa.refined-deco-app h2,
.theme-dsoa.refined-deco-app h3,
.theme-dsoa.refined-deco-app h4,
.theme-dsoa.refined-deco-app h5,
.theme-dsoa.refined-deco-app h6,
.theme-dsoa.refined-deco-app .page-title,
.theme-dsoa.refined-deco-app .card-title,
.theme-dsoa.refined-deco-app .modal-title,
.theme-dsoa .deco-login-card h1,
.theme-dsoa.refined-deco-assignment .question_title h1 {
  color: #d4af37;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
}

body.theme-dsoa.refined-deco-app.dark-sidenav .left-sidenav {
  border-right: 1px solid #d4af37;
  background: #000 !important;
  box-shadow: 10px 0 34px rgba(0, 0, 0, 0.36);
}

.theme-dsoa.refined-deco-app .brand {
  border-bottom-color: rgba(212, 175, 55, 0.7);
}

body.theme-dsoa.refined-deco-app.dark-sidenav .left-sidenav-menu li > a {
  color: rgba(255, 255, 255, 0.76);
  font-family: "Open Sans", Arial, sans-serif;
  letter-spacing: 0.04em;
}

body.theme-dsoa.refined-deco-app.dark-sidenav .left-sidenav-menu li > a:hover,
body.theme-dsoa.refined-deco-app.dark-sidenav .left-sidenav-menu li.mm-active > a,
body.theme-dsoa.refined-deco-app.dark-sidenav .left-sidenav-menu li > a.active {
  color: #fff !important;
  border-color: #d4af37;
  background: rgba(212, 175, 55, 0.12) !important;
  box-shadow: inset 3px 0 0 #d4af37;
}

.theme-dsoa.refined-deco-app .page-wrapper,
.theme-dsoa.refined-deco-app .page-content {
  background: #050505 !important;
}

.theme-dsoa.refined-deco-app .topbar {
  border-bottom-color: #d4af37;
  background: #080808 !important;
}

.theme-dsoa.refined-deco-app .card,
.theme-dsoa.refined-deco-app .card- {
  color: #fff;
  border-color: rgba(212, 175, 55, 0.72) !important;
  background: #101010;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
}

.theme-dsoa.refined-deco-app .card-header {
  border-bottom-color: rgba(212, 175, 55, 0.5);
  background: #090909 !important;
}

.theme-dsoa.refined-deco-app .page-title + h5,
.theme-dsoa.refined-deco-app .container-fluid > h5,
.theme-dsoa.refined-deco-app .appearance-heading > p:last-child,
.theme-dsoa.refined-deco-app .profile-heading > p:last-child,
.theme-dsoa.refined-deco-app .account-settings-heading p,
.theme-dsoa.refined-deco-app .appearance-actions p {
  color: rgba(255, 255, 255, 0.65) !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-style: normal;
}

.theme-dsoa.refined-deco-app .form-control,
.theme-dsoa.refined-deco-app .form-select,
.theme-dsoa.refined-deco-app input,
.theme-dsoa.refined-deco-app textarea,
.theme-dsoa.refined-deco-app select {
  color: #fff;
  border-color: rgba(212, 175, 55, 0.56);
  background: #080808;
  font-family: "Open Sans", Arial, sans-serif;
}

.theme-dsoa.refined-deco-app .table,
.theme-dsoa.refined-deco-app table.dataTable,
.theme-dsoa.refined-deco-app table.dataTable tbody tr,
.theme-dsoa.refined-deco-app table.dataTable tbody td {
  color: #fff !important;
  border-color: rgba(212, 175, 55, 0.34) !important;
  background: #0c0c0c !important;
}

.theme-dsoa.refined-deco-app table.dataTable thead th,
.theme-dsoa.refined-deco-app .table thead th {
  color: #d4af37 !important;
  background: #050505 !important;
}

.theme-dsoa.refined-deco-app .footer {
  color: rgba(255, 255, 255, 0.58);
  border-top-color: rgba(212, 175, 55, 0.6);
  background: #080808 !important;
}

.theme-dsoa.refined-deco-app .appearance-save {
  color: #000 !important;
  border-color: #d4af37 !important;
  background: #d4af37 !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
}

.theme-dsoa.refined-deco-app .account-settings-heading {
  border-bottom-color: rgba(212, 175, 55, 0.44);
}

body.theme-dsoa.refined-deco-login {
  background:
    radial-gradient(circle at 50% 0%, rgba(212, 175, 55, 0.12), transparent 48%),
    #050505;
}

.theme-dsoa .deco-login-card {
  border-color: #d4af37;
  background: #0a0a0a;
  box-shadow:
    0 0 0 5px #000,
    0 0 0 6px #d4af37,
    0 30px 70px rgba(0, 0, 0, 0.58);
}

.theme-dsoa .deco-login-card::before,
.theme-dsoa .deco-login-card::after {
  border-color: #d4af37;
}

.theme-dsoa .deco-dog-crest,
.theme-dsoa .deco-book-portrait {
  border-color: #d4af37;
  background: #000;
  box-shadow:
    0 0 0 5px #000,
    0 0 0 6px rgba(212, 175, 55, 0.72);
}

.theme-dsoa .deco-field label,
.theme-dsoa .deco-show-pass {
  color: rgba(255, 255, 255, 0.76);
  font-family: "Open Sans", Arial, sans-serif;
}

.theme-dsoa .deco-field input {
  color: #fff;
  border-color: rgba(212, 175, 55, 0.52);
  background: #050505;
  font-family: "Open Sans", Arial, sans-serif;
}

.theme-dsoa .deco-submit {
  color: #000;
  border-color: #d4af37;
  background: #d4af37;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
}

body.theme-dsoa.refined-deco-assignment {
  background: #050505;
}

.theme-dsoa.refined-deco-assignment .wrapper {
  background: #050505 !important;
}

.theme-dsoa.refined-deco-assignment .container,
.theme-dsoa.refined-deco-assignment .multisteps_form {
  color: #fff;
  border-color: #d4af37;
  background: #0a0a0a !important;
}

.theme-dsoa.refined-deco-assignment h5,
.theme-dsoa.refined-deco-assignment b {
  color: #fff;
}

.theme-dsoa.refined-deco-assignment ul li {
  color: #fff;
  border-color: rgba(212, 175, 55, 0.42) !important;
  background: #101010;
}

.theme-dsoa.refined-deco-assignment textarea,
.theme-dsoa.refined-deco-assignment .form-control {
  color: #fff;
  border-color: rgba(212, 175, 55, 0.55);
  background: #050505;
  font-family: "Open Sans", Arial, sans-serif;
}

.theme-dsoa.refined-deco-assignment .f_btn,
.theme-dsoa.refined-deco-assignment button[type="submit"] {
  color: #000;
  border-color: #d4af37;
  background: #d4af37;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .appearance-grid {
    grid-template-columns: 1fr;
  }

  .appearance-card {
    min-height: 0;
  }

  .theme-og .deco-login-card {
    display: block;
    min-height: 0;
  }

  .theme-og .deco-book-portrait {
    width: min(240px, 68vw);
    height: auto;
    margin: 32px auto;
    padding: 8px;
    border: 1px solid #dce3ee;
  }

  .theme-og .deco-book-portrait img {
    height: auto;
  }

  .theme-og .deco-crest {
    margin: 42px auto 16px;
  }

  .theme-og .deco-login-card h1 {
    margin: 0 28px;
  }

  .theme-og .deco-rule {
    margin: 18px 28px;
  }

  .theme-og .deco-login-card form {
    padding: 0 28px 10px;
  }

  .theme-og .deco-login-alert {
    margin: 0 28px 18px;
  }
}

@media (max-width: 575.98px) {
  .appearance-actions,
  .crest-control {
    align-items: stretch;
    flex-direction: column;
  }

  .appearance-save {
    justify-content: center;
  }

  .account-settings-card {
    padding: 24px 18px;
  }
}

/* ================================================================
   Secure Admin and Scholar accounts
   ================================================================ */

.account-role-label {
  display: block;
  margin-top: 2px;
  color: #d4af37;
  font: 600 9px/1.1 "Open Sans", sans-serif;
  letter-spacing: 0.18em;
  text-align: right;
  text-transform: uppercase;
}

.deco-account-note {
  margin: 16px 0 0;
  color: rgba(255, 244, 216, 0.7);
  font: 500 11px/1.5 "Open Sans", sans-serif;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.security-required-notice,
.security-status-card {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 24px;
  padding: 18px 22px;
  border: 1px solid rgba(212, 175, 55, 0.45);
  background:
    linear-gradient(135deg, rgba(212, 175, 55, 0.09), transparent 55%),
    #430027;
  color: #fff4d8;
  box-shadow: 0 15px 35px rgba(42, 0, 24, 0.14);
}

.security-required-notice > i,
.security-status-icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #d4af37;
  color: #d4af37;
  background: #2d001a;
}

.security-required-notice div,
.security-status-card div:last-child {
  display: grid;
  gap: 3px;
}

.security-required-notice strong,
.security-status-card strong {
  color: #f7d66f;
  font: 600 17px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 0.04em;
}

.security-required-notice span,
.security-status-card span {
  color: rgba(255, 244, 216, 0.82);
  font-size: 13px;
}

.security-field-note {
  display: block;
  margin-top: 7px;
  color: #766372;
  font-size: 11px;
  line-height: 1.5;
}

.account-roster-card {
  min-height: 100%;
  padding: 28px;
  border: 1px solid rgba(102, 2, 60, 0.13);
  background: #fffdf8;
  box-shadow: 0 18px 50px rgba(52, 0, 30, 0.08);
}

.password-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.password-generate {
  padding: 2px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: #66023c;
  background: transparent;
  font: 700 10px/1.2 "Open Sans", sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.secure-account-table {
  margin: 0;
  color: #3c2432;
}

.secure-account-table thead th {
  padding: 12px 10px;
  border-color: rgba(102, 2, 60, 0.14);
  color: #66023c;
  font: 700 10px/1.3 "Open Sans", sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.secure-account-table tbody td {
  padding: 16px 10px;
  border-color: rgba(102, 2, 60, 0.09);
  vertical-align: middle;
}

.account-person {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 190px;
}

.account-person img {
  width: 38px;
  height: 38px;
  border: 2px solid #d4af37;
  border-radius: 50%;
  object-fit: cover;
}

.account-person span {
  display: grid;
}

.account-person strong {
  color: #3d0023;
  font: 600 15px/1.2 "Cormorant Garamond", Georgia, serif;
}

.account-person small {
  margin-top: 3px;
  color: #77626e;
  font-size: 11px;
}

.role-pill,
.status-pill {
  display: inline-flex;
  align-items: center;
  min-width: 72px;
  justify-content: center;
  padding: 6px 10px;
  border: 1px solid;
  font: 700 9px/1 "Open Sans", sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.role-admin {
  border-color: #b68b19;
  color: #6a4b00;
  background: #fff3c7;
}

.role-scholar {
  border-color: #6e2f55;
  color: #66023c;
  background: #f3dfeb;
}

.status-active {
  border-color: #4b8a68;
  color: #276044;
  background: #e3f3e9;
}

.status-disabled {
  border-color: #a76868;
  color: #7d3333;
  background: #f6e5e5;
}

.never-signed-in {
  color: #927f8a;
  font-style: italic;
}

.security-actions {
  position: relative;
}

.security-actions summary {
  display: inline-flex;
  padding: 7px 12px;
  border: 1px solid #66023c;
  color: #66023c;
  background: #fff;
  cursor: pointer;
  font: 700 10px/1 "Open Sans", sans-serif;
  letter-spacing: 0.1em;
  list-style: none;
  text-transform: uppercase;
}

.security-actions summary::-webkit-details-marker {
  display: none;
}

.security-action-panel {
  position: absolute;
  z-index: 50;
  top: calc(100% + 8px);
  right: 0;
  width: 285px;
  padding: 16px;
  border: 1px solid rgba(102, 2, 60, 0.25);
  background: #fffdf8;
  box-shadow: 0 18px 45px rgba(45, 0, 26, 0.2);
}

.account-reset-form {
  display: grid;
  gap: 7px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(102, 2, 60, 0.13);
}

.account-reset-form label {
  margin: 0;
  color: #604a57;
  font-size: 10px;
}

.scholar-dashboard .security-status-card {
  max-width: 840px;
}

.scholar-assignment-card,
.empty-assignment-card {
  position: relative;
  min-height: 255px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.55);
  background:
    linear-gradient(145deg, rgba(212, 175, 55, 0.12), transparent 48%),
    #4a002b;
  color: #fff4d8;
  box-shadow: 0 18px 45px rgba(48, 0, 28, 0.14);
}

.scholar-assignment-card::after {
  position: absolute;
  right: -30px;
  bottom: -55px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(212, 175, 55, 0.26);
  border-radius: 50%;
  box-shadow:
    0 0 0 16px rgba(212, 175, 55, 0.07),
    0 0 0 32px rgba(212, 175, 55, 0.05);
  content: "";
}

.assignment-card-kicker {
  color: #d4af37;
  font: 700 10px/1.2 "Open Sans", sans-serif;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.scholar-assignment-card h4 {
  margin: 12px 0 6px;
  color: #fff;
  font: 600 26px/1.12 "Cormorant Garamond", Georgia, serif;
}

.scholar-assignment-card > p:not(.assignment-card-kicker) {
  color: rgba(255, 244, 216, 0.78);
}

.assignment-card-meta {
  display: flex;
  gap: 14px;
  margin: 24px 0;
  color: #e8c95d;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scholar-assignment-card .appearance-save {
  position: relative;
  z-index: 2;
}

.empty-assignment-card {
  min-height: 180px;
}

.theme-og .security-status-card,
.theme-og .security-required-notice,
.theme-og .scholar-assignment-card,
.theme-og .empty-assignment-card {
  border-color: #d9e0ea;
  background: #fff;
  color: #263548;
  box-shadow: 0 12px 30px rgba(29, 45, 68, 0.08);
}

.theme-og .security-status-card strong,
.theme-og .security-required-notice strong,
.theme-og .scholar-assignment-card h4 {
  color: #263548;
  font-family: "Poppins", sans-serif;
}

.theme-og .security-status-card span,
.theme-og .security-required-notice span,
.theme-og .scholar-assignment-card > p:not(.assignment-card-kicker) {
  color: #637186;
}

.theme-dsoa .security-status-card,
.theme-dsoa .security-required-notice,
.theme-dsoa .scholar-assignment-card,
.theme-dsoa .empty-assignment-card,
.theme-dsoa .account-roster-card {
  border-color: #d4af37;
  background: #090909;
  color: #fff;
  box-shadow: none;
}

.theme-dsoa .security-status-card strong,
.theme-dsoa .security-required-notice strong,
.theme-dsoa .scholar-assignment-card h4 {
  color: #fff;
  font-family: "Open Sans", sans-serif;
}

.theme-dsoa .secure-account-table,
.theme-dsoa .secure-account-table td,
.theme-dsoa .account-person strong {
  color: #fff;
}

.theme-dsoa .secure-account-table thead th,
.theme-dsoa .password-generate,
.theme-dsoa .security-actions summary {
  color: #d4af37;
  border-color: #d4af37;
}

.theme-dsoa .secure-account-table tbody td {
  border-color: rgba(212, 175, 55, 0.2);
}

.theme-dsoa .security-action-panel {
  border-color: #d4af37;
  background: #101010;
}

@media (max-width: 767.98px) {
  .security-status-card,
  .security-required-notice {
    align-items: flex-start;
    padding: 16px;
  }

  .account-roster-card {
    padding: 20px 14px;
  }

  .security-action-panel {
    position: fixed;
    top: 18%;
    right: 5vw;
    left: 5vw;
    width: 90vw;
  }
}

/* ================================================================
   LIVE CLASSROOM · v5
   A calm, fast command center built from the active appearance.
   ================================================================ */
.refined-deco-app {
  --live-ink: #32001f;
  --live-purple: #66023c;
  --live-purple-deep: #280018;
  --live-plum: #7b1e52;
  --live-gold: #d4af37;
  --live-gold-dark: #a98518;
  --live-cream: #fffaf0;
  --live-paper: #fffdf7;
  --live-muted: #786873;
  --live-line: rgba(102, 2, 60, 0.15);
  --live-good: #217a52;
  --live-warn: #b66a00;
  --live-danger: #a6273d;
  --live-shadow: 0 22px 60px rgba(47, 0, 29, 0.11);
}

.theme-og.refined-deco-app {
  --live-ink: #263548;
  --live-purple: #12335c;
  --live-purple-deep: #0b213d;
  --live-plum: #1d89cb;
  --live-gold: #1d89cb;
  --live-gold-dark: #126b9f;
  --live-cream: #f5f8fc;
  --live-paper: #fff;
  --live-muted: #637186;
  --live-line: rgba(29, 45, 68, 0.14);
  --live-shadow: 0 18px 45px rgba(29, 45, 68, 0.09);
}

.theme-dsoa.refined-deco-app {
  --live-ink: #fff;
  --live-purple: #090909;
  --live-purple-deep: #000;
  --live-plum: #181818;
  --live-gold: #d4af37;
  --live-gold-dark: #a98518;
  --live-cream: #111;
  --live-paper: #090909;
  --live-muted: #c6c6c6;
  --live-line: rgba(212, 175, 55, 0.24);
  --live-shadow: none;
}

.live-classroom-shell,
.scholar-live-shell {
  color: var(--live-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  margin: 0 auto;
  max-width: 1700px;
  padding: 30px 24px 54px;
}

.classroom-hero {
  align-items: flex-end;
  background:
    linear-gradient(135deg, rgba(212,175,55,.1), transparent 42%),
    var(--live-paper);
  border: 1px solid var(--live-gold);
  box-shadow: var(--live-shadow);
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  min-height: 210px;
  overflow: hidden;
  padding: 36px 42px;
  position: relative;
}

.classroom-hero::after {
  border: 1px solid var(--live-gold);
  bottom: 9px;
  content: "";
  left: 9px;
  pointer-events: none;
  position: absolute;
  right: 9px;
  top: 9px;
}

.classroom-hero::before {
  background: repeating-conic-gradient(from -8deg at 100% 100%, transparent 0 8deg, rgba(212,175,55,.11) 8deg 16deg);
  bottom: -150px;
  content: "";
  height: 360px;
  position: absolute;
  right: -90px;
  width: 480px;
}

.classroom-hero > * { position: relative; z-index: 1; }
.classroom-hero.compact { min-height: 164px; padding-block: 28px; }
.classroom-hero h2 {
  color: var(--live-ink);
  font-family: "Poiret One", sans-serif;
  font-size: clamp(34px, 4vw, 62px);
  letter-spacing: .04em;
  line-height: 1;
  margin: 6px 0 12px;
}
.classroom-hero p { color: var(--live-muted); font-size: 18px; margin: 0; }
.appearance-kicker {
  color: var(--live-gold-dark) !important;
  font-family: "Poiret One", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .22em;
  margin: 0 !important;
  text-transform: uppercase;
}
.deco-back {
  color: var(--live-muted);
  display: inline-block;
  font-family: "Poiret One", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  margin-bottom: 13px;
  text-transform: uppercase;
}
.deco-back:hover { color: var(--live-gold-dark); }

.btn.deco-primary,
.btn.deco-quiet,
.btn.deco-danger {
  border-radius: 0 !important;
  font-family: "Poiret One", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 12px 18px;
  text-transform: uppercase;
}
.btn.deco-primary {
  background: var(--live-purple) !important;
  border: 1px solid var(--live-gold) !important;
  color: #fff8dd !important;
  box-shadow: inset 0 0 0 3px var(--live-purple), inset 0 0 0 4px rgba(212,175,55,.35);
}
.btn.deco-primary:hover { background: var(--live-purple-deep) !important; transform: translateY(-1px); }
.btn.deco-quiet { background: transparent !important; border: 1px solid var(--live-gold) !important; color: var(--live-ink) !important; }
.btn.deco-danger { background: transparent !important; border: 1px solid var(--live-danger) !important; color: var(--live-danger) !important; }

.privacy-promise,
.privacy-footnote {
  align-items: center;
  background: color-mix(in srgb, var(--live-purple) 5%, var(--live-paper));
  border-left: 3px solid var(--live-gold);
  display: flex;
  gap: 16px;
  margin: 0 0 24px;
  padding: 17px 20px;
}
.privacy-promise > i { color: var(--live-gold-dark); font-size: 22px; }
.privacy-promise div { display: flex; flex-direction: column; }
.privacy-promise strong { color: var(--live-ink); font-family: "Poiret One", sans-serif; letter-spacing: .04em; }
.privacy-promise span, .privacy-footnote span { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 12px; line-height: 1.6; }

.classroom-card {
  background: var(--live-paper);
  border: 1px solid var(--live-line);
  box-shadow: var(--live-shadow);
  min-height: 320px;
  overflow: hidden;
  padding: 28px;
  position: relative;
}
.classroom-card::after {
  border-bottom: 5px double var(--live-gold);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
}
.classroom-card.is-live { border-color: var(--live-gold); }
.classroom-card-top { align-items: center; color: var(--live-muted); display: flex; font-family: "Open Sans", sans-serif; font-size: 11px; gap: 7px; text-transform: uppercase; }
.classroom-card-top code { background: var(--live-cream); color: var(--live-ink); letter-spacing: .14em; margin-left: auto; padding: 5px 8px; }
.live-status-dot { background: #9d9d9d; border-radius: 100%; height: 8px; width: 8px; }
.is-live .live-status-dot { animation: livePulse 1.5s infinite; background: #27a269; box-shadow: 0 0 0 4px rgba(39,162,105,.12); }
@keyframes livePulse { 50% { opacity: .4; transform: scale(.8); } }
.classroom-card h3 { color: var(--live-ink); font-family: "Poiret One", sans-serif; font-size: 30px; margin: 30px 0 8px; }
.classroom-card > p { color: var(--live-muted); font-family: "Open Sans", sans-serif; }
.classroom-stat-row { border-block: 1px solid var(--live-line); display: flex; gap: 32px; margin: 28px 0; padding: 16px 0; }
.classroom-stat-row span { color: var(--live-muted); display: flex; flex-direction: column; font-family: "Open Sans", sans-serif; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.classroom-stat-row strong { color: var(--live-ink); font-family: "Poiret One", sans-serif; font-size: 18px; }
.classroom-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.classroom-empty {
  background: var(--live-paper);
  border: 1px solid var(--live-gold);
  box-shadow: var(--live-shadow);
  padding: 65px 24px;
  text-align: center;
}
.empty-sunburst, .waiting-sunburst {
  align-items: center;
  background: repeating-conic-gradient(var(--live-gold) 0 3deg, transparent 3deg 9deg);
  border-radius: 100%;
  display: inline-flex;
  height: 90px;
  justify-content: center;
  margin-bottom: 20px;
  width: 90px;
}
.empty-sunburst i, .waiting-sunburst i { align-items: center; background: var(--live-purple); border: 2px solid var(--live-gold); border-radius: 100%; color: #fff7d2; display: flex; height: 52px; justify-content: center; width: 52px; }
.classroom-empty h3 { color: var(--live-ink); font-family: "Poiret One", sans-serif; }
.classroom-empty p, .panel-empty { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 13px; }

.deco-modal .modal-content,
.deco-panel {
  background: var(--live-paper);
  border: 1px solid var(--live-gold);
  border-radius: 0;
  box-shadow: var(--live-shadow);
  color: var(--live-ink);
}
.deco-modal .modal-header, .deco-modal .modal-footer { border-color: var(--live-line); }
.deco-modal h4, .deco-panel h3 { color: var(--live-ink); font-family: "Poiret One", sans-serif; }
.deco-modal label, .deco-panel label { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.deco-modal .form-control, .deco-panel .form-control, .scholar-live-shell .form-control {
  background: color-mix(in srgb, var(--live-purple) 3%, var(--live-paper)) !important;
  border: 1px solid var(--live-line) !important;
  border-radius: 0 !important;
  color: var(--live-ink) !important;
  font-family: "Open Sans", sans-serif;
  margin-bottom: 14px;
  min-height: 45px;
}
.form-hint { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 11px; margin-top: 8px; }
.join-code { background: var(--live-purple); color: #fff3c0; font-family: monospace; letter-spacing: .14em; padding: 6px 9px; }
.deco-panel { min-height: 100%; padding: 26px; }
.deco-panel-heading { align-items: center; border-bottom: 1px solid var(--live-line); display: flex; justify-content: space-between; margin-bottom: 20px; padding-bottom: 16px; }
.deco-panel-heading h3 { font-size: 24px; margin: 4px 0 0; }

.roster-list, .session-list { display: grid; gap: 9px; }
.roster-person, .session-row { align-items: center; background: color-mix(in srgb, var(--live-purple) 3%, var(--live-paper)); border: 1px solid var(--live-line); display: flex; gap: 12px; padding: 12px; }
.roster-person img { border: 1px solid var(--live-gold); border-radius: 100%; height: 42px; object-fit: cover; width: 42px; }
.roster-person > div, .session-row > div:nth-child(2) { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.roster-person strong, .session-row strong { color: var(--live-ink); font-family: "Poiret One", sans-serif; font-weight: 800; }
.roster-person span, .session-row span { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.icon-button { background: transparent; border: 0; color: var(--live-muted); }
.session-orb { background: #aaa; border-radius: 100%; height: 10px; width: 10px; }
.session-orb.live { animation: livePulse 1.5s infinite; background: var(--live-good); }
.session-orb.ended { background: var(--live-gold); }
.session-row-actions { display: flex; flex-direction: row !important; gap: 10px; }
.session-row-actions a { color: var(--live-gold-dark); font-family: "Open Sans", sans-serif; font-size: 11px; font-weight: 700; }

.monitor-header-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.monitor-pulsebar {
  background: var(--live-purple-deep);
  border: 1px solid var(--live-gold);
  color: #fff4c5;
  display: flex;
  margin-bottom: 24px;
  min-height: 92px;
}
.monitor-pulsebar > div { align-items: center; border-right: 1px solid rgba(212,175,55,.28); display: flex; flex: 0 0 140px; flex-direction: column; justify-content: center; }
.monitor-pulsebar strong { font-family: "Poiret One", sans-serif; font-size: 30px; line-height: 1; }
.monitor-pulsebar span { font-family: "Open Sans", sans-serif; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.monitor-pulsebar .attention strong { color: #ffad95; }
.monitor-pulsebar .sync-indicator { flex: 1; flex-direction: row; gap: 9px; }
.sync-indicator > span { animation: livePulse 1.5s infinite; background: #2ed28c; border-radius: 100%; height: 7px; width: 7px; }
.question-console { position: sticky; top: 90px; }
.question-prompt { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 18px !important; }
.question-queue { border-top: 1px solid var(--live-line); display: grid; gap: 8px; margin-top: 20px; padding-top: 20px; }
.queue-question { align-items: center; background: color-mix(in srgb, var(--live-purple) 4%, var(--live-paper)); border-left: 2px solid var(--live-line); display: flex; gap: 11px; padding: 11px; }
.queue-question.live { border-color: var(--live-good); }
.queue-position { align-items: center; border: 1px solid var(--live-gold); color: var(--live-gold-dark); display: flex; flex: 0 0 29px; font-family: "Poiret One", sans-serif; height: 29px; justify-content: center; }
.queue-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.queue-copy strong { color: var(--live-ink); font-family: "Cormorant Garamond", serif; font-size: 15px; line-height: 1.2; }
.queue-copy span, .queue-copy small { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 9px; text-transform: uppercase; }
.launch-question { background: var(--live-purple); border: 1px solid var(--live-gold); color: #fff4c5; font-family: "Poiret One", sans-serif; font-size: 10px; padding: 7px 9px; text-transform: uppercase; }
.live-question-chip { color: var(--live-good); font-family: "Open Sans", sans-serif; font-size: 10px; font-weight: 800; }
.roster-filters { display: flex; gap: 5px; }
.roster-filters button { background: transparent; border: 1px solid var(--live-line); color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 9px; padding: 7px 10px; text-transform: uppercase; }
.roster-filters button.active { background: var(--live-purple); border-color: var(--live-gold); color: #fff; }
.state-legend { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; }
.state-legend span { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 9px; }
.state-legend span::before { background: #aaa; border-radius: 100%; content: ""; display: inline-block; height: 7px; margin-right: 4px; width: 7px; }
.state-legend .caught_up::before { background: var(--live-good); }
.state-legend .writing::before { background: #3478c9; }
.state-legend .needs_response::before { background: var(--live-danger); }
.state-legend .off_page::before { background: var(--live-warn); }
.state-legend .bathroom::before { background: #7656ad; }
.live-roster-grid { display: grid; gap: 11px; grid-template-columns: repeat(auto-fill, minmax(225px, 1fr)); }
.live-student-card { background: color-mix(in srgb, var(--live-purple) 3%, var(--live-paper)); border: 1px solid var(--live-line); border-top: 3px solid #aaa; min-height: 175px; padding: 14px; }
.live-student-card.state-caught_up { border-top-color: var(--live-good); }
.live-student-card.state-writing { border-top-color: #3478c9; }
.live-student-card.state-needs_response { border-top-color: var(--live-danger); }
.live-student-card.state-off_page { border-top-color: var(--live-warn); }
.live-student-card.state-bathroom, .live-student-card.state-away { border-top-color: #7656ad; }
.student-card-head { align-items: center; display: flex; gap: 9px; }
.student-card-head img { border: 1px solid var(--live-gold); border-radius: 100%; height: 34px; object-fit: cover; width: 34px; }
.student-card-head div { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.student-card-head strong { color: var(--live-ink); font-family: "Poiret One", sans-serif; font-size: 13px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.student-card-head span { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 9px; }
.student-card-head b { color: var(--live-gold-dark); font-family: "Poiret One", sans-serif; font-size: 13px; }
.live-answer, .no-live-answer { -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--live-ink); display: -webkit-box; font-size: 14px; height: 55px; line-height: 1.3; margin: 14px 0; overflow: hidden; }
.no-live-answer { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 10px; }
.student-card-actions { border-top: 1px solid var(--live-line); display: flex; justify-content: space-between; padding-top: 9px; }
.student-card-actions a, .student-card-actions button { background: transparent; border: 0; color: var(--live-gold-dark); font-family: "Open Sans", sans-serif; font-size: 9px; font-weight: 700; padding: 0; text-transform: uppercase; }
.privacy-footnote { margin: 20px 0 0; }
.privacy-footnote i { color: var(--live-gold-dark); }
.monitor-toast { background: var(--live-purple-deep); border: 1px solid var(--live-gold); bottom: 28px; color: #fff4c5; font-family: "Open Sans", sans-serif; font-size: 12px; left: 50%; opacity: 0; padding: 13px 22px; pointer-events: none; position: fixed; transform: translate(-50%, 20px); transition: .2s ease; z-index: 9999; }
.monitor-toast.show { opacity: 1; transform: translate(-50%, 0); }
.monitor-toast.error { border-color: #f46e7f; }

.projector-board {
  background:
    repeating-conic-gradient(from -12deg at 50% 120%, #410026 0deg 6deg, #5a0036 6deg 12deg);
  color: #fff4c5;
  font-family: "Cormorant Garamond", Georgia, serif;
  margin: 0;
  min-height: 100vh;
  padding: 3.5vh 3.5vw;
}
.board-frame { border: 4px double #d4af37; display: flex; flex-direction: column; min-height: 92vh; position: relative; }
.board-frame::after { border: 1px solid #d4af37; bottom: 12px; content: ""; left: 12px; pointer-events: none; position: absolute; right: 12px; top: 12px; }
.board-frame header, .board-frame footer { align-items: center; display: flex; font-family: "Poiret One", sans-serif; justify-content: space-between; letter-spacing: .14em; padding: 25px 38px; position: relative; text-transform: uppercase; z-index: 1; }
.board-frame header { border-bottom: 1px solid rgba(212,175,55,.6); }
.board-frame header span, .board-frame header b { font-size: clamp(11px, 1.3vw, 18px); }
.board-frame header strong { color: #d4af37; font-size: clamp(14px, 1.8vw, 24px); }
#boardQuestion { align-items: center; display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 5vw 10vw; position: relative; text-align: center; z-index: 1; }
.board-kicker { color: #d4af37; font-family: "Poiret One", sans-serif; font-size: clamp(12px, 1.4vw, 20px); letter-spacing: .22em; text-transform: uppercase; }
#boardQuestion h1 { font-size: clamp(42px, 6.2vw, 105px); font-weight: 500; line-height: 1.02; margin: 2vh 0; max-width: 1450px; }
.board-choices { display: grid; font-size: clamp(22px, 2.2vw, 40px); gap: 14px; grid-template-columns: repeat(2, minmax(260px, 1fr)); list-style-position: inside; margin-top: 3vh; padding: 0; width: 100%; }
.board-choices li { background: rgba(24,0,14,.38); border: 1px solid rgba(212,175,55,.55); padding: 13px 20px; }
.board-frame footer i { background: #d4af37; height: 1px; width: 42%; }

.grading-list { display: grid; gap: 14px; }
.grading-card { background: var(--live-paper); border: 1px solid var(--live-line); border-left: 4px solid var(--live-warn); box-shadow: var(--live-shadow); padding: 24px; }
.grading-card.is-graded { border-left-color: var(--live-good); }
.grading-card > header { color: var(--live-muted); display: flex; font-family: "Open Sans", sans-serif; font-size: 11px; gap: 12px; text-transform: uppercase; }
.grading-card > header strong { color: var(--live-ink); flex: 1; font-family: "Poiret One", sans-serif; }
.grading-card h4 { color: var(--live-ink); font-family: "Cormorant Garamond", serif; margin: 15px 0 8px; }
.grading-card blockquote { background: color-mix(in srgb, var(--live-purple) 4%, var(--live-paper)); border-left: 2px solid var(--live-gold); color: var(--live-ink); font-size: 18px; margin: 0 0 18px; padding: 15px; }
.grade-controls { align-items: flex-end; display: flex; gap: 12px; }
.grade-controls label { color: var(--live-muted); display: flex; flex-direction: column; font-family: "Open Sans", sans-serif; font-size: 10px; text-transform: uppercase; }
.grade-controls label:first-child { flex: 0 0 130px; }
.grade-controls label:first-child span { position: absolute; }
.grade-controls .feedback-label { flex: 1; }
.grade-controls .form-control { margin: 5px 0 0; }

.insight-table-wrap { background: var(--live-paper); border: 1px solid var(--live-gold); box-shadow: var(--live-shadow); overflow-x: auto; padding: 20px; }
.insight-table { border-collapse: collapse; min-width: 900px; width: 100%; }
.insight-table th { border: 0 !important; border-bottom: 1px solid var(--live-gold) !important; color: var(--live-gold-dark); font-family: "Poiret One", sans-serif; font-size: 10px; letter-spacing: .1em; padding: 13px; text-transform: uppercase; }
.insight-table td { border: 0 !important; border-bottom: 1px solid var(--live-line) !important; color: var(--live-ink); font-family: "Open Sans", sans-serif; font-size: 12px; padding: 16px 13px; vertical-align: middle; }
.insight-table td:first-child { align-items: center; display: flex; gap: 9px; }
.insight-table img { border: 1px solid var(--live-gold); border-radius: 100%; height: 34px; object-fit: cover; width: 34px; }
.insight-table a { color: var(--live-gold-dark); font-weight: 700; }
.metric-bar { background: var(--live-line); height: 5px; margin-bottom: 5px; width: 120px; }
.metric-bar i { background: var(--live-good); display: block; height: 100%; }
.student-detail-hero img { border: 2px solid var(--live-gold); border-radius: 100%; float: left; height: 72px; margin-right: 17px; object-fit: cover; width: 72px; }
.student-response-history { display: grid; gap: 11px; }
.student-response-history article { background: color-mix(in srgb, var(--live-purple) 3%, var(--live-paper)); border-left: 2px solid var(--live-gold); padding: 16px; }
.student-response-history header, .student-response-history footer { color: var(--live-muted); display: flex; font-family: "Open Sans", sans-serif; font-size: 10px; justify-content: space-between; }
.student-response-history h4 { color: var(--live-ink); font-size: 17px; margin: 10px 0 5px; }
.student-response-history p { color: var(--live-ink); font-size: 16px; }
.student-response-history footer strong { color: var(--live-gold-dark); }
.away-timeline { display: grid; gap: 13px; }
.away-timeline article { display: flex; gap: 11px; }
.away-timeline article > i { background: #7656ad; border-radius: 100%; height: 10px; margin-top: 6px; width: 10px; }
.away-timeline div { display: flex; flex-direction: column; }
.away-timeline strong { color: var(--live-ink); font-family: "Poiret One", sans-serif; }
.away-timeline span, .away-timeline small { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 10px; }

.scholar-classroom-hub { background: var(--live-paper, #fffdf7); border: 1px solid var(--live-gold, #d4af37); box-shadow: var(--live-shadow, 0 20px 60px rgba(47,0,29,.1)); margin-bottom: 24px; padding: 24px; }
.scholar-hub-heading { align-items: flex-end; display: flex; justify-content: space-between; }
.scholar-hub-heading h3 { color: var(--live-ink); font-family: "Poiret One", sans-serif; }
.scholar-hub-heading form { display: flex; gap: 7px; }
.scholar-hub-heading .form-control { letter-spacing: .15em; margin: 0; max-width: 150px; text-transform: uppercase; }
.scholar-class-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: 20px; }
.scholar-class-grid article { background: color-mix(in srgb, var(--live-purple) 3%, var(--live-paper)); border-top: 3px solid var(--live-line); padding: 18px; }
.scholar-class-grid article.is-live { border-top-color: var(--live-good); }
.scholar-class-grid article > span { color: var(--live-gold-dark); font-family: "Open Sans", sans-serif; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.scholar-class-grid h4 { color: var(--live-ink); font-family: "Poiret One", sans-serif; margin: 8px 0; }
.scholar-class-grid p { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 12px; }

.scholar-live-shell { max-width: 1200px; }
.scholar-live-header { align-items: center; background: var(--live-purple-deep); border: 1px solid var(--live-gold); color: #fff3c3; display: flex; justify-content: space-between; padding: 22px 26px; }
.scholar-live-header h2 { color: #fff8e1; font-family: "Poiret One", sans-serif; margin: 5px 0 0; }
.scholar-status-control { align-items: center; display: flex; gap: 6px; }
.scholar-status-control > span { font-family: "Open Sans", sans-serif; font-size: 10px; margin-right: 12px; text-transform: uppercase; }
.scholar-status-control > span i { animation: livePulse 1.5s infinite; background: #2ed28c; border-radius: 100%; display: inline-block; height: 7px; margin-right: 5px; width: 7px; }
.scholar-status-control button { background: transparent; border: 1px solid rgba(212,175,55,.5); color: #fff3c3; font-family: "Open Sans", sans-serif; font-size: 9px; padding: 8px 10px; text-transform: uppercase; }
.scholar-status-control .return-button { background: #fff3c3; color: #31001d; }
.student-notifications article { align-items: center; background: #fff0c6; border: 1px solid #d4af37; color: #3b2615; display: flex; gap: 13px; margin-top: 10px; padding: 14px 18px; }
.student-notifications article > i { color: #a46f00; font-size: 20px; }
.student-notifications article div { flex: 1; }
.student-notifications strong { font-family: "Poiret One", sans-serif; font-weight: 800; }
.student-notifications p { font-family: "Open Sans", sans-serif; font-size: 12px; margin: 2px 0 0; }
.student-notifications button { background: transparent; border: 0; color: #6d5027; font-size: 22px; }
.scholar-progress { margin: 20px 0; }
.scholar-progress > div:first-child { color: var(--live-muted); display: flex; font-family: "Open Sans", sans-serif; font-size: 10px; justify-content: space-between; text-transform: uppercase; }
.scholar-progress-track { background: var(--live-line); height: 7px; margin-top: 8px; }
.scholar-progress-track i { background: linear-gradient(90deg, var(--live-purple), var(--live-gold)); display: block; height: 100%; transition: width .35s ease; width: 0; }
.scholar-response-stage { min-height: 470px; }
.waiting-card, .scholar-question-card { background: var(--live-paper); border: 1px solid var(--live-gold); box-shadow: var(--live-shadow); min-height: 430px; padding: clamp(28px, 6vw, 72px); }
.waiting-card { align-items: center; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.waiting-card h3 { color: var(--live-ink); font-family: "Poiret One", sans-serif; font-size: 30px; }
.waiting-card > p:last-child { color: var(--live-muted); font-family: "Open Sans", sans-serif; }
.scholar-question-card > header { align-items: center; color: var(--live-muted); display: flex; font-family: "Open Sans", sans-serif; font-size: 10px; gap: 12px; text-transform: uppercase; }
.scholar-question-card > header span { color: var(--live-gold-dark); font-weight: 800; }
.scholar-question-card > header b { background: var(--live-danger); color: #fff; padding: 4px 7px; }
.scholar-question-card > header strong { margin-left: auto; }
.scholar-question-card h3 { color: var(--live-ink); font-family: "Cormorant Garamond", serif; font-size: clamp(28px, 4vw, 46px); line-height: 1.1; margin: 28px 0; }
.scholar-answer-input { font-size: 17px !important; }
.scholar-choice-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(220px, 1fr)); }
.scholar-choice-grid label { cursor: pointer; margin: 0; }
.scholar-choice-grid input { opacity: 0; position: absolute; }
.scholar-choice-grid span { background: color-mix(in srgb, var(--live-purple) 3%, var(--live-paper)); border: 1px solid var(--live-line); color: var(--live-ink); display: block; font-family: "Open Sans", sans-serif; font-size: 13px; min-height: 58px; padding: 18px; }
.scholar-choice-grid input:checked + span { background: var(--live-purple); border-color: var(--live-gold); color: #fff5cf; }
.answer-actions { align-items: center; border-top: 1px solid var(--live-line); display: flex; justify-content: space-between; margin-top: 22px; padding-top: 18px; }
.answer-actions > span { color: var(--live-muted); font-family: "Open Sans", sans-serif; font-size: 10px; }
.catchup-rail { background: var(--live-purple-deep); border: 1px solid var(--live-gold); color: #fff3c3; margin-top: 15px; padding: 17px 20px; }
.catchup-rail > strong { font-family: "Poiret One", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.catchup-rail > span { align-items: center; background: #fff3c3; border-radius: 100%; color: #31001d; display: inline-flex; font-family: "Open Sans", sans-serif; font-size: 10px; height: 21px; justify-content: center; margin-left: 7px; width: 21px; }
.catchup-rail p { color: rgba(255,243,195,.7); display: inline; font-family: "Open Sans", sans-serif; font-size: 10px; margin-left: 14px; }
.catchup-rail > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.catchup-rail button { background: transparent; border: 1px solid rgba(212,175,55,.5); color: #fff3c3; font-family: "Open Sans", sans-serif; font-size: 10px; padding: 7px 10px; }
.catchup-rail button.active { background: #fff3c3; color: #31001d; }
.scholar-is-away .scholar-response-stage { filter: saturate(.4); opacity: .68; }

@media (max-width: 991.98px) {
  .classroom-hero, .scholar-live-header { align-items: flex-start; flex-direction: column; gap: 20px; }
  .question-console { position: static; }
  .monitor-pulsebar { flex-wrap: wrap; }
  .monitor-pulsebar > div { flex: 1 0 25%; min-height: 70px; }
  .monitor-pulsebar .sync-indicator { flex-basis: 100%; }
  .grade-controls { align-items: stretch; flex-direction: column; }
  .grade-controls label:first-child { flex-basis: auto; }
}

@media (max-width: 767.98px) {
  .live-classroom-shell, .scholar-live-shell { padding: 18px 8px 40px; }
  .classroom-hero { padding: 28px 22px; }
  .classroom-hero h2 { font-size: 36px; }
  .classroom-hero::before { opacity: .45; }
  .monitor-header-actions, .scholar-status-control { align-items: stretch; width: 100%; }
  .monitor-header-actions .btn { flex: 1 0 45%; }
  .scholar-status-control { flex-wrap: wrap; }
  .scholar-status-control > span { flex-basis: 100%; }
  .monitor-pulsebar > div { flex-basis: 50%; }
  .deco-panel { padding: 18px 12px; }
  .deco-panel-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .roster-filters { overflow-x: auto; width: 100%; }
  .live-roster-grid { grid-template-columns: 1fr; }
  .scholar-hub-heading { align-items: stretch; flex-direction: column; gap: 15px; }
  .scholar-hub-heading .form-control { flex: 1; max-width: none; }
  .scholar-question-card, .waiting-card { min-height: 400px; padding: 26px 18px; }
  .scholar-choice-grid { grid-template-columns: 1fr; }
  .answer-actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .answer-actions .btn { width: 100%; }
  .catchup-rail p { display: block; margin: 8px 0 0; }
  .board-choices { grid-template-columns: 1fr; }
}

/* ================================================================
   MATRIX APPEARANCE
   Black glass, phosphor green, measured terminal glow.
   ================================================================ */
.appearance-card-matrix {
  background: #020806;
  border-color: #00d936;
  color: #caffd5;
}
.appearance-card-matrix .appearance-preview {
  background:
    linear-gradient(90deg, rgba(0,255,65,.08) 1px, transparent 1px),
    linear-gradient(rgba(0,255,65,.07) 1px, transparent 1px),
    #000;
  background-size: 10px 10px;
}
.appearance-card-matrix .appearance-preview-sidebar { background: #001e08; border-right-color: #00ff41; }
.appearance-card-matrix .appearance-preview-content span { background: #003b11; border-color: #00b82e; }
.appearance-card-matrix .appearance-copy strong { color: #00ff41; font-family: "Courier New", monospace; text-shadow: 0 0 8px rgba(0,255,65,.55); }
.appearance-card-matrix .appearance-copy small { color: #8dcf9c; }

.theme-matrix.refined-deco-app {
  --live-ink: #caffd5;
  --live-purple: #001e08;
  --live-purple-deep: #000;
  --live-plum: #003b11;
  --live-gold: #00ff41;
  --live-gold-dark: #00c933;
  --live-cream: #001308;
  --live-paper: #020806;
  --live-muted: #7fbc8c;
  --live-line: rgba(0,255,65,.2);
  --live-good: #00ff41;
  --live-warn: #c7ff00;
  --live-danger: #ff476f;
  --live-shadow: 0 0 0 1px rgba(0,255,65,.08), 0 20px 55px rgba(0,0,0,.5);
}

body.theme-matrix.refined-deco-app,
body.theme-matrix.refined-deco-login,
body.theme-matrix.refined-deco-assignment {
  background:
    linear-gradient(90deg, rgba(0,255,65,.025) 1px, transparent 1px),
    linear-gradient(rgba(0,255,65,.02) 1px, transparent 1px),
    #000;
  background-size: 34px 34px;
  color: #caffd5;
  font-family: "Courier New", Consolas, monospace;
}

.theme-matrix.refined-deco-app h1,
.theme-matrix.refined-deco-app h2,
.theme-matrix.refined-deco-app h3,
.theme-matrix.refined-deco-app h4,
.theme-matrix.refined-deco-app h5,
.theme-matrix.refined-deco-app h6,
.theme-matrix.refined-deco-app .page-title,
.theme-matrix.refined-deco-app .card-title,
.theme-matrix.refined-deco-app .modal-title,
.theme-matrix .deco-login-card h1,
.theme-matrix.refined-deco-assignment .question_title h1 {
  color: #00ff41 !important;
  font-family: "Courier New", Consolas, monospace !important;
  letter-spacing: .04em;
  text-shadow: 0 0 10px rgba(0,255,65,.25);
}

body.theme-matrix.refined-deco-app.dark-sidenav .left-sidenav {
  background:
    linear-gradient(rgba(0,255,65,.025) 1px, transparent 1px),
    #000 !important;
  background-size: 100% 22px !important;
  border-right: 1px solid #00ff41;
  box-shadow: 10px 0 32px rgba(0,255,65,.06);
}
.theme-matrix.refined-deco-app .brand {
  background: #000 !important;
  border-bottom: 1px solid #00ff41 !important;
}
.theme-matrix.refined-deco-app .brand::before,
.theme-matrix.refined-deco-app .brand::after,
.theme-matrix.refined-deco-app .navbar-custom::after,
.theme-matrix.refined-deco-app .page-content > .container-fluid:first-child::after,
.theme-matrix.refined-deco-app .page-content > .container:first-child::after {
  background: #00ff41 !important;
  box-shadow: 0 0 12px rgba(0,255,65,.55);
}
body.theme-matrix.refined-deco-app.dark-sidenav .left-sidenav-menu li > a {
  color: #85be91 !important;
  font-family: "Courier New", Consolas, monospace;
  letter-spacing: .02em;
}
body.theme-matrix.refined-deco-app.dark-sidenav .left-sidenav-menu li > a:hover,
body.theme-matrix.refined-deco-app.dark-sidenav .left-sidenav-menu li.mm-active > a,
body.theme-matrix.refined-deco-app.dark-sidenav .left-sidenav-menu li > a.active {
  background: rgba(0,255,65,.08) !important;
  border-left-color: #00ff41 !important;
  color: #00ff41 !important;
  text-shadow: 0 0 7px rgba(0,255,65,.5);
}
body.theme-matrix.refined-deco-app.dark-sidenav .left-sidenav-menu li > a i,
body.theme-matrix.refined-deco-app.dark-sidenav .left-sidenav-menu li > a .menu-icon,
body.theme-matrix.refined-deco-app .left-sidenav-menu .menu-label {
  color: #00ff41 !important;
}
body.theme-matrix.refined-deco-app .left-sidenav-menu .menu-label {
  font-family: "Courier New", Consolas, monospace;
  letter-spacing: .18em;
}
.theme-matrix.refined-deco-app .page-wrapper,
.theme-matrix.refined-deco-app .page-content { background: transparent !important; }
.theme-matrix.refined-deco-app .topbar {
  background: rgba(0,5,2,.96) !important;
  border-bottom: 1px solid rgba(0,255,65,.45) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.6) !important;
}
.theme-matrix.refined-deco-app .navbar-custom .nav-link,
.theme-matrix.refined-deco-app .topbar-icon,
.theme-matrix.refined-deco-app .nav-user-name,
.theme-matrix.refined-deco-app .account-role-label { color: #00ff41 !important; }
.theme-matrix.refined-deco-app .page-content > .container-fluid:first-child,
.theme-matrix.refined-deco-app .page-content > .container:first-child {
  background: #020806 !important;
  border-color: #00ff41 !important;
  box-shadow: 0 0 45px rgba(0,255,65,.05) !important;
}
.theme-matrix.refined-deco-app .card,
.theme-matrix.refined-deco-app .card-,
.theme-matrix.refined-deco-app .security-status-card,
.theme-matrix.refined-deco-app .security-required-notice,
.theme-matrix.refined-deco-app .scholar-assignment-card,
.theme-matrix.refined-deco-app .empty-assignment-card,
.theme-matrix.refined-deco-app .account-roster-card {
  background: #020806 !important;
  border-color: rgba(0,255,65,.4) !important;
  color: #caffd5 !important;
  box-shadow: 0 0 30px rgba(0,255,65,.04) !important;
}
.theme-matrix.refined-deco-app .card::before,
.theme-matrix.refined-deco-app .card-::before { background: #00ff41 !important; }
.theme-matrix.refined-deco-app .card-header {
  background: #001308 !important;
  border-color: rgba(0,255,65,.28) !important;
}
.theme-matrix.refined-deco-app p,
.theme-matrix.refined-deco-app span,
.theme-matrix.refined-deco-app label,
.theme-matrix.refined-deco-app td { color: #9ed1a9; }
.theme-matrix.refined-deco-app strong,
.theme-matrix.refined-deco-app th,
.theme-matrix.refined-deco-app a { color: #00e73b; }
.theme-matrix.refined-deco-app .form-control,
.theme-matrix.refined-deco-app .form-select,
.theme-matrix.refined-deco-app input,
.theme-matrix.refined-deco-app textarea,
.theme-matrix.refined-deco-app select {
  background: #000 !important;
  border: 1px solid rgba(0,255,65,.42) !important;
  border-radius: 0 !important;
  color: #caffd5 !important;
  caret-color: #00ff41;
  font-family: "Courier New", Consolas, monospace !important;
}
.theme-matrix.refined-deco-app .form-control:focus,
.theme-matrix.refined-deco-app .form-select:focus,
.theme-matrix.refined-deco-app input:focus,
.theme-matrix.refined-deco-app textarea:focus,
.theme-matrix.refined-deco-app select:focus {
  border-color: #00ff41 !important;
  box-shadow: 0 0 0 2px rgba(0,255,65,.1), 0 0 16px rgba(0,255,65,.08) !important;
}
.theme-matrix.refined-deco-app .btn-primary,
.theme-matrix.refined-deco-app .appearance-save,
.theme-matrix.refined-deco-app .btn.deco-primary {
  background: #001e08 !important;
  border: 1px solid #00ff41 !important;
  color: #00ff41 !important;
  font-family: "Courier New", Consolas, monospace !important;
  box-shadow: inset 0 0 12px rgba(0,255,65,.06), 0 0 10px rgba(0,255,65,.08) !important;
  text-shadow: 0 0 6px rgba(0,255,65,.5);
}
.theme-matrix.refined-deco-app .table,
.theme-matrix.refined-deco-app table.dataTable,
.theme-matrix.refined-deco-app table.dataTable tbody tr,
.theme-matrix.refined-deco-app table.dataTable tbody td {
  background: #020806 !important;
  border-color: rgba(0,255,65,.2) !important;
  color: #b5dec0 !important;
}
.theme-matrix.refined-deco-app table.dataTable thead th,
.theme-matrix.refined-deco-app .table thead th { background: #001308 !important; color: #00ff41 !important; }
.theme-matrix.refined-deco-app .footer { background: #000 !important; border-top-color: rgba(0,255,65,.35) !important; color: #559763 !important; }

body.theme-matrix.refined-deco-login {
  background:
    linear-gradient(90deg, rgba(0,255,65,.035) 1px, transparent 1px),
    linear-gradient(rgba(0,255,65,.03) 1px, transparent 1px),
    radial-gradient(circle at 50% 35%, #00230b, #000 58%);
  background-size: 30px 30px, 30px 30px, auto;
}
.theme-matrix .deco-login-stage::before {
  background: repeating-linear-gradient(90deg, transparent 0 17px, rgba(0,255,65,.04) 17px 18px);
  opacity: 1;
}
.theme-matrix .deco-login-card {
  background: rgba(0,7,3,.96);
  border-color: #00ff41;
  box-shadow: 0 0 60px rgba(0,255,65,.12);
  color: #caffd5;
}
.theme-matrix .deco-login-card::before,
.theme-matrix .deco-login-card::after { border-color: rgba(0,255,65,.6); }
.theme-matrix .deco-crest { border-color: #00ff41; box-shadow: 0 0 18px rgba(0,255,65,.28); }
.theme-matrix .deco-dog-crest { filter: grayscale(.4) contrast(1.1) sepia(.2) hue-rotate(70deg) saturate(1.8); }
.theme-matrix .deco-rule .deco-line { background: linear-gradient(90deg, transparent, #00ff41); }
.theme-matrix .deco-rule .deco-line:last-child { background: linear-gradient(90deg, #00ff41, transparent); }
.theme-matrix .deco-diamond { background: #00ff41; box-shadow: 0 0 9px rgba(0,255,65,.8); }
.theme-matrix .deco-field label,
.theme-matrix .deco-checkbox { color: #80c18e; font-family: "Courier New", Consolas, monospace; }
.theme-matrix .deco-field input {
  background: #000;
  border-color: rgba(0,255,65,.48);
  color: #caffd5;
  font-family: "Courier New", Consolas, monospace;
}
.theme-matrix .deco-field input:focus { border-color: #00ff41; box-shadow: 0 0 14px rgba(0,255,65,.15); }
.theme-matrix .deco-show-pass { color: #00ff41; }
.theme-matrix .deco-submit {
  background: #001e08;
  border-color: #00ff41;
  color: #00ff41;
  font-family: "Courier New", Consolas, monospace;
  text-shadow: 0 0 6px rgba(0,255,65,.55);
}
.theme-matrix .deco-book-portrait { border-color: rgba(0,255,65,.55); box-shadow: 0 0 24px rgba(0,255,65,.09); }

body.theme-matrix.refined-deco-assignment {
  background:
    linear-gradient(90deg, rgba(0,255,65,.03) 1px, transparent 1px),
    linear-gradient(rgba(0,255,65,.025) 1px, transparent 1px),
    #000 !important;
  background-size: 32px 32px !important;
}
.theme-matrix.refined-deco-assignment .container {
  background: #020806 !important;
  border: 1px solid #00ff41 !important;
  box-shadow: 0 0 50px rgba(0,255,65,.08) !important;
}
.theme-matrix.refined-deco-assignment .container::before,
.theme-matrix.refined-deco-assignment .container::after { border-color: rgba(0,255,65,.5) !important; }
.theme-matrix.refined-deco-assignment h5,
.theme-matrix.refined-deco-assignment b,
.theme-matrix.refined-deco-assignment label,
.theme-matrix.refined-deco-assignment p { color: #b8dfc1 !important; font-family: "Courier New", Consolas, monospace !important; }
.theme-matrix.refined-deco-assignment ul li { background: #001308 !important; border-color: rgba(0,255,65,.26) !important; color: #caffd5 !important; }
.theme-matrix.refined-deco-assignment textarea,
.theme-matrix.refined-deco-assignment .form-control {
  background: #000 !important;
  border-color: rgba(0,255,65,.45) !important;
  color: #caffd5 !important;
  font-family: "Courier New", Consolas, monospace !important;
}
.theme-matrix.refined-deco-assignment .f_btn,
.theme-matrix.refined-deco-assignment button[type="submit"] {
  background: #001e08 !important;
  border: 1px solid #00ff41 !important;
  color: #00ff41 !important;
  font-family: "Courier New", Consolas, monospace !important;
}

.projector-board.theme-matrix {
  background:
    linear-gradient(90deg, rgba(0,255,65,.035) 1px, transparent 1px),
    linear-gradient(rgba(0,255,65,.03) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, #00240c, #000 70%);
  background-size: 42px 42px, 42px 42px, auto;
  color: #caffd5;
  font-family: "Courier New", Consolas, monospace;
}
.projector-board.theme-matrix .board-frame { border-color: #00ff41; box-shadow: 0 0 45px rgba(0,255,65,.12); }
.projector-board.theme-matrix .board-frame::after,
.projector-board.theme-matrix .board-frame header { border-color: rgba(0,255,65,.5); }
.projector-board.theme-matrix .board-frame header,
.projector-board.theme-matrix .board-frame footer,
.projector-board.theme-matrix .board-kicker { font-family: "Courier New", Consolas, monospace; }
.projector-board.theme-matrix .board-frame header strong,
.projector-board.theme-matrix .board-kicker { color: #00ff41; text-shadow: 0 0 10px rgba(0,255,65,.45); }
.projector-board.theme-matrix .board-choices li { background: rgba(0,16,6,.72); border-color: rgba(0,255,65,.5); }
.projector-board.theme-matrix .board-frame footer i { background: #00ff41; box-shadow: 0 0 8px rgba(0,255,65,.7); }
