.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
          box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  left: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  right: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57,57,57,0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0,0,0,0.1);
}
.numInputWrapper span:active {
  background: rgba(0,0,0,0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57,57,57,0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57,57,57,0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0,0,0,0.5);
}
.numInputWrapper:hover {
  background: rgba(0,0,0,0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0,0,0,0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0,0,0,0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
          box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
      -ms-flex-preferred-size: 14.2857143%;
          flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
          box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57,57,57,0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57,57,57,0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
          box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
          box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57,57,57,0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

:root {
  --bg: #f5f6f8;
  --surface: #ffffff;
  --surface-muted: #f8fafc;
  --border: #e5e7eb;
  --text: #172033;
  --muted: #667085;
  --primary: #635bff;
  --primary-strong: #5148e5;
  --success: #168a4a;
  --warning: #b77900;
  --danger: #d92d20;
  --info: #0277bd;
  --shadow: 0 0.1875rem 0.5rem 0 rgba(34, 48, 62, 0.1);
  --shadow-hover: 0 0.5rem 1.25rem rgba(34, 48, 62, 0.14);
  --shadow-filter: drop-shadow(0 0.1875rem 0.5rem rgba(34, 48, 62, 0.1));
  --shadow-hover-filter: drop-shadow(0 0.5rem 1.25rem rgba(34, 48, 62, 0.14));
  --sidebar-shadow: 0.125rem 0 0.75rem rgba(34, 48, 62, 0.055);
  --sidebar-width: 268px;
  --sidebar-collapsed-width: 78px;
  --topbar-height: 64px;
}

:root[data-theme="dark"] {
  --bg: #232333;
  --surface: #2b2c40;
  --surface-muted: #303249;
  --border: #44485e;
  --text: #e7e7f2;
  --muted: #a8abc4;
  --primary: #7367f0;
  --primary-strong: #8b80f7;
  --success: #35b779;
  --warning: #ffb84d;
  --danger: #ff6b64;
  --info: #4db6e5;
  --shadow: 0 0.1875rem 0.5rem 0 rgba(15, 16, 28, 0.26);
  --shadow-hover: 0 0.5rem 1.25rem rgba(15, 16, 28, 0.34);
  --shadow-filter: drop-shadow(0 0.1875rem 0.5rem rgba(15, 16, 28, 0.26));
  --shadow-hover-filter: drop-shadow(0 0.5rem 1.25rem rgba(15, 16, 28, 0.34));
  --sidebar-shadow: 0.125rem 0 0.75rem rgba(15, 16, 28, 0.28);
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

.app-shell {
  display: flex;
  min-height: 100vh;
  overflow-x: hidden;
}

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: var(--sidebar-width);
  max-width: var(--sidebar-width);
  border-right: 1px solid var(--border);
  background: var(--surface);
  box-shadow: var(--sidebar-shadow);
  overflow: visible;
  transition: width 180ms ease, max-width 180ms ease, box-shadow 180ms ease;
}

.sidebar-content {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
  padding: 16px 16px 6px;
  overflow: hidden;
  transition: padding 180ms ease;
}

.app-shell.is-sidebar-collapsed .sidebar {
  width: var(--sidebar-collapsed-width);
  max-width: var(--sidebar-collapsed-width);
}

.app-shell.is-sidebar-collapsed.is-sidebar-expanded .sidebar {
  width: var(--sidebar-width);
  max-width: var(--sidebar-width);
}

@media (min-width: 901px) {
  :root[data-sidebar-bootstrapping="true"] .sidebar,
  :root[data-sidebar-bootstrapping="true"] .sidebar-content,
  :root[data-sidebar-bootstrapping="true"] .workspace,
  :root[data-sidebar-bootstrapping="true"] .topbar,
  :root[data-sidebar-bootstrapping="true"] .brand,
  :root[data-sidebar-bootstrapping="true"] .nav-groups,
  :root[data-sidebar-bootstrapping="true"] .nav-section-title,
  :root[data-sidebar-bootstrapping="true"] .nav-section-title::before,
  :root[data-sidebar-bootstrapping="true"] .nav-item,
  :root[data-sidebar-bootstrapping="true"] .nav-icon,
  :root[data-sidebar-bootstrapping="true"] .nav-caret,
  :root[data-sidebar-bootstrapping="true"] .nav-children {
    transition: none !important;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .sidebar {
    width: var(--sidebar-collapsed-width);
    max-width: var(--sidebar-collapsed-width);
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .workspace {
    padding-left: var(--sidebar-collapsed-width);
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .topbar {
    left: var(--sidebar-collapsed-width);
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .sidebar-pin-toggle {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-4px) scale(0.92);
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .sidebar-content {
    padding-inline: 14px;
    padding-bottom: 6px;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-groups {
    align-items: stretch;
    margin-right: 0;
    padding-right: 0;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .brand {
    justify-content: center;
    gap: 0;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .brand > span:not(.brand-mark),
  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-item > span:not(.nav-icon):not(.nav-caret),
  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-caret {
    width: 0;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    white-space: nowrap;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-section-title {
    position: relative;
    height: 16px;
    padding: 8px 10px;
    color: transparent;
    overflow: hidden;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-section-title::before {
    content: "";
    position: absolute;
    inset: 50% 10px auto;
    height: 1px;
    background: var(--border);
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-children {
    display: none;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-item {
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    gap: 0;
    justify-content: center;
    width: 100%;
    padding: 8px 0;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-item .nav-icon {
    grid-area: 1 / 1;
    margin: 0;
  }

  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-item > span:not(.nav-icon),
  :root[data-sidebar-bootstrapping="true"][data-sidebar-pinned="false"] .nav-caret {
    display: none;
    margin-left: 0;
  }

  :root[data-sidebar-bootstrapping="true"][data-content-width="wide"] .topbar-inner,
  :root[data-sidebar-bootstrapping="true"][data-content-width="wide"] .page-stack {
    width: 100%;
    max-width: none;
  }
}

.sidebar-pin-toggle {
  position: absolute;
  top: 25px;
  right: -16px;
  z-index: 2;
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--bg);
  color: white;
  padding: 4px;
  transition: opacity 160ms ease, transform 180ms ease;
}

.sidebar-pin-toggle-inner {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--primary);
  box-shadow: 0 0.125rem 0.375rem rgba(99, 91, 255, 0.28);
  color: white;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.sidebar-pin-toggle:hover .sidebar-pin-toggle-inner {
  background: var(--primary-strong);
  box-shadow: 0 0.1875rem 0.5rem rgba(99, 91, 255, 0.34);
  transform: scale(1.04);
}

.app-shell.is-sidebar-collapsed .sidebar-pin-toggle {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-4px) scale(0.92);
}

.app-shell.is-sidebar-collapsed .sidebar:hover .sidebar-pin-toggle {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
}

.sidebar.is-compact .sidebar-content {
  padding-inline: 14px;
  padding-bottom: 6px;
}

.sidebar.is-compact .nav-groups {
  align-items: stretch;
  margin-right: 0;
  padding-right: 0;
}

.sidebar.is-compact .brand {
  justify-content: center;
}

.sidebar.is-compact .brand > span:not(.brand-mark),
.sidebar.is-compact .nav-item > span:not(.nav-icon):not(.nav-caret),
.sidebar.is-compact .nav-caret {
  width: 0;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  white-space: nowrap;
}

.sidebar.is-compact .nav-section-title {
  position: relative;
  height: 16px;
  padding: 8px 10px;
  color: transparent;
  overflow: hidden;
}

.sidebar.is-compact .nav-section-title::before {
  content: "";
  position: absolute;
  inset: 50% 10px auto;
  height: 1px;
  background: var(--border);
}

.sidebar.is-compact .nav-item {
  justify-content: center;
  gap: 0;
  width: 100%;
  padding-inline: 0;
}

.sidebar.is-compact .nav-icon {
  margin-inline: auto;
}

.sidebar.is-compact .nav-children {
  display: none;
}

.brand {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 12px;
}

.brand > span:not(.brand-mark) {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}

.brand-mark,
.avatar {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 700;
}

.nav-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--muted);
}

.brand-mark {
  width: 38px;
  height: 38px;
  background: var(--primary);
  color: white;
}

.brand strong {
  display: block;
  font-size: 14px;
  line-height: 20px;
}

.brand small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.nav-groups {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 0;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
  padding: 4px 0;
}

.nav-section {
  display: grid;
  gap: 4px;
}

.nav-section + .nav-section {
  margin-top: 6px;
}

.nav-section-title {
  padding: 12px 10px 4px;
  color: #98a2b3;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 16px;
  text-transform: uppercase;
}

@media (min-width: 901px) {
  .nav-groups {
    margin-right: -16px;
    padding-right: 16px;
  }

  .sidebar.is-compact .nav-groups {
    margin-right: 0;
    padding-right: 0;
  }
}

.nav-groups.is-mobile {
  overflow: hidden;
  overscroll-behavior: contain;
}

@media (max-width: 900px) {
  .nav-groups.is-mobile {
    margin-right: -16px;
    padding-right: 16px;
  }
}

.nav-groups:not(.ps--active-y) .ps__rail-y {
  display: none !important;
}

.nav-groups .ps__rail-x {
  display: none !important;
}

.nav-groups .ps__rail-y {
  right: 4px !important;
  width: 6px;
  background: transparent !important;
  opacity: 0;
  transition: opacity 140ms ease;
}

.nav-groups:hover .ps__rail-y,
.nav-groups.ps--scrolling-y .ps__rail-y {
  opacity: 1;
  width: 9px;
}

.nav-groups .ps__thumb-y {
  right: 0;
  width: 4px;
  border-radius: 999px;
  background: #cbd5e1;
}

.nav-groups .ps__rail-y:hover,
.nav-groups .ps__rail-y:focus,
.nav-groups .ps__rail-y.ps--clicking {
  background-color: rgba(15, 23, 42, 0.035) !important;
}

.nav-groups .ps__rail-y:hover > .ps__thumb-y,
.nav-groups .ps__rail-y:focus > .ps__thumb-y,
.nav-groups .ps__rail-y.ps--clicking > .ps__thumb-y {
  width: 6px !important;
  background: #d6dbe4;
}

.nav-group {
  border-radius: 8px;
}

.nav-item {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #344054;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
  padding: 8px 10px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  touch-action: manipulation;
}

.nav-item > span:not(.nav-icon):not(.nav-caret) {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--muted);
}

.nav-caret {
  margin-left: auto;
  color: var(--muted);
  font-size: 20px;
  transform: rotate(0deg);
  transition: transform 180ms ease;
}

.nav-group.is-expanded .nav-caret {
  transform: rotate(90deg);
}

.nav-item-parent {
  justify-content: flex-start;
}

.sidebar.is-compact .brand {
  gap: 0;
}

.app-shell.is-sidebar-collapsed.is-sidebar-expanded .brand > span:not(.brand-mark),
.app-shell.is-sidebar-collapsed.is-sidebar-expanded .nav-item > span:not(.nav-icon):not(.nav-caret),
.app-shell.is-sidebar-collapsed.is-sidebar-expanded .nav-caret,
.app-shell.is-sidebar-collapsed.is-sidebar-expanded .nav-children,
.app-shell.is-sidebar-collapsed.is-sidebar-expanded .nav-child-label,
.app-shell.is-sidebar-collapsed.is-sidebar-expanded .nav-child-link .nav-icon,
.app-shell.is-sidebar-collapsed.is-sidebar-expanded .nav-child-link::before {
  animation: sidebar-label-reveal 140ms ease 170ms both;
}

@keyframes sidebar-label-reveal {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.sidebar.is-compact .nav-item {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  gap: 0;
  padding: 8px 0;
}

.sidebar.is-compact .nav-item .nav-icon {
  grid-area: 1 / 1;
  margin: 0;
}

.sidebar.is-compact .nav-item > span:not(.nav-icon),
.sidebar.is-compact .nav-caret {
  display: none;
  margin-left: 0;
}

.nav-group.is-disabled .nav-item,
.nav-item:disabled,
.nav-child-group.is-disabled .nav-child-parent,
.nav-child-link.is-disabled,
.nav-children button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
  pointer-events: none;
}

.nav-group.is-disabled .nav-icon,
.nav-group.is-disabled .nav-caret,
.nav-child-link.is-disabled .nav-icon {
  color: #98a2b3;
}

.nav-group.is-active > .nav-item-parent,
.nav-group.is-child-active > .nav-item-parent,
.nav-child-group.is-active > .nav-child-parent {
  background: color-mix(in srgb, var(--primary) 10%, transparent);
  color: #344054;
  font-weight: 500;
}

.nav-group.is-active > .nav-item-parent .nav-icon,
.nav-group.is-child-active > .nav-item-parent .nav-icon,
.nav-group.is-active > .nav-item-parent .nav-caret,
.nav-group.is-child-active > .nav-item-parent .nav-caret,
.nav-child-group.is-active > .nav-child-parent .nav-icon,
.nav-child-group.is-active > .nav-child-parent .nav-caret {
  color: var(--primary-strong);
}

.nav-group.is-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
.nav-group.is-child-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
.nav-group.is-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
.nav-group.is-child-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
.nav-child-group.is-active > .nav-child-parent > span:not(.nav-icon):not(.nav-caret) {
  color: var(--primary-strong);
}

.nav-group.is-active > .nav-item .nav-icon,
.nav-group.is-active > .nav-item-parent .nav-icon,
.nav-group.is-child-active > .nav-item-parent .nav-icon,
.nav-child-group.is-active > .nav-child-parent .nav-icon {
  color: var(--primary-strong);
}

.nav-children {
  display: grid;
  gap: 0;
  max-height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: max-height 180ms ease, opacity 180ms ease, padding 180ms ease;
}

.nav-group.is-expanded > .nav-children,
.nav-child-group.is-expanded > .nav-children {
  max-height: 1000px;
  padding: 4px 0 6px;
  opacity: 1;
}

.nav-children a,
.nav-children button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  padding: 8px 10px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
}

.nav-child-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-tooltip-bubble {
  position: fixed;
  z-index: 80;
  display: block;
  max-width: min(320px, calc(100vw - 32px));
  border: 1px solid #22303e;
  border-radius: 8px;
  background: #22303e;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
  color: #fff;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  pointer-events: none;
  white-space: normal;
  transform: translateY(-50%);
}

.nav-child-group {
  display: grid;
  gap: 0;
}

.nav-child-parent .nav-caret {
  font-size: 18px;
}

.nav-child-group.is-expanded > .nav-child-parent .nav-caret {
  transform: rotate(90deg);
}

.nav-children-nested {
  margin-left: 24px;
}

.nav-children-nested .nav-child-link::before {
  left: 19px;
}

.nav-child-link {
  position: relative;
  touch-action: manipulation;
}

.nav-child-link.is-example {
  cursor: default;
}

.nav-child-link::before {
  content: "";
  position: absolute;
  left: 18.5px;
  top: -7px;
  bottom: -7px;
  width: 1px;
  background: var(--border);
}

.nav-child-link .nav-icon {
  position: relative;
  z-index: 1;
}

.nav-child-link .nav-child-label {
  position: relative;
  z-index: 1;
}

.nav-children a .nav-icon,
.nav-children button .nav-icon {
  width: 18px;
  height: 18px;
  background: transparent;
  color: var(--muted);
}

.nav-dot {
  position: relative;
  color: var(--border);
}

.nav-dot::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.nav-children a.is-current {
  color: var(--primary-strong);
  font-weight: 500;
}

.nav-children a.is-current .nav-icon {
  color: var(--primary-strong);
}

.avatar {
  width: 34px;
  height: 34px;
  background: #eef2ff;
  color: var(--primary-strong);
  font-size: 12px;
}

.workspace {
  display: flex;
  min-width: 0;
  width: 100%;
  flex: 1;
  flex-direction: column;
  padding-left: var(--sidebar-width);
  padding-top: calc(var(--topbar-height) + 16px);
  overflow-x: hidden;
  transition: padding-left 180ms ease;
}

.topbar {
  position: fixed;
  top: 0;
  right: 0;
  left: var(--sidebar-width);
  z-index: 20;
  display: block;
  height: calc(var(--topbar-height) + 12px);
  padding: 12px 24px 0;
  border-radius: 8px;
  background: var(--bg);
  pointer-events: none;
  transition: left 180ms ease;
}

.app-shell.is-sidebar-collapsed .workspace {
  padding-left: var(--sidebar-collapsed-width);
}

.app-shell.is-sidebar-collapsed .topbar {
  left: var(--sidebar-collapsed-width);
}

.app-shell.is-content-wide .topbar-inner,
.app-shell.is-content-wide .page-stack {
  width: 100%;
  max-width: none;
}

.app-shell.is-semi-dark-menu .sidebar {
  border-right-color: rgba(255, 255, 255, 0.08);
  background: #25293c;
  box-shadow: 0.125rem 0 0.875rem rgba(15, 16, 28, 0.22);
}

.app-shell.is-semi-dark-menu .sidebar .brand strong,
.app-shell.is-semi-dark-menu .sidebar .nav-item,
.app-shell.is-semi-dark-menu .sidebar .nav-child-link {
  color: #d6d8ec;
}

.app-shell.is-semi-dark-menu .sidebar .brand small,
.app-shell.is-semi-dark-menu .sidebar .nav-section-title,
.app-shell.is-semi-dark-menu .sidebar .nav-icon,
.app-shell.is-semi-dark-menu .sidebar .nav-caret,
.app-shell.is-semi-dark-menu .sidebar .nav-child-link .nav-icon {
  color: #8f95bd;
}

.app-shell.is-semi-dark-menu .sidebar .nav-group.is-active > .nav-item-parent,
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-child-active > .nav-item-parent,
.app-shell.is-semi-dark-menu .sidebar .nav-child-group.is-active > .nav-child-parent {
  background: color-mix(in srgb, var(--primary) 24%, transparent);
}

.app-shell.is-semi-dark-menu .sidebar .nav-group.is-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-child-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-child-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
.app-shell.is-semi-dark-menu .sidebar .nav-child-group.is-active > .nav-child-parent > span:not(.nav-icon):not(.nav-caret),
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-active > .nav-item .nav-icon,
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-active > .nav-item-parent .nav-icon,
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-child-active > .nav-item-parent .nav-icon,
.app-shell.is-semi-dark-menu .sidebar .nav-child-group.is-active > .nav-child-parent .nav-icon,
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-active > .nav-item-parent .nav-caret,
.app-shell.is-semi-dark-menu .sidebar .nav-group.is-child-active > .nav-item-parent .nav-caret,
.app-shell.is-semi-dark-menu .sidebar .nav-child-group.is-active > .nav-child-parent .nav-caret,
.app-shell.is-semi-dark-menu .sidebar .nav-children a.is-current,
.app-shell.is-semi-dark-menu .sidebar .nav-children a.is-current .nav-icon {
  color: var(--primary-strong);
}

.app-shell.is-semi-dark-menu .sidebar .nav-child-link::before,
.app-shell.is-semi-dark-menu .sidebar.is-compact .nav-section-title::before {
  background: rgba(255, 255, 255, 0.12);
}

/* Apply the stored semi-dark state before AppShell hydrates. */
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar {
  border-right-color: rgba(255, 255, 255, 0.08);
  background: #25293c;
  box-shadow: 0.125rem 0 0.875rem rgba(15, 16, 28, 0.22);
}

:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .brand strong,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-item,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-child-link {
  color: #d6d8ec;
}

:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .brand small,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-section-title,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-icon,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-caret,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-child-link .nav-icon {
  color: #8f95bd;
}

:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-active > .nav-item-parent,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-child-active > .nav-item-parent,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-child-group.is-active > .nav-child-parent {
  background: color-mix(in srgb, var(--primary) 24%, transparent);
}

:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-child-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-child-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-child-group.is-active > .nav-child-parent > span:not(.nav-icon):not(.nav-caret),
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-active > .nav-item .nav-icon,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-active > .nav-item-parent .nav-icon,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-child-active > .nav-item-parent .nav-icon,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-child-group.is-active > .nav-child-parent .nav-icon,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-active > .nav-item-parent .nav-caret,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-group.is-child-active > .nav-item-parent .nav-caret,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-child-group.is-active > .nav-child-parent .nav-caret,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-children a.is-current,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-children a.is-current .nav-icon {
  color: var(--primary-strong);
}

:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"] .sidebar .nav-child-link::before,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"][data-sidebar-pinned="false"] .sidebar .nav-section-title::before {
  background: rgba(255, 255, 255, 0.12);
}

:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"][data-sidebar-pinned="false"] .sidebar .brand > span:not(.brand-mark),
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"][data-sidebar-pinned="false"] .sidebar .nav-item > span:not(.nav-icon):not(.nav-caret),
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"][data-sidebar-pinned="false"] .sidebar .nav-caret,
:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"][data-sidebar-pinned="false"] .sidebar .nav-child-label {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

:root[data-sidebar-bootstrapping="true"][data-semi-dark-menu="true"][data-sidebar-pinned="false"] .sidebar .nav-section-title {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
}

.topbar::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 12px;
  border-radius: 8px 8px 0 0;
  background: var(--bg);
  pointer-events: none;
  z-index: 0;
}

.topbar-inner {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: var(--topbar-height);
  align-items: center;
  gap: 16px;
  width: min(100%, 1280px);
  margin: 0 auto;
  border: 1px solid rgba(229, 231, 235, 0.72);
  border-radius: 8px;
  background: var(--surface);
  padding: 0 20px;
  box-shadow: 0 8px 24px rgba(23, 32, 51, 0.08);
  pointer-events: auto;
}

:root[data-theme="dark"] .topbar-inner {
  border-color: rgba(68, 72, 94, 0.82);
  box-shadow: 0 8px 24px rgba(15, 16, 28, 0.28);
}

:root[data-theme="dark"] .nav-item {
  color: var(--text);
}

:root[data-theme="dark"] .nav-icon,
:root[data-theme="dark"] .nav-caret,
:root[data-theme="dark"] .breadcrumbs,
:root[data-theme="dark"] .nav-children a,
:root[data-theme="dark"] .nav-children button {
  color: var(--muted);
}

:root[data-theme="dark"] .nav-section-title {
  color: #8185a3;
}

:root[data-theme="dark"] .nav-group.is-active > .nav-item-parent,
:root[data-theme="dark"] .nav-group.is-child-active > .nav-item-parent,
:root[data-theme="dark"] .nav-child-group.is-active > .nav-child-parent {
  background: color-mix(in srgb, var(--primary) 18%, transparent);
  color: var(--text);
}

:root[data-theme="dark"] .nav-group.is-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
:root[data-theme="dark"] .nav-group.is-child-active > .nav-item > span:not(.nav-icon):not(.nav-caret),
:root[data-theme="dark"] .nav-group.is-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
:root[data-theme="dark"] .nav-group.is-child-active > .nav-item-parent > span:not(.nav-icon):not(.nav-caret),
:root[data-theme="dark"] .nav-child-group.is-active > .nav-child-parent > span:not(.nav-icon):not(.nav-caret),
:root[data-theme="dark"] .nav-group.is-active > .nav-item .nav-icon,
:root[data-theme="dark"] .nav-group.is-active > .nav-item-parent .nav-icon,
:root[data-theme="dark"] .nav-group.is-child-active > .nav-item-parent .nav-icon,
:root[data-theme="dark"] .nav-child-group.is-active > .nav-child-parent .nav-icon,
:root[data-theme="dark"] .nav-group.is-active > .nav-item-parent .nav-caret,
:root[data-theme="dark"] .nav-group.is-child-active > .nav-item-parent .nav-caret,
:root[data-theme="dark"] .nav-child-group.is-active > .nav-child-parent .nav-caret,
:root[data-theme="dark"] .nav-children a.is-current,
:root[data-theme="dark"] .nav-children a.is-current .nav-icon {
  color: var(--primary-strong);
}

:root[data-theme="dark"] .avatar {
  background: color-mix(in srgb, var(--primary) 18%, var(--surface));
  color: var(--primary-strong);
}

.breadcrumbs {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.breadcrumbs span:not(:last-child)::after {
  content: "/";
  margin-left: 8px;
  color: #98a2b3;
}

.breadcrumbs span:last-child {
  color: var(--text);
  font-weight: 700;
}

.topbar-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

.topbar-search,
.icon-button,
.user-button {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
}

.topbar-search {
  min-width: 220px;
  border-radius: 8px;
  color: var(--muted);
  padding: 9px 12px;
  text-align: left;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.icon-button {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 700;
}

.mobile-menu {
  display: none;
}

.user-button {
  display: flex;
  height: 40px;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  padding: 0 10px 0 4px;
  font-weight: 700;
}

.menu-wrap {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 100;
  display: grid;
  min-width: 320px;
  gap: 0;
  border: 1px solid rgba(229, 231, 235, 0.78);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: 0 0.375rem 1.25rem rgba(34, 48, 62, 0.14);
  padding: 0;
  overflow: hidden;
}

.dropdown-menu small,
.dropdown-menu em {
  color: var(--muted);
  font-size: 13px;
}

.dropdown-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--border);
  padding: 14px 16px;
}

.dropdown-head strong,
.user-menu-profile strong,
.notification-item strong {
  display: block;
  color: var(--text);
  font-size: 14px;
  line-height: 20px;
}

.dropdown-head small,
.user-menu-profile small,
.notification-item small {
  display: block;
  line-height: 18px;
}

.user-menu-profile strong {
  font-size: 13px;
  line-height: 18px;
}

.user-menu-profile small {
  font-size: 12px;
  line-height: 16px;
}

.dropdown-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(99, 91, 255, 0.1);
  color: var(--primary-strong);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 6px 10px;
}

.notification-list,
.user-menu-list {
  display: grid;
  padding: 8px;
}

.user-menu-list {
  padding: 6px;
}

.notification-item,
.user-menu-list a,
.user-menu-list button,
.user-menu-logout {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 8px;
  color: var(--text);
  text-decoration: none;
  transition: background-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.notification-item {
  min-width: 0;
  padding: 10px 8px;
}

.notification-item > span:nth-child(2) {
  min-width: 0;
  flex: 1;
}

.notification-item em {
  flex: 0 0 auto;
  font-style: normal;
  font-size: 12px;
}

.user-menu-list a {
  min-height: 34px;
  padding: 6px 8px;
  font-size: 13px;
}

.user-menu-list button {
  width: 100%;
  min-height: 34px;
  border: 0;
  padding: 6px 8px;
  font-size: 13px;
  text-align: left;
}

.notification-item:hover,
.user-menu-list a:hover,
.user-menu-list button:hover {
  background: var(--surface-muted);
}

.user-menu-list .user-menu-static-item,
.user-menu-list .user-menu-static-item:hover {
  background: transparent;
  cursor: default;
}

.notification-menu {
  min-width: 292px;
}

.notification-menu .dropdown-head {
  gap: 10px;
  padding: 10px 12px;
}

.notification-menu .dropdown-head strong,
.notification-menu .notification-item strong {
  font-size: 13px;
  line-height: 18px;
}

.notification-menu .dropdown-head small,
.notification-menu .notification-item small,
.notification-menu .notification-item em {
  font-size: 12px;
  line-height: 16px;
}

.notification-menu .dropdown-pill {
  font-size: 11px;
  padding: 5px 8px;
}

.notification-menu .notification-list {
  padding: 6px;
}

.notification-menu .notification-item {
  gap: 9px;
  padding: 8px 6px;
}

.notification-menu .dropdown-icon {
  width: 30px;
  height: 30px;
  border-radius: 7px;
}

.notification-menu .dropdown-icon svg {
  width: 16px;
  height: 16px;
}

.notification-menu .dropdown-footer-action {
  min-height: 36px;
  font-size: 12px;
  padding: 9px 12px;
}

.mobile-user-action,
.mobile-user-section {
  display: none;
}

.mobile-user-section {
  gap: 8px;
  border-block: 1px solid var(--border);
  margin: 6px 0;
  padding: 10px 0;
}

.mobile-user-section-title {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 16px;
  padding: 0 8px;
  text-transform: uppercase;
}

.mobile-theme-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 0 8px;
}

.mobile-theme-actions button {
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 8px 6px;
}

.mobile-theme-actions button.is-selected {
  border-color: color-mix(in srgb, var(--primary) 48%, var(--border));
  background: color-mix(in srgb, var(--primary) 10%, var(--surface));
  color: var(--primary-strong);
}

.mobile-notification-link {
  margin-inline: 0;
}

.dropdown-icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(102, 112, 133, 0.1);
  color: var(--muted);
}

.dropdown-icon.tone-primary {
  background: rgba(99, 91, 255, 0.1);
  color: var(--primary-strong);
}

.dropdown-icon.tone-warning {
  background: rgba(183, 121, 0, 0.12);
  color: var(--warning);
}

.dropdown-icon.tone-success {
  background: rgba(22, 138, 74, 0.12);
  color: var(--success);
}

.theme-menu {
  min-width: 190px;
  padding: 8px;
}

.theme-menu-item {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
  padding: 8px;
  text-align: left;
}

.theme-menu-item:hover,
.theme-menu-item.is-selected {
  background: var(--surface-muted);
}

.theme-check {
  margin-left: auto;
  color: var(--primary-strong);
  font-size: 13px;
  font-weight: 800;
  opacity: 0;
}

.theme-menu-item.is-selected .theme-check {
  opacity: 1;
}

.dropdown-footer-action {
  margin: 0 12px 12px;
  border-radius: 8px;
  background: var(--primary);
  color: white !important;
  font-size: 14px !important;
  font-weight: 700;
  padding: 10px 14px;
  text-align: center;
  text-decoration: none;
}

.dropdown-footer-action:hover {
  background: var(--primary-strong);
}

.user-menu {
  min-width: 232px;
}

.user-menu-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--border);
  padding: 10px 12px;
}

.user-menu-avatar {
  width: 34px;
  height: 34px;
  font-size: 12px;
}

.user-menu-logout {
  justify-content: center;
  min-height: 34px;
  margin: 2px 8px 8px;
  background: rgba(217, 45, 32, 0.1);
  color: var(--danger) !important;
  font-size: 13px !important;
  font-weight: 700;
  padding: 8px 12px;
}

.user-menu-logout:hover {
  background: rgba(217, 45, 32, 0.16);
}

.customizer-scrim {
  position: fixed;
  inset: 0;
  z-index: 109;
  background: rgba(15, 23, 42, 0.28);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.customizer-scrim.is-open {
  opacity: 1;
  pointer-events: auto;
}

.theme-customizer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 110;
  display: flex;
  width: min(100%, 380px);
  max-width: 380px;
  flex-direction: column;
  border-left: 1px solid var(--border);
  background: var(--surface);
  box-shadow: -0.5rem 0 1.5rem rgba(34, 48, 62, 0.16);
  color: var(--text);
  transform: translateX(100%);
  transition: transform 220ms ease;
}

.theme-customizer.is-open {
  transform: translateX(0);
}

.theme-customizer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--border);
  padding: 18px 20px;
}

.theme-customizer-head strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  line-height: 26px;
}

.theme-customizer-head small {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 18px;
}

.theme-customizer-body {
  display: grid;
  gap: 24px;
  overflow: auto;
  padding: 20px;
}

.customizer-section {
  display: grid;
  gap: 12px;
}

.customizer-section-title {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 18px;
  text-transform: uppercase;
}

.customizer-color-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  padding: 12px 14px;
}

.customizer-color-row > span {
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
}

.customizer-color-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.customizer-color-dot {
  position: relative;
  width: 24px;
  height: 24px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--swatch-color);
  box-shadow: 0 0.125rem 0.375rem rgba(34, 48, 62, 0.16);
}

.customizer-color-dot.is-selected {
  border-color: var(--surface);
  outline: 2px solid var(--swatch-color);
  outline-offset: 2px;
}

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

.customizer-choice {
  display: grid;
  min-height: 86px;
  place-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  color: var(--text);
  padding: 12px 8px;
  text-align: center;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.customizer-choice strong {
  font-size: 13px;
  line-height: 18px;
}

.customizer-choice:hover,
.customizer-choice.is-selected {
  border-color: rgba(99, 91, 255, 0.48);
  background: color-mix(in srgb, var(--primary) 8%, var(--surface));
}

.customizer-choice.is-selected {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);
}

.customizer-toggle-row {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  color: var(--text);
  padding: 14px;
  text-align: left;
}

.customizer-toggle-row strong,
.customizer-toggle-row small {
  display: block;
}

.customizer-toggle-row strong {
  font-size: 14px;
  line-height: 20px;
}

.customizer-toggle-row small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

.customizer-switch {
  position: relative;
  flex: 0 0 auto;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 24%, var(--surface));
  transition: background 160ms ease;
}

.customizer-switch::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--surface);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18);
  transition: transform 160ms ease;
}

.customizer-toggle-row.is-enabled .customizer-switch {
  background: var(--primary);
}

.customizer-toggle-row.is-enabled .customizer-switch::before {
  transform: translateX(18px);
}

.customizer-segmented {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 6px;
}

.customizer-segmented button {
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
}

.customizer-segmented button.is-active {
  background: var(--surface);
  color: var(--primary-strong);
  box-shadow: 0 0.125rem 0.375rem rgba(34, 48, 62, 0.1);
}

.content-viewport {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 24px;
  min-height: calc(100vh - var(--topbar-height));
  overflow-x: hidden;
}

.page-stack {
  display: grid;
  gap: 20px;
  width: min(100%, 1280px);
  min-width: 0;
  margin: 0 auto;
  overflow-x: hidden;
}

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

.component-tile {
  display: grid;
  gap: 8px;
  min-height: 112px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 14px;
  box-shadow: none;
  filter: var(--shadow-filter);
}

.component-tile strong {
  font-size: 15px;
  line-height: 22px;
}

.component-tile small {
  color: var(--muted);
  font-size: 13px;
  line-height: 20px;
}

.component-index-number {
  color: var(--primary-strong);
  font-size: 12px;
  font-weight: 700;
}

.docs-page {
  --docs-aside-width: 240px;
}

.docs-home,
.docs-category-stack,
.docs-category,
.docs-article,
.docs-related {
  display: grid;
  gap: 18px;
}

.docs-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border));
  border-radius: 8px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 12%, var(--surface)), var(--surface) 56%);
  padding: 28px;
  box-shadow: var(--shadow);
}

.docs-kicker,
.docs-card-category,
.docs-article-meta span,
.docs-toc-title {
  color: var(--primary-strong);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.docs-hero h2 {
  margin: 8px 0 10px;
  max-width: 760px;
  color: var(--text);
  font-size: 32px;
  line-height: 1.16;
}

.docs-hero p {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 15px;
}

.docs-hero-stats {
  display: grid;
  min-width: 190px;
  gap: 8px;
}

.docs-hero-stats span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 82%, white);
  color: var(--muted);
  padding: 10px 12px;
}

.docs-hero-stats strong {
  color: var(--text);
}

.docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.docs-card {
  display: grid;
  min-height: 176px;
  align-content: start;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: inherit;
  padding: 18px;
  box-shadow: var(--shadow);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.docs-card:hover {
  border-color: color-mix(in srgb, var(--primary) 34%, var(--border));
  box-shadow: var(--shadow-hover);
  transform: translateY(-1px);
}

.docs-card strong {
  color: var(--text);
  font-size: 17px;
}

.docs-card p,
.docs-card small {
  margin: 0;
  color: var(--muted);
}

.docs-article-layout {
  display: grid;
  grid-template-columns: var(--docs-aside-width) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.docs-toc {
  position: sticky;
  top: calc(var(--topbar-height) + 18px);
  display: grid;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 16px;
  box-shadow: var(--shadow);
}

.docs-toc a {
  border-radius: 6px;
  color: var(--muted);
  padding: 7px 8px;
}

.docs-toc a:hover {
  background: color-mix(in srgb, var(--primary) 8%, transparent);
  color: var(--primary-strong);
}

.docs-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.docs-article-meta span {
  border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 8%, transparent);
  padding: 6px 10px;
}

.docs-block {
  scroll-margin-top: calc(var(--topbar-height) + 18px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 22px;
  box-shadow: var(--shadow);
}

.docs-block h2 {
  margin: 0 0 12px;
  color: var(--text);
  font-size: 21px;
}

.docs-block p {
  margin: 0;
  color: var(--muted);
}

.docs-block p + p {
  margin-top: 10px;
}

.docs-checklist {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.docs-checklist li {
  position: relative;
  color: var(--text);
  padding-left: 24px;
}

.docs-checklist li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 12%, transparent);
}

.docs-code {
  overflow: auto;
  margin: 16px 0 0;
  border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
  border-radius: 8px;
  background: #101828;
  color: #eef2ff;
  padding: 14px;
  font-size: 13px;
  line-height: 1.6;
}

.docs-code code {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.docs-related {
  grid-column: 2;
}

.component-showcase-stack {
  display: grid;
  gap: 16px;
}

.component-stack,
.badge-grid,
.chip-grid,
.button-grid,
.demo-actions,
.pagination-demo,
.tooltip-grid,
.tabs-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.component-stack {
  flex-direction: column;
}

.component-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.component-preview-card {
  position: relative;
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 14px;
}

.component-preview-card:has(.autocomplete-field.is-open),
.component-preview-card:has(.nexus-select-field.is-open) {
  z-index: 1200;
  overflow: visible;
}

.component-preview-card:has(.autocomplete-field.is-open) .component-preview-body,
.component-preview-card:has(.nexus-select-field.is-open) .component-preview-body {
  overflow: visible;
}

.component-preview-card > strong {
  font-size: 14px;
  line-height: 20px;
}

.component-preview-body {
  min-width: 0;
}

.component-preview-card--wide {
  grid-column: 1 / -1;
}

.typography-demo {
  --typography-muted: #98a2b3;
}

.typography-spec-list {
  display: grid;
  gap: 12px;
}

.typography-spec-row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 16px;
}

.typography-token {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  white-space: nowrap;
}

.typography-spec-row p,
.typography-utility-card p,
.typography-color-card strong {
  margin: 0;
}

.typography-spec-row small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

.typography-h1 { font-size: clamp(48px, 7vw, 96px); line-height: 1; font-weight: 300; letter-spacing: -0.04em; }
.typography-h2 { font-size: clamp(40px, 5.2vw, 60px); line-height: 1; font-weight: 300; letter-spacing: -0.035em; }
.typography-h3 { font-size: clamp(34px, 4.2vw, 48px); line-height: 1.05; font-weight: 400; letter-spacing: -0.03em; }
.typography-h4 { font-size: clamp(28px, 3vw, 34px); line-height: 1.18; font-weight: 400; letter-spacing: -0.02em; }
.typography-h5 { font-size: 24px; line-height: 32px; font-weight: 400; letter-spacing: -0.015em; }
.typography-h6 { font-size: 20px; line-height: 32px; font-weight: 500; }
.typography-subtitle-1 { font-size: 16px; line-height: 28px; font-weight: 400; }
.typography-subtitle-2 { font-size: 14px; line-height: 22px; font-weight: 600; }
.typography-body-1 { font-size: 16px; line-height: 28px; font-weight: 400; }
.typography-body-2 { font-size: 14px; line-height: 22px; font-weight: 400; }
.typography-button { font-size: 14px; line-height: 36px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.typography-caption { color: var(--muted); font-size: 12px; line-height: 20px; font-weight: 400; }
.typography-overline { color: var(--muted); font-size: 12px; line-height: 32px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }

.typography-grid,
.typography-color-grid,
.typography-align-grid,
.typography-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.typography-color-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.typography-utility-card,
.typography-color-card,
.typography-list-card,
.typography-blockquote {
  display: grid;
  gap: 10px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 16px;
}

.typography-utility-card p {
  color: var(--text);
  font-size: 16px;
  line-height: 24px;
}

.typography-color-card {
  background: var(--surface);
}

.typography-color-card span {
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

.font-weight-light { font-weight: 300; }
.font-weight-regular { font-weight: 400; }
.font-weight-medium { font-weight: 500; }
.font-weight-semibold { font-weight: 600; }
.font-weight-bold { font-weight: 700; }
.text-uppercase { text-transform: uppercase; }
.text-lowercase { text-transform: lowercase; }
.text-capitalize { text-transform: capitalize; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-decoration-underline { text-decoration: underline; }
.text-decoration-line-through { text-decoration: line-through; }
.text-no-wrap { white-space: nowrap; overflow-x: auto; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-primary { color: var(--primary-strong); }
.text-secondary { color: #5f6b78; }
.text-success { color: var(--success); }
.text-info { color: var(--info); }
.text-warning { color: var(--warning); }
.text-danger { color: var(--danger); }

.typography-blockquote {
  position: relative;
  align-content: center;
  margin: 0;
  border-left: 4px solid var(--primary);
  background: linear-gradient(135deg, rgba(99, 91, 255, 0.08), rgba(2, 119, 189, 0.04));
  color: var(--text);
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
}

.typography-list-card strong {
  font-size: 14px;
  line-height: 20px;
}

.typography-list-card ol,
.typography-list-card ul {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
}

.typography-list-card li + li {
  margin-top: 6px;
}

.icons-demo code {
  border-radius: 4px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
  padding: 2px 5px;
  font-size: 12px;
}

.icons-intro-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  border: 1px solid rgba(99, 91, 255, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(99, 91, 255, 0.08), rgba(2, 119, 189, 0.05));
  padding: 18px;
}

.icons-intro-card strong,
.icons-action-card strong {
  display: block;
  color: var(--text);
  font-size: 14px;
  line-height: 20px;
}

.icons-intro-card p,
.icons-action-card small {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 20px;
}

.icons-intro-mark {
  display: inline-flex;
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: var(--primary);
  color: white;
  box-shadow: 0 12px 26px rgba(99, 91, 255, 0.24);
}

.icons-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.icons-card,
.icons-size-card,
.icons-color-card,
.icons-action-card {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}

.icons-card {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 16px 10px;
  text-align: center;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.icons-card:hover {
  border-color: rgba(99, 91, 255, 0.25);
  box-shadow: 0 10px 24px rgba(23, 32, 51, 0.08);
  transform: translateY(-1px);
}

.icons-preview,
.icons-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.icons-preview {
  width: 44px;
  height: 44px;
}

.icons-card strong {
  color: var(--text);
  font-size: 13px;
  line-height: 18px;
}

.icons-card small,
.icons-size-card span,
.icons-color-card small {
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}

.icons-size-row,
.icons-stroke-row,
.icons-inline-demo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.icons-size-card {
  display: grid;
  min-width: 96px;
  min-height: 96px;
  place-items: center;
  gap: 8px;
  color: var(--primary-strong);
  padding: 14px;
}

.icons-color-grid,
.icons-usage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.icons-color-card {
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 18px;
  text-align: center;
}

.icons-action-card {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px;
  color: var(--text);
  text-align: left;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.icons-action-card:hover {
  border-color: rgba(99, 91, 255, 0.25);
  background: rgba(99, 91, 255, 0.04);
}

.icons-action-card > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}

.icons-action-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
}

.icons-inline-demo {
  margin-top: 12px;
}

.swiper-showcase {
  --swiper-primary: #635bff;
  --swiper-success: #168a4a;
  --swiper-info: #0277bd;
  --swiper-warning: #b77900;
  --swiper-danger: #d92d20;
}

.swiper-panel {
  overflow: visible;
}

.swiper-demo {
  position: relative;
  display: grid;
  gap: 14px;
}

.swiper-viewport {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: var(--surface-muted);
}

.swiper-track {
  display: flex;
  transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.swiper-slide {
  flex: 0 0 100%;
  min-width: 0;
  padding: 12px;
}

.swiper-slide-card {
  position: relative;
  display: grid;
  min-height: 260px;
  align-content: end;
  gap: 8px;
  overflow: hidden;
  border-radius: 12px;
  background:
    radial-gradient(circle at 85% 18%, rgba(255, 255, 255, 0.44), transparent 22%),
    linear-gradient(135deg, var(--swiper-tone), color-mix(in srgb, var(--swiper-tone) 72%, #172033));
  color: white;
  padding: 24px;
  box-shadow: 0 14px 34px rgba(23, 32, 51, 0.16);
}

.swiper-slide-card.tone-primary { --swiper-tone: var(--swiper-primary); }
.swiper-slide-card.tone-success { --swiper-tone: var(--swiper-success); }
.swiper-slide-card.tone-info { --swiper-tone: var(--swiper-info); }
.swiper-slide-card.tone-warning { --swiper-tone: var(--swiper-warning); }
.swiper-slide-card.tone-danger { --swiper-tone: var(--swiper-danger); }

.swiper-slide-orb {
  position: absolute;
  top: -56px;
  right: -38px;
  width: 190px;
  height: 190px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
}

.swiper-slide-icon {
  position: absolute;
  top: 22px;
  left: 22px;
  display: inline-flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.16);
  color: white;
}

.swiper-slide-kicker,
.swiper-slide-stat {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
}

.swiper-slide-card strong {
  position: relative;
  z-index: 1;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: -0.03em;
}

.swiper-slide-card p {
  position: relative;
  z-index: 1;
  max-width: 420px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 22px;
}

.swiper-slide-stat {
  position: absolute;
  right: 22px;
  bottom: 22px;
  min-width: 64px;
  justify-content: center;
  font-size: 16px;
  line-height: 20px;
}

.swiper-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
  box-shadow: 0 8px 18px rgba(23, 32, 51, 0.12);
  transform: translateY(-50%);
}

.swiper-nav:hover {
  background: white;
}

.swiper-nav.is-prev {
  left: 26px;
}

.swiper-nav.is-next {
  right: 26px;
}

.swiper-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.swiper-pagination,
.swiper-thumbs,
.swiper-inline-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.swiper-dot {
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: #cbd5e1;
  padding: 0;
  transition: width 140ms ease, background-color 140ms ease;
}

.swiper-dot.is-active {
  width: 24px;
  background: var(--primary);
}

.swiper-play {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  border: 1px solid rgba(99, 91, 255, 0.2);
  border-radius: 999px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
  padding: 0 12px;
  font-size: 12px;
  font-weight: 700;
}

.swiper-progress {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.swiper-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
  transition: width 260ms ease;
}

.swiper-thumbs {
  justify-content: center;
}

.swiper-thumb {
  width: 38px;
  height: 38px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  color: var(--muted);
  font-weight: 800;
}

.swiper-thumb.is-active {
  border-color: color-mix(in srgb, var(--thumb-tone) 28%, var(--border));
  background: color-mix(in srgb, var(--thumb-tone) 12%, white);
  color: var(--thumb-tone);
}

.swiper-thumb.tone-primary { --thumb-tone: var(--swiper-primary); }
.swiper-thumb.tone-success { --thumb-tone: var(--swiper-success); }
.swiper-thumb.tone-info { --thumb-tone: var(--swiper-info); }
.swiper-thumb.tone-warning { --thumb-tone: var(--swiper-warning); }
.swiper-thumb.tone-danger { --thumb-tone: var(--swiper-danger); }

.swiper-demo.is-multi .swiper-slide {
  flex-basis: 33.333%;
}

.swiper-demo.is-multi .swiper-slide-card {
  min-height: 220px;
}

.swiper-demo.is-centered .swiper-track {
  gap: 0;
}

.swiper-demo.is-centered .swiper-slide {
  flex-basis: 72%;
}

.swiper-demo.is-centered .swiper-slide-card {
  min-height: 240px;
  transform: scale(0.92);
  opacity: 0.72;
  transition: transform 240ms ease, opacity 240ms ease;
}

.swiper-demo.is-centered .swiper-slide:nth-child(n) .swiper-slide-card {
  transform: scale(0.96);
}

.swiper-demo.is-vertical .swiper-viewport {
  height: 300px;
}

.swiper-demo.is-vertical .swiper-track {
  height: 100%;
  flex-direction: column;
}

.swiper-demo.is-vertical .swiper-slide {
  flex: 0 0 100%;
  height: 100%;
}

.swiper-demo.is-cards .swiper-viewport {
  overflow: visible;
  background: transparent;
  padding: 16px;
}

.swiper-demo.is-cards .swiper-slide-card {
  min-height: 280px;
  box-shadow: 0 18px 44px rgba(23, 32, 51, 0.18);
}

.swiper-demo.is-cards .swiper-slide {
  padding: 0;
}

.swiper-demo.is-cards .swiper-slide:nth-child(2) .swiper-slide-card,
.swiper-demo.is-cards .swiper-slide:nth-child(4) .swiper-slide-card {
  transform: rotate(-1deg);
}

.swiper-demo.is-cards .swiper-slide:nth-child(3) .swiper-slide-card,
.swiper-demo.is-cards .swiper-slide:nth-child(5) .swiper-slide-card {
  transform: rotate(1deg);
}

.chart-showcase {
  --chart-primary: #635bff;
  --chart-secondary: #8592a3;
  --chart-success: #168a4a;
  --chart-info: #0277bd;
  --chart-warning: #b77900;
}

.chart-grid-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.chart-grid-layout .chart-card:nth-child(3),
.chart-card.is-wide {
  grid-column: 1 / -1;
}

.chart-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  padding: 18px;
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.06);
}

.chart-svg {
  width: 100%;
  min-height: 180px;
  overflow: visible;
}

.chart-grid-lines line,
.chart-radar-grid {
  stroke: rgba(102, 112, 133, 0.16);
  stroke-width: 1;
  fill: none;
}

.chart-line {
  fill: none;
  stroke: var(--chart-primary);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 6px 8px rgba(99, 91, 255, 0.16));
}

.chart-line.is-secondary {
  stroke: var(--chart-success);
}

.chart-area-fill {
  fill: url("#chart-area-gradient");
}

.chart-area-fill,
.chart-radar-area {
  fill: rgba(99, 91, 255, 0.14);
}

.chart-point {
  fill: var(--surface);
  stroke: var(--chart-primary);
  stroke-width: 3;
}

.chart-bars {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
  min-height: 230px;
  padding-top: 12px;
}

.chart-bars.is-grouped {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.chart-bar-column {
  display: grid;
  gap: 8px;
  align-items: end;
  height: 100%;
  min-width: 0;
  text-align: center;
}

.chart-bar-stack {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 5px;
  height: 180px;
  border-bottom: 1px solid var(--border);
}

.chart-bar-stack span {
  display: block;
  width: min(100%, 26px);
  min-height: 12px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(180deg, var(--chart-primary), rgba(99, 91, 255, 0.42));
}

.chart-bar-stack span.is-secondary {
  background: linear-gradient(180deg, var(--chart-success), rgba(22, 138, 74, 0.34));
}

.chart-bar-column small {
  color: var(--muted);
  font-size: 12px;
}

.chart-horizontal-bars {
  display: grid;
  gap: 14px;
}

.chart-horizontal-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 12px;
}

.chart-horizontal-row span,
.chart-horizontal-row strong {
  color: var(--muted);
  font-size: 12px;
}

.chart-horizontal-row div {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.chart-horizontal-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--chart-primary);
}

.chart-donut-wrap {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.chart-donut {
  display: grid;
  width: 170px;
  height: 170px;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, var(--surface) 0 48%, transparent 49%),
    conic-gradient(
      var(--chart-primary) 0 var(--p1),
      var(--chart-info) var(--p1) var(--p2),
      var(--chart-success) var(--p2) var(--p3),
      var(--chart-warning) var(--p3) 100%
    );
  box-shadow: inset 0 0 0 1px rgba(23, 32, 51, 0.06);
}

.chart-donut strong,
.chart-donut span {
  grid-area: 1 / 1;
}

.chart-donut strong {
  color: var(--text);
  font-size: 24px;
}

.chart-donut span {
  margin-top: 42px;
  color: var(--muted);
  font-size: 12px;
}

.chart-legend {
  display: grid;
  gap: 10px;
}

.chart-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--chart-primary);
}

.chart-legend i.tone-success { background: var(--chart-success); }
.chart-legend i.tone-info { background: var(--chart-info); }
.chart-legend i.tone-warning { background: var(--chart-warning); }

.chart-legend strong {
  margin-left: auto;
  color: var(--text);
}

.chart-radar-area {
  stroke: var(--chart-primary);
  stroke-width: 3;
}

.chart-scatter-point {
  fill: rgba(99, 91, 255, 0.34);
  stroke: var(--chart-primary);
  stroke-width: 2;
}

.chart-scatter-point.is-secondary {
  fill: rgba(22, 138, 74, 0.26);
  stroke: var(--chart-success);
}

.chart-metric-card {
  display: grid;
  width: fit-content;
  gap: 2px;
  border-radius: 8px;
  background: rgba(99, 91, 255, 0.08);
  padding: 12px 14px;
}

.chart-metric-card span,
.chart-metric-card small {
  color: var(--muted);
  font-size: 12px;
}

.chart-metric-card strong {
  color: var(--text);
  font-size: 22px;
  line-height: 28px;
}

.cards-demo {
  --cards-demo-primary: #635bff;
  --cards-demo-success: #168a4a;
  --cards-demo-warning: #b77900;
  --cards-demo-danger: #d92d20;
  --cards-demo-info: #0277bd;
}

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

.cards-demo-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.cards-demo-stat-detail-grid {
  margin-top: 16px;
}

.cards-demo-card {
  display: grid;
  min-width: 0;
  gap: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 6px 18px rgba(23, 32, 51, 0.06);
  padding: 18px;
}

.cards-demo-card-header,
.cards-demo-stat-head,
.cards-demo-list-item,
.cards-demo-highlight-row,
.cards-demo-target,
.cards-demo-score,
.cards-demo-inline-stats {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cards-demo-card-header {
  align-items: flex-start;
  justify-content: space-between;
}

.cards-demo-card-header h3,
.cards-demo-profile-body h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 22px;
}

.cards-demo-card-header p,
.cards-demo-card p,
.cards-demo-profile-body p,
.cards-demo-list-item span,
.cards-demo-progress-row span,
.cards-demo-topic-grid span,
.cards-demo-report span,
.cards-demo-finance span,
.cards-demo-inline-stats span {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 20px;
}

.cards-demo-card-action {
  flex: 0 0 auto;
}

.cards-demo-media,
.cards-demo-cover,
.cards-demo-product-device {
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(99, 91, 255, 0.18), rgba(2, 119, 189, 0.12)),
    linear-gradient(45deg, #f8fafc 25%, transparent 25%, transparent 50%, #f8fafc 50%, #f8fafc 75%, transparent 75%, transparent);
  background-size: auto, 18px 18px;
}

.cards-demo-media {
  min-height: 140px;
}

.cards-demo-product {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.cards-demo-product-device {
  aspect-ratio: 3 / 4;
  border: 8px solid #172033;
  border-radius: 20px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.cards-demo-product strong,
.cards-demo-highlight strong,
.cards-demo-earning strong,
.cards-demo-score strong,
.cards-demo-stat-card strong,
.cards-demo-report strong,
.cards-demo-finance strong,
.cards-demo-target strong {
  color: var(--text);
  font-size: 24px;
  line-height: 30px;
}

.cards-demo-rating {
  color: #f59e0b;
  font-size: 14px;
  letter-spacing: 0;
}

.cards-demo-rating span {
  color: #cbd5e1;
}

.cards-demo-profile-card {
  overflow: hidden;
  padding: 0;
}

.cards-demo-cover {
  min-height: 92px;
  border-radius: 8px 8px 0 0;
}

.cards-demo-profile-body {
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 0 18px 18px;
  text-align: center;
}

.cards-demo-avatar-lg {
  width: 58px;
  height: 58px;
  margin-top: -29px;
  border: 4px solid var(--surface);
}

.cards-demo-profile-stats,
.cards-demo-report,
.cards-demo-finance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

.cards-demo-profile-stats span,
.cards-demo-report div,
.cards-demo-finance div {
  display: grid;
  gap: 2px;
  min-width: 0;
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 10px;
}

.cards-demo-profile-stats strong,
.cards-demo-list-item strong {
  display: block;
  color: var(--text);
  font-size: 14px;
  line-height: 20px;
}

.cards-demo-nav-list,
.cards-demo-list,
.cards-demo-timeline,
.cards-demo-upgrade,
.cards-demo-refresh-body {
  display: grid;
  gap: 12px;
}

.cards-demo-nav-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  border-radius: 8px;
  background: var(--surface-muted);
  color: var(--text);
  padding: 0 12px;
  font-weight: 600;
}

.cards-demo-solid {
  color: white;
}

.cards-demo-solid h3,
.cards-demo-solid p,
.cards-demo-solid .cards-demo-card-header p {
  color: white;
}

.cards-demo-solid .component-btn.variant-flat {
  color: white;
  background: rgba(255, 255, 255, 0.14);
}

.cards-demo-solid .component-btn.variant-flat:hover {
  background: rgba(255, 255, 255, 0.22);
}

.cards-demo-solid.tone-primary {
  background: var(--cards-demo-primary);
  border-color: var(--cards-demo-primary);
}

.cards-demo-solid.tone-success {
  background: var(--cards-demo-success);
  border-color: var(--cards-demo-success);
}

.cards-demo-icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #eef2ff;
  color: var(--cards-demo-primary);
}

.cards-demo-icon.tone-success { background: #eaf7ef; color: var(--cards-demo-success); }
.cards-demo-icon.tone-warning { background: #fff7e6; color: var(--cards-demo-warning); }
.cards-demo-icon.tone-danger { background: #fff0ee; color: var(--cards-demo-danger); }
.cards-demo-icon.tone-info { background: #eaf6fd; color: var(--cards-demo-info); }
.cards-demo-icon.tone-neutral { background: var(--surface-muted); color: var(--muted); }

.cards-demo-highlight {
  background: linear-gradient(135deg, rgba(99, 91, 255, 0.1), rgba(22, 138, 74, 0.08)), var(--surface);
}

.cards-demo-highlight-row {
  justify-content: space-between;
}

.cards-demo-timeline div {
  position: relative;
  display: grid;
  gap: 2px;
  padding-left: 24px;
}

.cards-demo-timeline div > span {
  position: absolute;
  left: 0;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.cards-demo-timeline .tone-primary { background: var(--cards-demo-primary); }
.cards-demo-timeline .tone-success { background: var(--cards-demo-success); }
.cards-demo-timeline .tone-warning { background: var(--cards-demo-warning); }

.cards-demo-timeline strong {
  color: var(--text);
}

.cards-demo-earning {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.cards-demo-earning span,
.cards-demo-report small,
.cards-demo-stat-card small {
  color: var(--cards-demo-success);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}

.cards-demo-bars {
  display: flex;
  align-items: end;
  gap: 8px;
  height: 110px;
}

.cards-demo-bars.is-wide {
  height: 150px;
}

.cards-demo-bars i {
  display: block;
  flex: 1 1 0;
  min-width: 10px;
  border-radius: 6px 6px 0 0;
  background: linear-gradient(180deg, rgba(99, 91, 255, 0.86), rgba(99, 91, 255, 0.22));
}

.cards-demo-list-item {
  min-width: 0;
}

.cards-demo-list-item div {
  min-width: 0;
  flex: 1;
}

.cards-demo-list-item em {
  color: var(--text);
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.cards-demo-flag {
  font-size: 11px;
  font-weight: 800;
}

.cards-demo-progress-row {
  display: grid;
  gap: 8px;
}

.cards-demo-progress-row > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.cards-demo-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.cards-demo-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--cards-demo-primary);
}

.cards-demo-progress.tone-success span { background: var(--cards-demo-success); }
.cards-demo-progress.tone-warning span { background: var(--cards-demo-warning); }
.cards-demo-progress.tone-danger span { background: var(--cards-demo-danger); }
.cards-demo-progress.tone-info span { background: var(--cards-demo-info); }

.cards-demo-stat-card {
  gap: 10px;
}

.cards-demo-stat-head {
  justify-content: space-between;
}

.cards-demo-mini-action {
  width: 32px;
  height: 32px;
}

.cards-demo-target {
  align-items: center;
}

.cards-demo-ring {
  display: grid;
  flex: 0 0 auto;
  width: 96px;
  height: 96px;
  place-items: center;
  border-radius: 999px;
  background: conic-gradient(var(--cards-demo-primary) var(--value), #eef2ff 0);
}

.cards-demo-ring span {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: inherit;
  background: var(--surface);
  color: var(--text);
  font-weight: 800;
}

.cards-demo-score strong {
  flex: 0 0 auto;
}

.cards-demo-inline-stats {
  justify-content: space-between;
}

.cards-demo-topic-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cards-demo-topic-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: 999px;
  background: #eef2ff;
  color: var(--cards-demo-primary);
  padding: 6px 10px;
  text-align: center;
  font-weight: 700;
}

.cards-demo-topic-grid span.tone-info {
  background: #eaf6fd;
  color: var(--cards-demo-info);
}

.cards-demo-upgrade {
  justify-items: start;
}

.cards-demo-card.is-refreshing {
  position: relative;
}

.cards-demo-loader {
  display: inline-block;
  width: 26px;
  height: 26px;
  border: 3px solid #e5e7eb;
  border-top-color: var(--cards-demo-primary);
  border-radius: 999px;
  animation: cards-demo-spin 700ms linear infinite;
}

@keyframes cards-demo-spin {
  to { transform: rotate(360deg); }
}

.component-page.is-radio > .page-header {
  display: none;
}

.component-page.is-radio .form-demo-inline {
  align-items: center;
}

.component-page.is-radio .radio-label-row {
  align-items: center;
  min-height: 28px;
  line-height: 1;
}

.component-page.is-radio .radio-label-row > input[type="radio"] {
  align-self: center;
  margin: 0;
}

.component-page.is-radio .radio-label-text {
  display: flex;
  align-items: center;
  min-height: 16px;
  line-height: 20px;
}

.component-page.is-custom-input .component-preview-grid {
  gap: 14px;
}

.component-page.is-custom-input .component-preview-card {
  padding: 16px;
}

.component-page.is-custom-input .custom-input-grid {
  display: grid;
  gap: 12px;
}

.component-page.is-custom-input .custom-input-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.component-page.is-custom-input .custom-input-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.component-page.is-custom-input .custom-input-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 4px;
  border: 2px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 16px;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.component-page.is-custom-input .custom-input-card:hover,
.component-page.is-custom-input .custom-input-card.active {
  border-color: rgba(99, 91, 255, 0.42);
}

.component-page.is-custom-input .custom-input-card:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.component-page.is-custom-input .custom-input-card--icon,
.component-page.is-custom-input .custom-input-card--image {
  display: grid;
}

.component-page.is-custom-input .custom-input-card--icon {
  min-height: 160px;
  justify-items: center;
  text-align: center;
}

.component-page.is-custom-input .custom-input-card--image {
  overflow: hidden;
  padding: 0;
  min-height: 184px;
}

.component-page.is-custom-input .custom-input-control {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
  display: inline-flex;
}

.component-page.is-custom-input .custom-input-control input[type="radio"],
.component-page.is-custom-input .custom-input-control input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 16px;
  border: 0;
  background: transparent;
  padding: 0;
  accent-color: var(--primary);
}

.component-page.is-custom-input .custom-input-content {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.component-page.is-custom-input .custom-input-content--icon {
  justify-items: center;
  gap: 8px;
  padding-top: 6px;
}

.component-page.is-custom-input .custom-input-content--icon .cr-title {
  line-height: 1.375rem;
}

.component-page.is-custom-input .custom-input-headline {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.component-page.is-custom-input .custom-input-subtitle,
.component-page.is-custom-input .custom-input-desc {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.component-page.is-custom-input .custom-input-divider {
  flex: 0 0 auto;
  width: 1px;
  height: 16px;
  background: var(--border);
}

.component-page.is-custom-input .custom-input-card .cr-title {
  font-weight: 500;
  line-height: 1.375rem;
}

.component-page.is-custom-input .custom-input-card p {
  margin: 0;
}

.component-page.is-custom-input .custom-input-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.component-page.is-custom-input .custom-input-card--image .custom-input-image {
  min-height: 184px;
}

.component-page.is-custom-input .custom-input-card--image .custom-input-control {
  top: 14px;
  right: 14px;
  visibility: hidden;
}

.component-page.is-custom-input .custom-input-card--image:hover .custom-input-control,
.component-page.is-custom-input .custom-input-card--image.active .custom-input-control {
  visibility: visible;
}

@media (max-width: 900px) {
  .component-page.is-custom-input .custom-input-grid--2,
  .component-page.is-custom-input .custom-input-grid--3 {
    grid-template-columns: 1fr;
  }
}

.component-alert {
  --alert-tone: var(--primary);
  --alert-tone-rgb: 99, 91, 255;
  --alert-on-tone: #ffffff;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--alert-tone);
  color: var(--alert-on-tone);
  padding: 12px 14px;
  font-weight: 500;
  box-shadow: var(--alert-elevation, none);
}

.component-alert.tone-primary {
  --alert-tone: var(--primary);
  --alert-tone-rgb: 99, 91, 255;
}

.component-alert.tone-secondary {
  --alert-tone: #8592a3;
  --alert-tone-rgb: 133, 146, 163;
}

.component-alert.tone-info {
  --alert-tone: var(--info);
  --alert-tone-rgb: 2, 119, 189;
}

.component-alert.tone-success {
  --alert-tone: var(--success);
  --alert-tone-rgb: 22, 138, 74;
}

.component-alert.tone-warning {
  --alert-tone: var(--warning);
  --alert-tone-rgb: 183, 121, 0;
}

.component-alert.tone-error,
.component-alert.tone-danger {
  --alert-tone: var(--danger);
  --alert-tone-rgb: 217, 45, 32;
}

.component-alert-content {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.component-alert-content > strong {
  font-size: 15px;
  line-height: 20px;
}

.component-alert-content > span {
  color: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
}

.component-alert-content > span strong {
  font-weight: 800;
}

.component-alert-icon {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: currentColor;
}

.component-alert-close {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: currentColor;
  cursor: pointer;
}

.component-alert-close:hover {
  background: rgba(255, 255, 255, 0.18);
}

.component-alert.variant-tonal {
  border-color: rgba(var(--alert-tone-rgb), 0.16);
  background: rgba(var(--alert-tone-rgb), 0.12);
  color: var(--alert-tone);
}

.component-alert.variant-outlined {
  border-color: rgba(var(--alert-tone-rgb), 0.55);
  background: transparent;
  color: var(--alert-tone);
}

.component-alert.variant-plain {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text);
}

.component-alert.variant-plain .component-alert-content > span {
  color: var(--muted);
}

.component-alert.border-start {
  border-left: 5px solid var(--alert-tone);
}

.component-alert.border-end {
  border-right: 5px solid var(--alert-tone);
}

.component-alert.border-top {
  border-top: 5px solid var(--alert-tone);
}

.component-alert.border-bottom {
  border-bottom: 5px solid var(--alert-tone);
}

.component-alert.density-compact {
  padding: 8px 12px;
}

.component-alert.density-default {
  padding: 16px;
}

.component-alert.is-prominent {
  align-items: center;
  padding: 16px;
}

.component-alert.is-prominent .component-alert-icon {
  width: 38px;
  height: 38px;
}

.component-alert.is-prominent .component-alert-icon svg {
  width: 34px;
  height: 34px;
  stroke-width: 1.5;
}

.component-range-label {
  display: grid;
  gap: 8px;
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
}

.component-range-label input {
  width: min(360px, 100%);
  accent-color: var(--primary);
}

.avatar-demo-row,
.avatar-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.avatar-demo {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.82);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.avatar-demo.is-tonal {
  border-color: rgba(15, 23, 42, 0.06);
}

.avatar-demo .avatar-image,
.avatar-demo .avatar-icon {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}

.avatar-demo .avatar-image {
  object-fit: cover;
}

.avatar-demo .avatar-icon svg {
  width: 60%;
  height: 60%;
}

.avatar-group {
  display: flex;
  align-items: center;
}

.avatar-group .avatar-demo + .avatar-demo {
  margin-left: -12px;
}

.avatar-group .avatar-demo {
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.component-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  padding: 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
}

.component-chip.chip-primary {
  border-color: rgba(99, 91, 255, 0.2);
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.component-chip.chip-success {
  border-color: rgba(22, 138, 74, 0.2);
  background: rgba(22, 138, 74, 0.08);
  color: var(--success);
}

.component-chip.chip-warning {
  border-color: rgba(183, 121, 0, 0.2);
  background: rgba(183, 121, 0, 0.08);
  color: var(--warning);
}

.component-chip.chip-danger {
  border-color: rgba(217, 45, 32, 0.2);
  background: rgba(217, 45, 32, 0.08);
  color: var(--danger);
}

.component-chip.chip-selected {
  border-color: rgba(99, 91, 255, 0.2);
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.component-chip.chip-removable {
  background: var(--surface-muted);
}

.component-chip.chip-removable.chip-selected {
  border-color: rgba(99, 91, 255, 0.2);
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.expansion-panels {
  display: grid;
  gap: 8px;
}

.expansion-panels.is-accordion {
  gap: 0;
}

.expansion-panel-item {
  min-width: 0;
  border: 1px solid rgba(34, 48, 62, 0.12);
  border-radius: 6px;
  background: var(--surface);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease, max-width 0.2s ease;
}

.expansion-panel-item.is-open {
  box-shadow: 0 6px 18px rgba(23, 32, 51, 0.08);
}

.expansion-panels.is-accordion .expansion-panel-item {
  border-radius: 6px;
}

.expansion-panels.is-accordion .expansion-panel-item + .expansion-panel-item {
  margin-top: 0;
}

.expansion-panels.is-inset .expansion-panel-item {
  max-width: 100%;
}

.expansion-panels.is-inset .expansion-panel-item.is-open {
  max-width: calc(100% - 32px);
  margin-inline: auto;
}

.expansion-panels.is-popout .expansion-panel-item {
  max-width: calc(100% - 32px);
  margin-inline: auto;
}

.expansion-panels.is-popout .expansion-panel-item.is-open {
  max-width: 100%;
}

.expansion-panels-border {
  border: 1px solid rgba(34, 48, 62, 0.12);
  border-radius: 6px;
  overflow: hidden;
}

.expansion-panels-border .expansion-panel-item {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.expansion-panels-border .expansion-panel-item + .expansion-panel-item {
  border-top: 1px solid rgba(34, 48, 62, 0.12);
}

.expansion-panels-border .expansion-panel-trigger {
  background: var(--surface-muted);
}

.expansion-panels-border .expansion-panel-item.is-open .expansion-panel-trigger {
  border-bottom: 1px solid rgba(34, 48, 62, 0.12);
  margin-bottom: -1px;
}

.expansion-panel-trigger {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  background: transparent;
  padding: 13px 16px;
  text-align: left;
  color: var(--text);
}

.expansion-panel-title-copy {
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
}

.expansion-panel-trigger-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  color: var(--muted);
}

.expansion-panel-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.expansion-panel-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.expansion-panel-toggle.is-open {
  transform: rotate(180deg);
}

.expansion-panels-border .expansion-panel-toggle.is-open {
  transform: none;
}

.expansion-panel-content {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.22s ease, opacity 0.18s ease;
}

.expansion-panel-item.is-open .expansion-panel-content {
  max-height: 440px;
  opacity: 1;
}

.expansion-panel-text {
  padding: 0 16px 16px;
  color: var(--muted);
  font-size: 13px;
}

.expansion-panels-border .expansion-panel-text {
  padding: 20px;
}

.expansion-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.expansion-selected {
  color: var(--muted);
  font-size: 13px;
}

.list-demo {
  display: grid;
  gap: 8px;
}

.list-row {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 12px;
}

.list-row strong,
.list-row span {
  display: block;
}

.list-row strong {
  font-size: 14px;
}

.list-row span {
  color: var(--muted);
  font-size: 13px;
}

.list-nexus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.list-nexus-card {
  display: grid;
  gap: 12px;
}

.list-nexus-copy {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.list-nexus-surface {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}

.list-nexus-list {
  display: grid;
}

.list-nexus-subheader {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.375rem;
}

.list-nexus-divider {
  height: 1px;
  background: var(--border);
}

.list-nexus-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 8px 16px;
}

.list-nexus-item + .list-nexus-item {
  border-top: 1px solid var(--border);
}

.list-nexus-item.is-rounded + .list-nexus-item.is-rounded,
.list-nexus-item.is-shaped + .list-nexus-item.is-shaped {
  border-top: 0;
}

.list-nexus-item.is-two-line {
  align-items: flex-start;
  min-height: 64px;
  padding-block: 12px;
}

.list-nexus-item.is-three-line {
  align-items: flex-start;
  min-height: 88px;
  padding-block: 16px;
}

.list-nexus-item.is-nav {
  min-height: 38px;
  padding-block: 6px;
}

.list-nexus-item.is-rounded {
  margin: 0 8px 8px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-muted);
}

.list-nexus-item.is-shaped {
  margin: 0 8px 8px;
  border: 1px solid var(--border);
  border-radius: 0 14px 14px 0;
  background: var(--surface-muted);
}

.list-nexus-item-copy {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: 2px;
}

.list-nexus-item-copy strong {
  display: block;
  font-size: 14px;
  line-height: 20px;
}

.list-nexus-item-copy span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 18px;
}

.list-nexus-item-copy .is-clamp-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.list-nexus-leading {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
}

.list-nexus-leading .avatar {
  flex: none;
}

.list-nexus-icon-badge {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.list-nexus-action {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
}

.list-nexus-action:hover {
  background: var(--surface-muted);
  color: var(--text);
}

.list-nexus-checkbox {
  width: 16px;
  height: 16px;
  min-height: 16px;
  margin-top: 2px;
  padding: 0;
  accent-color: var(--primary);
}

.list-nexus-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.list-nexus-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  flex: none;
}

.list-nexus-progress {
  margin-top: 8px;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.list-nexus-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
}

.list-nexus-subgroup {
  padding: 6px 0 10px;
}

.list-nexus-subgroup .list-nexus-item {
  margin-left: 16px;
  margin-top: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
}

.menu-demo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
}

.menu-trigger-group {
  position: relative;
  z-index: 0;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}

.panel:has(.menu-panel) {
  position: relative;
  z-index: 15;
  overflow: visible;
}

.menu-trigger-group:has(.menu-panel) {
  z-index: 1;
}

.menu-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 321;
  max-width: calc(100vw - 24px);
  min-width: min(240px, calc(100vw - 24px));
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: none;
  filter: var(--shadow-filter);
  padding: 8px 0;
  overflow-x: hidden;
  overflow-y: hidden;
}

.menu-panel.is-scrollable {
  overflow-y: auto;
}

.menu-panel.is-top {
  top: auto;
  bottom: calc(100% + 8px);
}

.menu-panel.is-end {
  left: auto;
  right: 0;
}

.menu-panel.is-popover {
  min-width: min(300px, calc(100vw - 24px));
  padding: 0;
}

.menu-panel.is-smart-top {
  top: auto;
  bottom: calc(100% + 8px);
}

.menu-panel.is-smart-bottom {
  top: calc(100% + 8px);
  bottom: auto;
}

.menu-panel.is-smart-start {
  right: auto;
  left: 0;
}

.menu-panel.is-smart-end {
  right: 0;
  left: auto;
}

.menu-panel-list {
  display: grid;
}

.menu-item {
  display: flex;
  width: 100%;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 10px 16px;
  text-align: left;
  font-size: 14px;
  line-height: 20px;
}

.menu-item:hover {
  background: var(--surface-muted);
}

.menu-transition-scale {
  animation: menu-scale-in 140ms ease;
  transform-origin: top left;
}

.menu-transition-slide-x {
  animation: menu-slide-x-in 160ms ease;
  transform-origin: left top;
}

.menu-transition-slide-y {
  animation: menu-slide-y-in 160ms ease;
  transform-origin: top center;
}

@keyframes menu-scale-in {
  from {
    opacity: 0;
    transform: scale(0.94);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes menu-slide-x-in {
  from {
    opacity: 0;
    transform: translateX(-8px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes menu-slide-y-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.menu-popover-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 16px 12px;
}

.menu-popover-head strong {
  display: block;
  font-size: 14px;
  line-height: 20px;
}

.menu-popover-head span {
  color: var(--muted);
  font-size: 13px;
  line-height: 20px;
}

.menu-popover-body {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-size: 13px;
  line-height: 20px;
  padding: 14px 16px;
}

.menu-popover-actions {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
}

.menu-popover-action {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: var(--surface-muted);
}

.page-pill {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  font-weight: 700;
}

.page-pill.is-active {
  border-color: var(--primary);
  background: var(--primary);
  color: white;
}

.ring-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.component-ring {
  position: relative;
  display: grid;
  aspect-ratio: 1;
  width: 100%;
  max-width: 150px;
  place-items: center;
  gap: 4px;
  margin: 0 auto;
  border-radius: 50%;
  background: conic-gradient(var(--ring-tone) var(--ring-progress), #e5e7eb 0);
}

.component-ring::before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background: var(--surface);
}

.component-ring strong,
.component-ring span {
  position: relative;
  z-index: 1;
}

.component-ring strong {
  font-size: 18px;
  line-height: 24px;
}

.component-ring span {
  color: var(--muted);
  font-size: 12px;
}

.linear-list {
  display: grid;
  gap: 12px;
}

.linear-row {
  display: grid;
  gap: 6px;
}

.linear-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.linear-head span {
  color: var(--muted);
  font-size: 13px;
}

.linear-track {
  height: 10px;
  border-radius: 999px;
  background: var(--surface-muted);
  overflow: hidden;
}

.linear-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
}

.linear-fill.tone-primary {
  background: var(--primary);
}

.linear-fill.tone-success {
  background: var(--success);
}

.linear-fill.tone-warning {
  background: var(--warning);
}

.linear-fill.tone-info {
  background: var(--info);
}

.tabs-demo {
  display: grid;
  gap: 12px;
}

.tabs-strip {
  align-items: center;
}

.tab-link {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 6px 6px 0 0;
  background: transparent;
  padding: 0 16px;
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
  cursor: pointer;
}

.tab-link:hover {
  color: var(--text);
  background: rgba(15, 23, 42, 0.03);
}

.tab-link.is-active {
  border-bottom-color: var(--primary);
  background: rgba(99, 91, 255, 0.06);
  color: var(--primary-strong);
}

.tab-link.is-stacked {
  flex-direction: column;
  gap: 4px;
  min-width: 112px;
  min-height: 58px;
  padding: 8px 14px 10px;
}

.tab-pill {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  padding: 0 14px;
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
  cursor: pointer;
}

.tab-pill.is-active {
  border-color: rgba(99, 91, 255, 0.2);
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.tab-panel {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 14px;
}

.tab-panel strong {
  display: block;
  margin-bottom: 4px;
}

.tab-panel p {
  margin: 0;
  color: var(--muted);
}

.timeline-demo {
  display: grid;
  gap: 12px;
}

.timeline-demo.is-outlined {
  gap: 10px;
}

.timeline-icons-demo {
  display: grid;
  gap: 14px;
}

.timeline-row.is-icon {
  gap: 14px;
}

.timeline-row.is-icon > .avatar-demo {
  margin-top: 2px;
}

.timeline-review-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.timeline-review-head strong {
  display: block;
  color: var(--text);
  font-size: 14px;
}

.timeline-review-head span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.timeline-review-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
}

.timeline-rating {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--warning);
}

.timeline-review-copy {
  margin: 10px 0 0;
  color: var(--muted);
}

.timeline-earnings-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.timeline-earnings-head strong {
  font-size: 24px;
  line-height: 30px;
}

.timeline-earnings-sub {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.timeline-chip.tone-success {
  border-color: rgba(22, 138, 74, 0.18);
  background: rgba(22, 138, 74, 0.08);
  color: var(--success);
}

.timeline-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.timeline-row strong,
.timeline-row span {
  display: block;
}

.timeline-row strong {
  font-size: 14px;
}

.timeline-row span {
  color: var(--muted);
  font-size: 13px;
}

.timeline-dot {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 999px;
  background: var(--border);
  box-shadow: 0 0 0 4px rgba(229, 231, 235, 0.45);
}

.timeline-dot.tone-primary {
  background: var(--primary);
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.14);
}

.timeline-dot.tone-success {
  background: var(--success);
  box-shadow: 0 0 0 4px rgba(22, 138, 74, 0.14);
}

.timeline-dot.tone-warning {
  background: var(--warning);
  box-shadow: 0 0 0 4px rgba(183, 121, 0, 0.14);
}

.timeline-dot.tone-info {
  background: var(--info);
  box-shadow: 0 0 0 4px rgba(2, 119, 189, 0.14);
}

.timeline-dot.tone-neutral {
  background: var(--border);
  box-shadow: 0 0 0 4px rgba(229, 231, 235, 0.45);
}

.timeline-card {
  display: grid;
  gap: 4px;
  flex: 1 1 auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 10px 12px;
}

.timeline-card.is-plain {
  border-color: transparent;
  background: transparent;
  padding: 0;
}

.timeline-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.timeline-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}

.timeline-meta {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.timeline-body {
  color: var(--muted);
  font-size: 13px;
}

.timeline-doc-row,
.timeline-project-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.timeline-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}

.timeline-chip img {
  display: block;
  flex: 0 0 auto;
}

.timeline-avatar-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.timeline-client {
  display: grid;
  gap: 2px;
}

.timeline-client strong {
  font-size: 13px;
}

.timeline-client span {
  color: var(--muted);
  font-size: 12px;
}

.timeline-avatar-group {
  display: flex;
  align-items: center;
}

.timeline-avatar-group .avatar-demo + .avatar-demo {
  margin-left: -10px;
}

.timeline-avatar-group .avatar-demo {
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
}

.timeline-progress-row {
  display: grid;
  gap: 6px;
}

.timeline-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.timeline-progress-head strong {
  font-size: 13px;
}

.timeline-progress-head span {
  color: var(--success);
  font-size: 13px;
  font-weight: 700;
}

.timeline-progress {
  height: 4px;
  border-radius: 999px;
  background: var(--surface-muted);
  overflow: hidden;
  width: 100%;
}

.timeline-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
}

.timeline-progress-fill.tone-secondary {
  background: #8592a3;
}

.timeline-progress-fill.tone-success {
  background: var(--success);
}

.timeline-progress-fill.tone-info {
  background: var(--info);
}

.timeline-summary-list {
  display: grid;
  gap: 10px;
}

.timeline-summary-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.timeline-summary-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.timeline-summary-copy strong {
  font-size: 13px;
}

.timeline-summary-copy span {
  color: var(--muted);
  font-size: 12px;
}

.timeline-summary-value {
  display: grid;
  gap: 4px;
  min-width: 110px;
  justify-items: end;
}

.timeline-summary-value strong {
  font-size: 13px;
}

.tooltip-grid {
  align-items: flex-start;
}

.tooltip-vmodel-row {
  align-items: center;
}

.tooltip-demo {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tooltip-demo-activator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tooltip-demo-bubble {
  position: absolute;
  z-index: 6;
  display: block;
  min-width: max-content;
  border: 1px solid #22303e;
  border-radius: 8px;
  background: #22303e;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
  color: #fff;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}

.tooltip-demo.location-top .tooltip-demo-bubble {
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translate(-50%, 6px) scale(0.98);
}

.tooltip-demo.location-bottom .tooltip-demo-bubble {
  left: 50%;
  top: calc(100% + 10px);
  transform: translate(-50%, -6px) scale(0.98);
}

.tooltip-demo.location-end .tooltip-demo-bubble {
  left: calc(100% + 10px);
  top: 50%;
  transform: translate(6px, -50%) scale(0.98);
}

.tooltip-demo.location-start .tooltip-demo-bubble {
  right: calc(100% + 10px);
  top: 50%;
  transform: translate(-6px, -50%) scale(0.98);
}

.tooltip-demo.is-open .tooltip-demo-bubble {
  opacity: 1;
}

.tooltip-demo.is-open.location-top .tooltip-demo-bubble,
.tooltip-demo.is-open.location-bottom .tooltip-demo-bubble {
  transform: translate(-50%, 0) scale(1);
}

.tooltip-demo.is-open.location-end .tooltip-demo-bubble,
.tooltip-demo.is-open.location-start .tooltip-demo-bubble {
  transform: translate(0, -50%) scale(1);
}

.tooltip-demo.transition-scale .tooltip-demo-bubble {
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

.tooltip-demo.transition-scale.location-top .tooltip-demo-bubble,
.tooltip-demo.transition-scale.location-bottom .tooltip-demo-bubble {
  transform: translate(-50%, 4px) scale(0.88);
}

.tooltip-demo.transition-scale.location-end .tooltip-demo-bubble,
.tooltip-demo.transition-scale.location-start .tooltip-demo-bubble {
  transform: translate(4px, -50%) scale(0.88);
}

.tooltip-demo.transition-scale.is-open.location-top .tooltip-demo-bubble,
.tooltip-demo.transition-scale.is-open.location-bottom .tooltip-demo-bubble {
  transform: translate(-50%, 0) scale(1);
}

.tooltip-demo.transition-scale.is-open.location-end .tooltip-demo-bubble,
.tooltip-demo.transition-scale.is-open.location-start .tooltip-demo-bubble {
  transform: translate(0, -50%) scale(1);
}

.tooltip-demo.transition-scroll-x.location-top .tooltip-demo-bubble,
.tooltip-demo.transition-scroll-x.location-bottom .tooltip-demo-bubble {
  transform: translate(-50%, 0) translateX(8px);
}

.tooltip-demo.transition-scroll-x.is-open.location-top .tooltip-demo-bubble,
.tooltip-demo.transition-scroll-x.is-open.location-bottom .tooltip-demo-bubble {
  transform: translate(-50%, 0);
}

.tooltip-demo.transition-scroll-y.location-top .tooltip-demo-bubble,
.tooltip-demo.transition-scroll-y.location-bottom .tooltip-demo-bubble {
  transform: translate(-50%, 8px);
}

.tooltip-demo.transition-scroll-y.is-open.location-top .tooltip-demo-bubble,
.tooltip-demo.transition-scroll-y.is-open.location-bottom .tooltip-demo-bubble {
  transform: translate(-50%, 0);
}

.component-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  padding: 0;
}

.component-btn {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  padding: 8px 14px;
  font-weight: 600;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease, color 120ms ease;
}

.component-btn:focus-visible,
.icon-button:focus-visible,
.table-action:focus-visible,
.tab-link:focus-visible,
.tab-pill:focus-visible,
.expansion-panel-trigger:focus-visible,
.wizard-step:focus-visible,
.menu-item:focus-visible,
.menu-popover-action:focus-visible,
.page-pill:focus-visible,
.snackbar-inline button:focus-visible,
.snackbar-icon-button:focus-visible,
.dialog-toolbar-icon:focus-visible,
.dialog-toolbar-action:focus-visible,
.dialog-close-float:focus-visible,
.cards-demo-nav-list a:focus-visible,
.nexus-textfield-action:focus-visible,
.nexus-textarea-clear:focus-visible,
.autocomplete-suffix:focus-visible,
.autocomplete-clear-button:focus-visible,
.autocomplete-option:focus-visible,
.nexus-select-option:focus-visible,
.file-input-action:focus-visible,
.nexus-rating-item:focus-visible,
.form-demo-nexus-range-thumb:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.component-btn.tone-primary { border-color: var(--primary); background: var(--primary); color: white; }
.component-btn.tone-success { border-color: var(--success); background: var(--success); color: white; }
.component-btn.tone-warning { border-color: var(--warning); background: var(--warning); color: white; }
.component-btn.tone-danger { border-color: var(--danger); background: var(--danger); color: white; }
.component-btn.tone-info { border-color: var(--info); background: var(--info); color: white; }
.component-btn.tone-secondary { border-color: #8592a3; background: #8592a3; color: white; }
.component-btn.variant-tonal { background: rgba(99, 91, 255, 0.08); color: var(--primary-strong); }
.component-btn.variant-tonal.tone-secondary { background: rgba(133, 146, 163, 0.12); color: #5f6b78; }
.component-btn.variant-tonal.tone-success { background: rgba(22, 138, 74, 0.12); color: var(--success); }
.component-btn.variant-tonal.tone-warning { background: rgba(183, 121, 0, 0.12); color: var(--warning); }
.component-btn.variant-tonal.tone-danger { background: rgba(217, 45, 32, 0.12); color: var(--danger); }
.component-btn.variant-tonal.tone-info { background: rgba(2, 119, 189, 0.12); color: var(--info); }
.component-btn.variant-outlined { background: transparent; color: var(--primary-strong); }
.component-btn.variant-outlined.tone-primary { border-color: rgba(99, 91, 255, 0.2); color: var(--primary-strong); }
.component-btn.variant-outlined.tone-secondary { border-color: rgba(133, 146, 163, 0.25); color: #5f6b78; }
.component-btn.variant-outlined.tone-success { border-color: rgba(22, 138, 74, 0.25); color: var(--success); }
.component-btn.variant-outlined.tone-warning { border-color: rgba(183, 121, 0, 0.25); color: var(--warning); }
.component-btn.variant-outlined.tone-danger { border-color: rgba(217, 45, 32, 0.25); color: var(--danger); }
.component-btn.variant-outlined.tone-info { border-color: rgba(2, 119, 189, 0.25); color: var(--info); }
.component-btn.variant-flat { background: transparent; color: var(--primary-strong); }
.component-btn.variant-flat.tone-primary { color: var(--primary-strong); }
.component-btn.variant-flat.tone-secondary { color: #5f6b78; }
.component-btn.variant-flat.tone-success { color: var(--success); }
.component-btn.variant-flat.tone-warning { color: var(--warning); }
.component-btn.variant-flat.tone-danger { color: var(--danger); }
.component-btn.variant-flat.tone-info { color: var(--info); }
.component-btn.variant-plain { border-color: transparent; background: transparent; color: var(--text); }
.component-btn.variant-plain.tone-primary { color: var(--primary-strong); }
.component-btn.variant-plain.tone-secondary { color: #5f6b78; }
.component-btn.variant-plain.tone-success { color: var(--success); }
.component-btn.variant-plain.tone-warning { color: var(--warning); }
.component-btn.variant-plain.tone-danger { color: var(--danger); }
.component-btn.variant-plain.tone-info { color: var(--info); }
.component-btn.size-sm { min-height: 34px; padding: 6px 10px; font-size: 13px; }
.component-btn.size-lg { min-height: 46px; padding: 10px 18px; }
.component-btn.round-0 { border-radius: 0; }
.component-btn.round-sm { border-radius: 4px; }
.component-btn.round-lg { border-radius: 12px; }
.component-btn.round-xl { border-radius: 16px; }
.component-btn.is-block { width: 100%; }
.component-btn.is-loading { gap: 8px; }
.component-btn.is-loading .button-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: currentColor;
  border-radius: 999px;
  animation: component-spin 800ms linear infinite;
}

.button-stack {
  display: grid;
  gap: 10px;
}

.button-group {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
}

.button-group .component-btn {
  border-radius: 0;
}

.button-group .component-btn:first-child {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.button-group .component-btn:last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.badge-demo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.demo-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}

.demo-badge.tone-primary {
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
  border-color: rgba(99, 91, 255, 0.18);
}

.demo-badge.tone-secondary {
  background: rgba(133, 146, 163, 0.1);
  color: #5f6b78;
  border-color: rgba(133, 146, 163, 0.18);
}

.demo-badge.tone-success {
  background: rgba(22, 138, 74, 0.08);
  color: var(--success);
  border-color: rgba(22, 138, 74, 0.18);
}

.demo-badge.tone-warning {
  background: rgba(183, 121, 0, 0.08);
  color: var(--warning);
  border-color: rgba(183, 121, 0, 0.18);
}

.demo-badge.tone-danger {
  background: rgba(217, 45, 32, 0.08);
  color: var(--danger);
  border-color: rgba(217, 45, 32, 0.18);
}

.demo-badge.tone-info {
  background: rgba(2, 119, 189, 0.08);
  color: var(--info);
  border-color: rgba(2, 119, 189, 0.18);
}

.demo-badge.variant-filled {
  background: var(--surface-muted);
  color: var(--text);
  border-color: var(--border);
}

.demo-badge.variant-tonal {
  background: rgba(99, 91, 255, 0.08);
}

.demo-badge.variant-outlined {
  background: transparent;
  border-color: currentColor;
}

.demo-badge.is-dot {
  min-width: 28px;
}

.badge-hover-demo {
  display: flex;
  align-items: center;
}

.badge-hover-indicator {
  display: inline-flex;
  min-width: 18px;
  height: 18px;
  margin-left: 8px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--danger);
  color: white;
  font-size: 11px;
}

.badge-overlap {
  position: relative;
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 0 14px;
  font-weight: 700;
}

.badge-overlap i {
  position: absolute;
  top: -8px;
  right: -8px;
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--surface);
  border-radius: 999px;
  background: var(--primary);
  color: white;
  font-size: 11px;
  font-style: normal;
}

.badge-overlap.is-dot i { min-width: 12px; width: 12px; height: 12px; }

.avatar-status { position: relative; display: inline-flex; }
.avatar-status i { position: absolute; right: 0; bottom: 1px; width: 11px; height: 11px; border: 2px solid var(--surface); border-radius: 999px; background: var(--success); }
.avatar-status.is-busy i { background: var(--danger); }

.component-chip.is-outlined { background: transparent; }
.component-chip.chip-elevated { box-shadow: none; filter: var(--shadow-filter); }
.component-chip.chip-round-0 { border-radius: 0; }
.component-chip.chip-round-sm { border-radius: 4px; }
.component-chip.chip-round-lg { border-radius: 12px; }
.component-chip.chip-round-xl { border-radius: 16px; }
.component-chip.chip-size-sm { min-height: 28px; padding: 0 10px; font-size: 12px; }
.component-chip.chip-size-lg { min-height: 36px; padding: 0 14px; font-size: 14px; }
.select-chip-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.chip-expandable { border-color: rgba(99, 91, 255, 0.2); background: rgba(99, 91, 255, 0.06); color: var(--primary-strong); }
.chip-expand-panel { border: 1px solid var(--border); border-radius: 8px; background: var(--surface-muted); padding: 10px 12px; color: var(--muted); font-size: 13px; }

.dialog-preview-card,
.dialog-mock {
  display: grid;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 14px;
}

.dialog-preview-card span,
.dialog-mock span,
.dialog-scroll-preview span,
.dialog-loader-row span {
  color: var(--muted);
  font-size: 13px;
}

.dialog-preview-card div,
.dialog-mock div,
.dialog-actions-inline,
.dialog-avatar-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dialog-avatar-row {
  align-items: center;
}

.dialog-animation-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.dialog-animation-choice {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  padding: 10px;
  text-align: left;
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.dialog-animation-choice:hover {
  border-color: color-mix(in srgb, var(--primary) 38%, var(--border));
  background: color-mix(in srgb, var(--primary) 5%, var(--surface));
  transform: translateY(-1px);
}

.dialog-animation-choice > span:last-child {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.dialog-animation-choice strong {
  font-size: 13px;
  line-height: 18px;
}

.dialog-animation-choice small {
  color: var(--muted);
  font-size: 11px;
  line-height: 16px;
}

.dialog-animation-choice-icon {
  display: block;
  flex: 0 0 auto;
  width: 28px;
  height: 24px;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
  border-radius: 5px;
  background: color-mix(in srgb, var(--primary) 12%, var(--surface));
  box-shadow: 0 4px 10px color-mix(in srgb, var(--primary) 12%, transparent);
}

.dialog-animation-copy {
  margin: 0;
  color: var(--muted);
}

.dialog-animation-scrim {
  animation: dialog-backdrop-in 180ms ease-out both;
}

.dialog-animation-modal {
  transform-origin: center;
  will-change: opacity, transform;
  animation-duration: 380ms;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
}

.modal-scrim > .dialog-animation-modal.animation-fade { animation-name: dialog-open-fade; }
.modal-scrim > .dialog-animation-modal.animation-scale { animation-name: dialog-open-scale; }
.modal-scrim > .dialog-animation-modal.animation-zoom { animation-name: dialog-open-zoom; }
.modal-scrim > .dialog-animation-modal.animation-slide-up { animation-name: dialog-open-slide-up; }
.modal-scrim > .dialog-animation-modal.animation-slide-down { animation-name: dialog-open-slide-down; }
.modal-scrim > .dialog-animation-modal.animation-slide-left { animation-name: dialog-open-slide-left; }
.modal-scrim > .dialog-animation-modal.animation-slide-right { animation-name: dialog-open-slide-right; }
.modal-scrim > .dialog-animation-modal.animation-flip-x { animation-name: dialog-open-flip-x; transform-style: preserve-3d; }
.modal-scrim > .dialog-animation-modal.animation-flip-y { animation-name: dialog-open-flip-y; transform-style: preserve-3d; }
.modal-scrim > .dialog-animation-modal.animation-bounce { animation-name: dialog-open-bounce; animation-timing-function: ease-out; }

@keyframes dialog-open-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes dialog-open-zoom {
  from { opacity: 0; transform: scale(0.42); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes dialog-open-slide-up {
  from { opacity: 0; transform: translateY(56px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes dialog-open-slide-down {
  from { opacity: 0; transform: translateY(-56px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes dialog-open-slide-left {
  from { opacity: 0; transform: translateX(64px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes dialog-open-slide-right {
  from { opacity: 0; transform: translateX(-64px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes dialog-open-flip-x {
  from { opacity: 0; transform: perspective(800px) rotateX(-55deg) scale(0.94); }
  to { opacity: 1; transform: perspective(800px) rotateX(0) scale(1); }
}

@keyframes dialog-open-flip-y {
  from { opacity: 0; transform: perspective(800px) rotateY(-55deg) scale(0.94); }
  to { opacity: 1; transform: perspective(800px) rotateY(0) scale(1); }
}

@keyframes dialog-open-bounce {
  0% { opacity: 0; transform: scale(0.68); }
  58% { opacity: 1; transform: scale(1.06); }
  78% { transform: scale(0.97); }
  100% { opacity: 1; transform: scale(1); }
}

@media (max-width: 1100px) {
  .dialog-animation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .dialog-animation-grid {
    grid-template-columns: 1fr;
  }
}

.command-modal.dialog-alert-modal {
  width: min(100%, 380px);
  justify-items: center;
  gap: 18px;
  padding: 24px;
  text-align: center;
}

.dialog-alert-icon {
  display: inline-flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
}

.dialog-alert-icon.tone-danger {
  background: color-mix(in srgb, var(--danger) 12%, var(--surface));
  color: var(--danger);
}

.dialog-alert-icon.tone-success {
  background: color-mix(in srgb, var(--success) 12%, var(--surface));
  color: var(--success);
}

.dialog-alert-copy {
  display: grid;
  gap: 8px;
}

.dialog-alert-copy h2,
.dialog-alert-copy p {
  margin: 0;
}

.dialog-alert-copy h2 {
  color: var(--text);
  font-size: 22px;
  line-height: 28px;
}

.dialog-alert-copy p {
  color: var(--muted);
  line-height: 22px;
}

.dialog-alert-actions {
  width: 100%;
  justify-content: center;
}

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

.dialog-form-field {
  display: grid;
  gap: 4px;
}

.dialog-form-field input {
  width: 100%;
}

.dialog-form-hint {
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}

.dialog-form-span-3 {
  grid-column: 1 / -1;
}

.dialog-settings-list {
  display: grid;
  gap: 10px;
}

.dialog-settings-list > label,
.dialog-settings-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 10px 12px;
}

.dialog-scroll-preview {
  display: grid;
  gap: 10px;
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
}

.dialog-loader-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dialog-modal-large {
  width: min(100%, 680px);
}

.dialog-modal-small {
  width: min(100%, 360px);
}

.dialog-modal-scrollable {
  width: min(100%, 350px);
}

.dialog-modal-form {
  width: min(100%, 600px);
}

.dialog-modal-loader {
  width: min(100%, 420px);
  border-color: rgba(99, 91, 255, 0.2);
  background: var(--surface);
  color: var(--text);
  min-height: 0;
  gap: 14px;
  padding: 18px;
}

.dialog-modal-loader .dialog-loader-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
  width: 100%;
  justify-items: stretch;
  text-align: left;
  padding: 0;
}

.dialog-modal-loader .dialog-loader-copy {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
  opacity: 1;
}

.dialog-modal-loader .component-spinner {
  border-color: rgba(99, 91, 255, 0.18);
  border-top-color: var(--primary);
}

.dialog-loader-progress {
  width: 100%;
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--surface-muted);
}

.dialog-loader-progress .linear-fill {
  background: var(--primary);
}

.dialog-close-float {
  margin-left: auto;
  align-self: center;
}

.dialog-close-float.is-light {
  color: white;
}

.dialog-select-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
  min-height: 40px;
}

.dialog-select-row span {
  color: var(--text);
}

.dialog-select-row input[type="checkbox"],
.dialog-select-row input[type="radio"] {
  width: 14px;
  height: 14px;
  min-height: 14px;
  margin: 0;
  flex: 0 0 auto;
}

.dialog-list-group {
  display: grid;
  gap: 10px;
}

.dialog-fullscreen-divider {
  height: 1px;
  background: var(--border);
}

.dialog-fullscreen-list {
  display: grid;
  gap: 0;
  padding: 8px 0;
}

.dialog-fullscreen-list.is-two-line {
  padding-top: 0;
}

.dialog-fullscreen-subheader {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.375rem;
}

.dialog-fullscreen-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 12px 16px;
}

.dialog-fullscreen-item.is-three-line {
  min-height: 88px;
  padding-top: 16px;
  padding-bottom: 16px;
  align-items: flex-start;
}

.dialog-fullscreen-item-copy {
  display: grid;
  gap: 0;
  min-width: 0;
}

.dialog-fullscreen-item-copy strong {
  font-size: 14px;
  line-height: 1.25rem;
}

.dialog-fullscreen-item-copy span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1rem;
}

.dialog-fullscreen-item input[type="checkbox"],
.dialog-fullscreen-item input[type="radio"] {
  margin-top: 0;
}

.dialog-fullscreen-shell {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: transparent;
}

.dialog-modal-fullscreen {
  position: absolute;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  overflow: hidden;
  gap: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  background: var(--surface);
}

.dialog-fullscreen-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 8px;
  background: var(--primary);
  color: white;
}

.dialog-toolbar-icon {
  width: 32px;
  height: 32px;
  min-height: 32px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

.dialog-fullscreen-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
}

.dialog-fullscreen-spacer {
  flex: 1;
}

.dialog-toolbar-action {
  min-height: 28px;
  margin-right: 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

.dialog-fullscreen-content {
  gap: 0;
  padding: 0;
  overflow: auto;
  flex: 1 1 auto;
  min-height: 0;
}

.dialog-form-actions {
  justify-content: flex-end;
}

.list-row.compact { width: 100%; text-align: left; }

.menu-static { display: grid; gap: 8px; min-width: 220px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 12px; }
.menu-static span { color: var(--muted); font-size: 13px; }
.menu-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.pagination-demo.is-dense { align-items: center; }
.pagination-demo.is-dense span { color: var(--muted); }
.pagination-demo { align-items: center; }
.pagination-demo.is-outline .page-pill,
.page-pill.is-outline { background: transparent; }
.page-pill:disabled { opacity: 0.45; cursor: not-allowed; }
.page-pill.is-active.tone-primary { border-color: var(--primary); background: var(--primary); color: white; }
.page-pill.is-active.tone-success { border-color: var(--success); background: var(--success); color: white; }
.page-pill.is-active.tone-error { border-color: var(--danger); background: var(--danger); color: white; }
.page-pill.is-active.tone-info { border-color: var(--info); background: var(--info); color: white; }
.pagination-demo.is-outline .page-pill.is-active,
.page-pill.is-outline.is-active { background: transparent; color: var(--primary-strong); }
.page-pill.is-outline.is-active.tone-primary { border-color: rgba(99, 91, 255, 0.28); color: var(--primary-strong); }
.page-pill.is-outline.is-active.tone-success { border-color: rgba(22, 138, 74, 0.28); color: var(--success); }
.page-pill.is-outline.is-active.tone-error { border-color: rgba(217, 45, 32, 0.28); color: var(--danger); }
.page-pill.is-outline.is-active.tone-info { border-color: rgba(2, 119, 189, 0.28); color: var(--info); }
.page-pill.is-circle { border-radius: 999px; }
.page-pill.size-sm { width: 32px; height: 32px; font-size: 12px; }
.page-pill.size-lg { width: 44px; height: 44px; font-size: 14px; }
.page-ellipsis {
  display: inline-flex;
  min-width: 18px;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-weight: 700;
}
.pagination-demo.is-length,
.pagination-demo.is-total-visible { justify-content: flex-start; }
.pagination-demo.is-icons { align-items: center; }

.spinner-row { display: flex; flex-wrap: wrap; gap: 14px; }
.component-spinner { width: 42px; height: 42px; border: 4px solid #e5e7eb; border-top-color: var(--primary); border-radius: 999px; animation: component-spin 900ms linear infinite; }
.component-spinner.tone-success { border-top-color: var(--success); }
.component-spinner.tone-warning { border-top-color: var(--warning); }
.component-ring.size-sm { max-width: 120px; }
.component-ring.size-lg { max-width: 180px; }
@keyframes component-spin { to { transform: rotate(360deg); } }

.linear-list.is-thin .linear-track { height: 6px; }
.linear-list.is-rounded .linear-track { border-radius: 999px; }
.linear-track.is-buffer { position: relative; }
.linear-buffer {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: inherit;
  background: rgba(99, 91, 255, 0.2);
}
.linear-track.is-indeterminate .linear-fill { width: 38%; animation: component-progress 1.4s ease-in-out infinite; }
.linear-track.is-reversed .linear-fill { margin-left: auto; }
.linear-track.is-striped .linear-fill {
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0.35) 75%, transparent 75%, transparent);
  background-size: 24px 24px;
}
@keyframes component-progress {
  0% { transform: translateX(-80%); }
  50% { transform: translateX(35%); }
  100% { transform: translateX(120%); }
}

.snackbar-position-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; justify-items: center; }
.snackbar-inline { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 10px 12px; }
.snackbar-inline.is-multiline { align-items: flex-start; }
.snackbar-inline.is-vertical { flex-direction: column; align-items: flex-start; }
.snackbar-inline button { border: 0; background: transparent; color: var(--primary-strong); font-weight: 700; }
.snackbar-demo {
  position: fixed;
  z-index: 95;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 344px;
  max-width: 672px;
  min-height: 44px;
  border-radius: 6px;
  background: #22303e;
  color: #ffffff;
  box-shadow: 0 1px 5px rgba(23, 32, 51, 0.18);
  overflow: hidden;
}

.snackbar-demo.variant-tonal {
  background: rgba(34, 48, 62, 0.08);
  color: #22303e;
  box-shadow: none;
}

.snackbar-demo.variant-text {
  background: transparent;
  color: inherit;
  box-shadow: none;
}

.snackbar-demo.variant-outlined {
  background: transparent;
  color: var(--danger);
  box-shadow: none;
  border: 1px solid currentColor;
}

.snackbar-demo.variant-flat {
  background: #22303e;
  color: #ffffff;
  box-shadow: none;
}

.snackbar-demo.variant-default {
  background: #22303e;
  color: #ffffff;
}

.snackbar-demo.is-vertical {
  flex-direction: column;
  align-items: stretch;
}

.snackbar-demo.is-multiline {
  min-height: 68px;
}

.snackbar-demo.is-fade {
  animation: snackbar-fade-in 150ms cubic-bezier(0, 0, 0.2, 1);
}

.snackbar-demo.is-scale {
  animation: snackbar-scale-in 150ms cubic-bezier(0, 0, 0.2, 1);
}

.snackbar-demo.is-scroll-y-reverse {
  animation: snackbar-slide-in 150ms cubic-bezier(0, 0, 0.2, 1);
}

.snackbar-content {
  flex: 1 1 auto;
  padding: 12px 16px;
  font-size: 13px;
  line-height: 20px;
}

.snackbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-inline-end: 16px;
}

.snackbar-demo.is-vertical .snackbar-actions {
  align-self: flex-end;
  margin-bottom: 8px;
  margin-inline-end: 16px;
}

.snackbar-icon-button {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text);
}

.snackbar-icon-button:hover {
  background: var(--surface-muted);
}

@keyframes snackbar-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes snackbar-scale-in {
  from { opacity: 0; transform: scale(0.8); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes snackbar-slide-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

.tabs-strip.is-contained { border: 1px solid var(--border); border-radius: 8px; background: var(--surface-muted); padding: 4px; }
.tabs-vertical-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 12px; align-items: start; }
.tabs-strip.is-vertical { flex-direction: column; align-items: stretch; }
.tabs-strip.is-vertical .tab-link {
  justify-content: flex-start;
  border-bottom: 0;
  border-left: 2px solid transparent;
  border-radius: 8px;
}
.tabs-strip.is-vertical .tab-link.is-active {
  border-left-color: var(--primary);
}
.tabs-strip.is-left { justify-content: flex-start; }
.tabs-strip.is-center { justify-content: center; }
.tabs-strip.is-right { justify-content: flex-end; }
.tabs-strip.is-paginated { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; }
.tabs-strip.is-paginated .tab-link { flex: 0 0 auto; }
.tabs-strip.is-fixed .tab-link { min-width: 92px; }
.tabs-strip.is-grow .tab-link { flex: 1 1 0; }
.tabs-strip.is-pill .tab-pill,
.tab-pill.is-stacked { border-radius: 999px; }
.tab-pill.is-stacked { flex-direction: column; gap: 4px; min-width: 110px; min-height: 54px; }
.tabs-strip.is-contained .tab-link.is-active { background: white; }
.tabs-strip.is-contained .tab-pill.is-active { background: white; }

@media (max-width: 900px) {
  .component-preview-grid { grid-template-columns: 1fr; }
  .form-demo-grid { grid-template-columns: 1fr; }
  .switch-demo-grid--colors { grid-template-columns: 1fr; }
  .dialog-form-grid { grid-template-columns: 1fr; }
  .dialog-form-span-3 { grid-column: auto; }
}

@media (max-width: 1100px) {
  .stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cards-demo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cards-demo-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid,
  .split-panel,
  .settings-layout {
    grid-template-columns: 1fr;
  }

  .component-tiles,
  .ring-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.page-header h1 {
  margin: 0;
  font-size: 24px;
  line-height: 32px;
}

.page-header p {
  max-width: 680px;
  margin: 4px 0 0;
  color: var(--muted);
}

.eyebrow {
  margin: 0 0 4px !important;
  color: var(--primary-strong) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  min-width: 0;
}

.stat-card,
.panel {
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: none;
  filter: var(--shadow-filter);
}

.stat-card {
  display: grid;
  gap: 8px;
  min-height: 128px;
  padding: 16px;
}

.stat-card span,
.stat-card small,
.section-header p {
  color: var(--muted);
}

.stat-card strong {
  font-size: 28px;
  line-height: 34px;
}

.stat-card small {
  font-weight: 700;
}

.tone-primary small {
  color: var(--primary-strong);
}

.tone-success small {
  color: var(--success);
}

.tone-warning small {
  color: var(--warning);
}

.tone-danger small {
  color: var(--danger);
}

.tone-info small {
  color: var(--info);
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.8fr);
  gap: 16px;
  min-width: 0;
}

.dashboard-grid > *,
.stat-grid > *,
.settings-layout > *,
.split-panel > * {
  min-width: 0;
}

.panel {
  padding: 20px;
}

.section-header,
.table-toolbar,
.pagination-row,
.form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.section-header {
  margin-bottom: 16px;
}

.section-header h2,
.split-panel h2 {
  margin: 0;
  font-size: 18px;
  line-height: 26px;
}

.section-header p,
.split-panel p {
  margin: 2px 0 0;
}

.queue-list {
  display: grid;
  gap: 10px;
}

.split-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.queue-list div {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 12px;
}

.queue-list strong,
.queue-list span {
  display: block;
}

.queue-list span {
  color: var(--muted);
  font-size: 13px;
}

.trend-bars {
  display: flex;
  height: 184px;
  align-items: end;
  gap: 10px;
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 16px;
}

.trend-bars span {
  flex: 1;
  min-width: 18px;
  border-radius: 6px 6px 0 0;
  background: linear-gradient(180deg, var(--primary), #8ee3ef);
}

.dashboard-page {
  gap: 18px;
}

.dashboard-page .page-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  gap: 18px;
  align-items: stretch;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 16%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 26%),
    linear-gradient(135deg, color-mix(in srgb, var(--primary) 7%, var(--surface)), var(--surface) 58%);
}

.dashboard-hero-copy {
  display: grid;
  align-content: center;
  gap: 12px;
}

.dashboard-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--success) 12%, var(--surface));
  color: var(--success);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-hero h2 {
  max-width: 760px;
  margin: 0;
  color: var(--text);
  font-size: 28px;
  line-height: 36px;
}

.dashboard-hero p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
}

.dashboard-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.dashboard-health-card {
  display: grid;
  gap: 14px;
  align-content: center;
  border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 86%, white);
  padding: 16px;
}

.dashboard-health-ring {
  display: grid;
  width: 174px;
  aspect-ratio: 1;
  place-content: center;
  justify-self: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, var(--surface) 0 58%, transparent 59%),
    conic-gradient(var(--primary) 0 var(--score), color-mix(in srgb, var(--border) 70%, var(--surface)) var(--score) 100%);
  text-align: center;
}

.dashboard-health-ring strong {
  color: var(--text);
  font-size: 34px;
  line-height: 40px;
}

.dashboard-health-ring span,
.dashboard-health-list span {
  color: var(--muted);
  font-size: 13px;
}

.dashboard-health-list {
  display: grid;
  gap: 8px;
}

.dashboard-health-list span,
.dashboard-legend span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.dashboard-health-list i,
.dashboard-legend i {
  display: inline-block;
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--primary);
}

.dashboard-health-list i.tone-success,
.dashboard-legend i.tone-success {
  background: var(--success);
}

.dashboard-health-list i.tone-warning {
  background: var(--warning);
}

.dashboard-health-list i.tone-info {
  background: var(--info);
}

.dashboard-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-kpi-card {
  position: relative;
  min-width: 0;
}

.dashboard-kpi-card .stat-card {
  min-height: 142px;
  padding-right: 58px;
}

.dashboard-kpi-icon {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1;
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--primary) 10%, var(--surface));
  color: var(--primary-strong);
}

.dashboard-kpi-icon.tone-success { background: color-mix(in srgb, var(--success) 12%, var(--surface)); color: var(--success); }
.dashboard-kpi-icon.tone-warning { background: color-mix(in srgb, var(--warning) 14%, var(--surface)); color: var(--warning); }
.dashboard-kpi-icon.tone-danger { background: color-mix(in srgb, var(--danger) 12%, var(--surface)); color: var(--danger); }

.dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: 16px;
}

.dashboard-side-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 16px;
}

.dashboard-main-grid > *,
.dashboard-side-grid > *,
.dashboard-kpi-grid > * {
  min-width: 0;
}

.dashboard-legend {
  display: flex;
  gap: 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.dashboard-revenue-chart {
  display: grid;
  grid-template-columns: repeat(7, minmax(34px, 1fr));
  gap: 12px;
  min-height: 260px;
  align-items: end;
  border: 1px solid var(--border);
  border-radius: 10px;
  background:
    linear-gradient(to top, transparent 0 24%, color-mix(in srgb, var(--border) 55%, transparent) 24% calc(24% + 1px), transparent calc(24% + 1px) 49%, color-mix(in srgb, var(--border) 55%, transparent) 49% calc(49% + 1px), transparent calc(49% + 1px) 74%, color-mix(in srgb, var(--border) 55%, transparent) 74% calc(74% + 1px), transparent calc(74% + 1px)),
    var(--surface-muted);
  padding: 18px;
}

.dashboard-revenue-column {
  display: grid;
  gap: 8px;
  align-items: end;
  min-width: 0;
  height: 100%;
}

.dashboard-revenue-column > div {
  display: flex;
  height: 208px;
  align-items: end;
  justify-content: center;
  gap: 4px;
}

.dashboard-revenue-column span {
  display: block;
  width: min(18px, 42%);
  border-radius: 6px 6px 0 0;
}

.dashboard-revenue-column .is-billed {
  background: linear-gradient(180deg, var(--primary), color-mix(in srgb, var(--primary) 52%, white));
}

.dashboard-revenue-column .is-collected {
  background: linear-gradient(180deg, var(--success), color-mix(in srgb, var(--success) 45%, white));
}

.dashboard-revenue-column small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.dashboard-work-panel .section-header svg,
.dashboard-risk-panel .section-header svg {
  color: var(--warning);
}

.dashboard-priority-list button strong,
.dashboard-checks strong,
.dashboard-channel-list strong {
  color: var(--text);
}

.dashboard-channel-list > div {
  display: grid;
  grid-template-columns: minmax(130px, 0.8fr) minmax(110px, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.dashboard-channel-list > div > span {
  display: grid;
  gap: 3px;
}

.dashboard-channel-list small {
  color: var(--muted);
}

.ops-progress span.tone-success { background: linear-gradient(90deg, var(--success), #8ee3b1); }
.ops-progress span.tone-info { background: linear-gradient(90deg, var(--info), #8ee3ef); }
.ops-progress span.tone-warning { background: linear-gradient(90deg, var(--warning), #ffd98a); }

.dashboard-checks {
  display: grid;
  gap: 10px;
}

.dashboard-checks div {
  display: grid;
  gap: 7px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.dashboard-checks .status-badge {
  width: fit-content;
}

.dashboard-checks span {
  color: var(--muted);
  font-size: 13px;
}

.dashboard-records-panel .ops-table-wrap table {
  min-width: 820px;
}

.system-page {
  gap: 18px;
}

.system-page .page-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.system-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
  gap: 18px;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--info) 15%, transparent), transparent 26%),
    linear-gradient(135deg, color-mix(in srgb, var(--success) 7%, var(--surface)), var(--surface) 58%);
}

.system-hero-copy {
  display: grid;
  align-content: center;
  gap: 12px;
}

.system-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--success) 12%, var(--surface));
  color: var(--success);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}

.system-hero h2 {
  max-width: 760px;
  margin: 0;
  color: var(--text);
  font-size: 28px;
  line-height: 36px;
}

.system-hero p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
}

.system-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.system-status-card {
  display: grid;
  gap: 14px;
  align-content: center;
  border: 1px solid color-mix(in srgb, var(--success) 18%, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 86%, white);
  padding: 16px;
}

.system-pulse {
  position: relative;
  display: grid;
  min-height: 174px;
  place-content: center;
  justify-items: center;
  gap: 8px;
  overflow: hidden;
  border-radius: 12px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--success) 88%, #172033), color-mix(in srgb, var(--info) 74%, #172033));
  color: white;
  text-align: center;
}

.system-pulse::before {
  content: "";
  position: absolute;
  width: 132px;
  height: 132px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  transform: translate(64px, -46px);
}

.system-pulse svg,
.system-pulse strong,
.system-pulse span {
  position: relative;
  z-index: 1;
}

.system-pulse strong {
  font-size: 30px;
  line-height: 36px;
}

.system-pulse span,
.system-health-list span {
  color: var(--muted);
  font-size: 13px;
}

.system-pulse span {
  color: rgba(255, 255, 255, 0.78);
}

.system-health-list {
  display: grid;
  gap: 8px;
}

.system-health-list span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.system-health-list i {
  display: inline-block;
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--success);
}

.system-health-list i.tone-warning {
  background: var(--warning);
}

.system-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.system-kpi-card {
  position: relative;
  min-width: 0;
}

.system-kpi-card .stat-card {
  min-height: 142px;
  padding-right: 58px;
}

.system-kpi-icon {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1;
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--primary) 10%, var(--surface));
  color: var(--primary-strong);
}

.system-kpi-icon.tone-success { background: color-mix(in srgb, var(--success) 12%, var(--surface)); color: var(--success); }
.system-kpi-icon.tone-warning { background: color-mix(in srgb, var(--warning) 14%, var(--surface)); color: var(--warning); }
.system-kpi-icon.tone-info { background: color-mix(in srgb, var(--info) 12%, var(--surface)); color: var(--info); }

.system-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: 16px;
}

.system-side-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}

.system-main-grid > *,
.system-side-grid > *,
.system-kpi-grid > * {
  min-width: 0;
}

.system-jobs-panel .ops-table-wrap table {
  min-width: 920px;
}

.system-incident-panel .section-header svg {
  color: var(--warning);
}

.system-incident-list button strong,
.system-integration-list strong,
.system-maintenance-list strong {
  color: var(--text);
}

.system-integration-list > div {
  display: grid;
  grid-template-columns: minmax(130px, 0.85fr) minmax(110px, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.system-integration-list > div > span {
  display: grid;
  gap: 3px;
}

.system-integration-list small {
  color: var(--muted);
}

.ops-progress span.tone-danger {
  background: linear-gradient(90deg, var(--danger), #ff9d99);
}

.system-maintenance-list {
  display: grid;
  gap: 10px;
}

.system-maintenance-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.system-maintenance-list span {
  display: grid;
  gap: 3px;
}

.system-maintenance-list small {
  color: var(--muted);
}

.placeholder {
  display: grid;
  gap: 10px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 14px;
}

.placeholder strong,
.placeholder span {
  display: block;
}

.placeholder span {
  color: var(--muted);
  font-size: 13px;
}

.ops-page {
  --ops-tone: var(--primary);
  --ops-tone-soft: rgba(99, 91, 255, 0.1);
}

.ops-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 20px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ops-tone) 18%, var(--border));
  border-radius: 14px;
  background:
    radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--ops-tone) 18%, transparent), transparent 24%),
    linear-gradient(135deg, color-mix(in srgb, var(--ops-tone) 12%, white), var(--surface));
  padding: 24px;
  box-shadow: 0 16px 38px rgba(23, 32, 51, 0.08);
}

.ops-hero.tone-sales { --ops-tone: var(--primary); }
.ops-hero.tone-orders { --ops-tone: #0277bd; }
.ops-hero.tone-finance { --ops-tone: var(--success); }
.ops-hero.tone-inventory { --ops-tone: #b77900; }
.ops-hero.tone-products { --ops-tone: #7c3aed; }
.ops-hero.tone-access { --ops-tone: #0f766e; }

.ops-hero-copy {
  display: grid;
  align-content: center;
  gap: 10px;
  min-width: 0;
}

.ops-kicker {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ops-tone) 12%, white);
  color: color-mix(in srgb, var(--ops-tone) 82%, #172033);
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 16px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ops-hero h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.ops-hero p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 22px;
}

.ops-hero-actions,
.ops-filter-shell,
.ops-segmented,
.ops-entity,
.ops-metric-list div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ops-hero-actions {
  flex-wrap: wrap;
  margin-top: 6px;
}

.ops-hero-visual {
  position: relative;
  display: grid;
  min-height: 210px;
  align-content: center;
  justify-items: center;
  gap: 6px;
  overflow: hidden;
  border-radius: 14px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--ops-tone) 92%, #172033), color-mix(in srgb, var(--ops-tone) 64%, #172033));
  color: white;
  padding: 20px;
}

.ops-hero-visual::before {
  content: "";
  position: absolute;
  top: -52px;
  right: -42px;
  width: 170px;
  height: 170px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
}

.ops-hero-visual > svg,
.ops-hero-visual strong,
.ops-hero-visual span,
.ops-spark-bars,
.ops-spark-line {
  position: relative;
  z-index: 1;
}

.ops-hero-visual strong {
  font-size: 34px;
  line-height: 40px;
}

.ops-hero-visual span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
}

.ops-spark-bars,
.ops-spark-line {
  display: flex;
  width: min(100%, 220px);
  height: 74px;
  align-items: end;
  gap: 8px;
  margin-top: 12px;
}

.ops-spark-bars i,
.ops-spark-line i {
  flex: 1;
  min-height: 12px;
  border-radius: 999px 999px 0 0;
  background: rgba(255, 255, 255, 0.72);
}

.ops-spark-line i {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.54);
}

.ops-radial {
  display: grid;
  min-height: 230px;
  place-items: center;
  align-content: center;
  gap: 10px;
  border-radius: 14px;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ops-tone) 16%, var(--border));
}

.ops-radial > span {
  display: grid;
  width: 150px;
  height: 150px;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, var(--surface) 0 58%, transparent 59%),
    conic-gradient(var(--ops-tone) 0 var(--value), #eef2f6 var(--value) 100%);
}

.ops-radial strong {
  color: var(--text);
  font-size: 26px;
}

.ops-radial small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.ops-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ops-stat-card,
.ops-category-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  padding: 16px;
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.06);
}

.ops-stat-card span,
.ops-category-card span {
  color: var(--muted);
  font-size: 13px;
}

.ops-stat-card strong {
  color: var(--text);
  font-size: 28px;
  line-height: 34px;
}

.ops-stat-card small {
  font-size: 12px;
  font-weight: 800;
}

.ops-stat-card small.tone-success { color: var(--success); }
.ops-stat-card small.tone-warning { color: var(--warning); }
.ops-stat-card small.tone-danger { color: var(--danger); }
.ops-stat-card small.tone-info { color: var(--info); }

.ops-panel {
  border-radius: 12px;
}

.ops-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ops-filter-shell {
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.ops-search {
  position: relative;
  flex: 1 1 280px;
  min-width: 240px;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  padding: 0 12px;
  color: var(--muted);
}

.ops-search input {
  width: 100%;
  min-height: 0;
  height: 38px;
  border: 0;
  background: transparent;
  outline: none;
  box-shadow: none;
  padding-block: 0;
  padding-inline: 0;
}

.ops-segmented {
  flex: 0 1 auto;
  flex-wrap: wrap;
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 4px;
}

.ops-segmented button {
  min-height: 32px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  padding: 0 12px;
  font-size: 13px;
  font-weight: 700;
}

.ops-segmented button.is-active {
  background: var(--surface);
  color: var(--primary-strong);
  box-shadow: 0 4px 12px rgba(23, 32, 51, 0.08);
}

.ops-table-wrap {
  border: 1px solid var(--border);
  border-radius: 10px;
}

.ops-table-wrap table {
  min-width: 920px;
}

.ops-table-wrap tbody tr {
  transition: background-color 120ms ease;
}

.ops-table-wrap tbody tr:hover {
  background: rgba(99, 91, 255, 0.035);
}

.ops-entity i {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.ops-progress {
  width: 100%;
  min-width: 86px;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.ops-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary), #8ee3ef);
}

.ops-timeline {
  display: grid;
  gap: 10px;
}

.ops-timeline div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 10px;
}

.ops-timeline div > span {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef2f6;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.ops-timeline div.is-complete > span {
  background: #e8f7ef;
  color: var(--success);
}

.ops-timeline small {
  color: var(--muted);
}

.ops-action-list,
.ops-aging-list,
.ops-metric-list {
  display: grid;
  gap: 10px;
}

.ops-action-list button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  color: var(--text);
  padding: 12px;
  text-align: left;
}

.ops-action-list button:hover {
  border-color: rgba(99, 91, 255, 0.3);
  background: rgba(99, 91, 255, 0.05);
}

.ops-action-list span,
.ops-action-list strong {
  display: block;
}

.ops-action-list span {
  color: var(--muted);
  font-size: 13px;
}

.invoice-modal {
  overflow: visible;
}

.invoice-modal-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 14px;
  border: 1px solid rgba(99, 91, 255, 0.16);
  border-radius: 12px;
  background:
    radial-gradient(circle at 90% 10%, rgba(99, 91, 255, 0.12), transparent 30%),
    var(--surface-muted);
  padding: 14px;
}

.invoice-modal-summary span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--primary-strong);
  font-weight: 800;
}

.invoice-modal-summary strong {
  color: var(--text);
  font-size: 22px;
  line-height: 28px;
}

.invoice-modal-summary small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
}

.invoice-modal-grid {
  align-items: start;
}

.invoice-field {
  min-width: 0;
}

.invoice-date-picker {
  display: grid;
  gap: 6px;
}

.invoice-date-picker .date-time-picker-input {
  min-height: 58px;
  padding: 0 12px;
}

.users-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wizard-example-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  align-items: start;
  gap: 18px;
}

.wizard-example-layout .form-wizard-card {
  min-width: 0;
}

.wizard-example-options {
  display: grid;
  gap: 10px;
  align-content: start;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  padding: 14px;
}

.wizard-example-options > strong {
  color: var(--text);
  font-size: 13px;
}

.wizard-example-choice-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.wizard-example-choice {
  display: grid;
  justify-items: start;
  gap: 8px;
  border: 2px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text);
  padding: 16px;
  text-align: left;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.wizard-example-choice:hover,
.wizard-example-choice.is-active {
  border-color: rgba(99, 91, 255, 0.45);
  box-shadow: 0 8px 22px rgba(99, 91, 255, 0.1);
  transform: translateY(-1px);
}

.wizard-example-choice svg {
  color: var(--primary-strong);
}

.wizard-example-choice span {
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

.wizard-example-summary {
  position: sticky;
  top: calc(var(--topbar-height) + 36px);
  display: grid;
  gap: 14px;
}

.wizard-example-summary h2 {
  margin: 0;
  color: var(--text);
  font-size: 22px;
  line-height: 28px;
}

.wizard-example-summary > small {
  color: var(--muted);
}

.app-pages-stack {
  --pages-tone: var(--primary);
}

.app-page-grid,
.pricing-page,
.faq-page {
  display: grid;
  gap: 18px;
}

.profile-hero {
  overflow: hidden;
  padding: 0;
}

.profile-cover {
  min-height: 160px;
  background:
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.28), transparent 26%),
    linear-gradient(135deg, #635bff, #09a2c7);
}

.profile-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 26px 22px 22px;
}

.profile-avatar {
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  align-self: start;
  border: 5px solid var(--surface);
  border-radius: 18px;
  background: var(--primary);
  color: white;
  font-size: 31px;
  font-weight: 900;
  box-shadow: 0 16px 30px rgba(23, 32, 51, 0.18);
  transform: translateY(-66px);
  margin-bottom: -66px;
}

.profile-identity h2,
.profile-identity p {
  margin: 0;
}

.profile-identity h2 {
  color: var(--text);
  font-size: 21px;
  line-height: 27px;
}

.profile-identity p,
.profile-info-list span {
  color: var(--muted);
}

.profile-title-block {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.profile-meta-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.profile-meta-row p {
  flex: none;
}

.profile-chip-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 0;
}

.profile-info-list,
.account-security-grid,
.pricing-grid,
.faq-grid {
  display: grid;
  gap: 14px;
}

.profile-info-list div,
.account-security-grid div {
  display: grid;
  gap: 5px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.profile-info-list strong,
.account-security-grid strong {
  color: var(--text);
}

.app-settings-card {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 18px;
}

.settings-content {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.account-security-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.account-security-grid svg {
  color: var(--primary-strong);
}

.pricing-hero,
.faq-hero {
  display: grid;
  justify-items: center;
  gap: 12px;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 10%, rgba(99, 91, 255, 0.14), transparent 24%),
    var(--surface);
  text-align: center;
}

.pricing-hero h2,
.faq-hero h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(30px, 5vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.05em;
}

.pricing-hero p,
.faq-hero p,
.pricing-card p,
.faq-item p {
  margin: 0;
  color: var(--muted);
}

.pricing-toggle {
  display: inline-flex;
  gap: 6px;
  border-radius: 999px;
  background: var(--surface-muted);
  padding: 6px;
}

.pricing-toggle button,
.faq-categories button {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  padding: 9px 14px;
  font-weight: 800;
}

.pricing-toggle button.is-active,
.faq-categories button.is-active {
  background: var(--primary);
  color: white;
}

.pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-card {
  display: grid;
  gap: 14px;
  align-content: start;
}

.pricing-card.is-featured {
  border-color: rgba(99, 91, 255, 0.36);
  box-shadow: 0 18px 44px rgba(99, 91, 255, 0.12);
  transform: translateY(-8px);
}

.pricing-card h3,
.pricing-card strong {
  margin: 0;
  color: var(--text);
}

.pricing-card strong {
  font-size: 34px;
  line-height: 40px;
}

.pricing-card small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  margin-top: -10px;
}

.pricing-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pricing-card li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-size: 13px;
}

.pricing-card li svg {
  color: var(--success);
}

.faq-grid {
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: start;
}

.faq-categories,
.faq-list {
  display: grid;
  gap: 10px;
}

.faq-categories button {
  border-radius: 10px;
  text-align: left;
}

.faq-item {
  display: grid;
  gap: 10px;
}

.faq-item .status-badge {
  justify-self: start;
  width: fit-content;
}

.faq-item h3 {
  margin: 0;
  color: var(--text);
}

.misc-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--misc-tone) 16%, transparent), transparent 28%),
    linear-gradient(135deg, #f7f8fb, #eef2f7);
  padding: 24px;
  --misc-tone: var(--primary);
}

.misc-page.tone-warning { --misc-tone: var(--warning); }
.misc-page.tone-danger { --misc-tone: var(--danger); }
.misc-page.tone-info { --misc-tone: var(--info); }

.misc-card {
  display: grid;
  justify-items: center;
  gap: 22px;
  width: min(100%, 560px);
  border: 1px solid var(--border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 24px 70px rgba(23, 32, 51, 0.14);
  padding: 34px;
  text-align: center;
}

.misc-illustration {
  position: relative;
  display: grid;
  width: 220px;
  height: 180px;
  place-items: center;
  color: var(--misc-tone);
}

.misc-illustration span,
.misc-illustration i {
  position: absolute;
  border-radius: 999px;
  background: color-mix(in srgb, var(--misc-tone) 14%, transparent);
}

.misc-illustration span {
  width: 170px;
  height: 170px;
}

.misc-illustration i {
  right: 8px;
  bottom: 12px;
  width: 54px;
  height: 54px;
}

.misc-illustration svg {
  position: relative;
  z-index: 1;
  stroke-width: 1.6;
}

.misc-copy {
  display: grid;
  gap: 10px;
}

.misc-copy h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(34px, 6vw, 54px);
  line-height: 1;
  letter-spacing: -0.06em;
}

.misc-copy p {
  margin: 0;
  color: var(--muted);
}

.misc-subscribe {
  width: min(100%, 360px);
}

.misc-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.calendar-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 300px;
  align-items: start;
  gap: 18px;
}

.calendar-sidebar,
.calendar-main,
.calendar-detail {
  min-width: 0;
}

.calendar-sidebar,
.calendar-detail,
.calendar-mini,
.calendar-filter,
.calendar-agenda,
.calendar-main {
  display: grid;
  gap: 16px;
}

.calendar-mini > div:first-child,
.calendar-toolbar,
.calendar-title,
.calendar-agenda button,
.calendar-list-view button {
  display: flex;
  align-items: center;
  gap: 10px;
}

.calendar-mini > div:first-child {
  justify-content: space-between;
}

.calendar-mini-week,
.calendar-mini-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  text-align: center;
}

.calendar-mini-week span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.calendar-mini-grid span {
  display: grid;
  min-height: 30px;
  place-items: center;
  border-radius: 8px;
  color: var(--text);
  font-size: 12px;
}

.calendar-mini-grid span.is-muted {
  color: #b6c0cc;
}

.calendar-mini-grid span.is-today {
  background: var(--primary);
  color: white;
  font-weight: 900;
}

.calendar-filter h3,
.calendar-agenda h3 {
  margin: 0;
  color: var(--text);
  font-size: 14px;
}

.calendar-dot {
  display: inline-flex;
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--primary);
}

.calendar-dot.tone-success,
.calendar-event.tone-success,
.calendar-detail-icon.tone-success { --calendar-tone: var(--success); }
.calendar-dot.tone-warning,
.calendar-event.tone-warning,
.calendar-detail-icon.tone-warning { --calendar-tone: var(--warning); }
.calendar-dot.tone-danger,
.calendar-event.tone-danger,
.calendar-detail-icon.tone-danger { --calendar-tone: var(--danger); }
.calendar-dot.tone-info,
.calendar-event.tone-info,
.calendar-detail-icon.tone-info { --calendar-tone: var(--info); }
.calendar-dot.tone-primary,
.calendar-event.tone-primary,
.calendar-detail-icon.tone-primary { --calendar-tone: var(--primary); }

.calendar-dot[class*="tone-"] {
  background: var(--calendar-tone);
}

.calendar-agenda button,
.calendar-list-view button {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  color: var(--text);
  padding: 10px;
  text-align: left;
}

.calendar-agenda button span:nth-child(2),
.calendar-list-view button span:nth-child(2) {
  display: grid;
  min-width: 0;
}

.calendar-agenda small,
.calendar-list-view small {
  color: var(--muted);
  font-size: 12px;
}

.calendar-toolbar {
  flex-wrap: wrap;
  justify-content: space-between;
}

.calendar-title {
  min-width: min(100%, 360px);
}

.calendar-title h2,
.calendar-title p {
  margin: 0;
}

.calendar-title h2 {
  color: var(--text);
  font-size: 24px;
  line-height: 30px;
}

.calendar-title p {
  color: var(--muted);
  font-size: 13px;
}

.calendar-search {
  flex: 1 1 240px;
  max-width: 340px;
}

.calendar-view-switch button {
  text-transform: capitalize;
}

.calendar-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(118px, 1fr));
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
}

.calendar-week-head {
  border-bottom: 1px solid var(--border);
  background: var(--surface-muted);
  color: var(--muted);
  padding: 12px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.calendar-day {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 132px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 10px;
}

.calendar-day > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.calendar-day.is-muted {
  background: #fafbfc;
}

.calendar-day.is-muted > span {
  color: #b6c0cc;
}

.calendar-day.is-today > span {
  background: var(--primary);
  color: white;
}

.calendar-day > div {
  display: grid;
  gap: 6px;
}

.calendar-event {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--calendar-tone, var(--primary)) 22%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--calendar-tone, var(--primary)) 12%, white);
  color: color-mix(in srgb, var(--calendar-tone, var(--primary)) 82%, #172033);
  padding: 6px 8px;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
}

.calendar-week,
.calendar-day-view {
  display: grid;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
}

.calendar-week {
  grid-template-columns: 70px repeat(7, minmax(120px, 1fr));
}

.calendar-time-col,
.calendar-week-day,
.calendar-day-view > div {
  display: grid;
  gap: 10px;
  align-content: start;
  border-right: 1px solid var(--border);
  padding: 12px;
  min-height: 360px;
}

.calendar-time-col span,
.calendar-day-view > div > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.calendar-week-day strong {
  color: var(--text);
}

.calendar-day-view > div {
  grid-template-columns: 70px minmax(0, 1fr);
  min-height: 70px;
  border-right: 0;
  border-bottom: 1px solid var(--border);
}

.calendar-list-view {
  display: grid;
  gap: 10px;
}

.calendar-list-view button {
  justify-content: space-between;
}

.calendar-detail-card {
  display: grid;
  justify-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-muted);
  padding: 18px;
  text-align: center;
}

.calendar-detail-card h3 {
  margin: 0;
  color: var(--text);
}

.calendar-detail-icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--calendar-tone, var(--primary)) 12%, white);
  color: var(--calendar-tone, var(--primary));
}

.calendar-event-panel {
  overflow: visible;
}

.calendar-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kanban-shell {
  --kanban-card-shadow: 0 0.1875rem 0.5rem 0 rgba(34, 48, 62, 0.1);
  --kanban-card-shadow-hover: 0 0.5rem 1.25rem rgba(34, 48, 62, 0.14);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 18px;
}

.kanban-toolbar {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: var(--kanban-card-shadow);
}

.kanban-toolbar h2,
.kanban-toolbar p {
  margin: 0;
}

.kanban-toolbar h2 {
  color: var(--text);
  font-size: 26px;
  line-height: 32px;
}

.kanban-toolbar p {
  color: var(--muted);
  font-size: 13px;
}

.kanban-search {
  max-width: 360px;
}

.kanban-toolbar-actions,
.kanban-card-meta,
.kanban-avatar-row,
.kanban-detail-assignees div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kanban-board-wrap {
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 8px;
}

.kanban-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(280px, 1fr));
  gap: 16px;
  min-width: 1180px;
}

.kanban-lane {
  display: grid;
  align-content: start;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--lane-tone, var(--primary)) 4%, var(--surface));
  box-shadow: var(--kanban-card-shadow);
  padding: 14px;
  --lane-tone: var(--primary);
}

.kanban-lane.tone-info { --lane-tone: var(--info); }
.kanban-lane.tone-warning { --lane-tone: var(--warning); }
.kanban-lane.tone-success { --lane-tone: var(--success); }

.kanban-lane.is-drop-target {
  border-color: color-mix(in srgb, var(--lane-tone) 42%, var(--border));
  background: color-mix(in srgb, var(--lane-tone) 9%, var(--surface));
  box-shadow:
    var(--kanban-card-shadow),
    inset 0 0 0 2px color-mix(in srgb, var(--lane-tone) 18%, transparent);
}

.kanban-lane header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.kanban-lane h3,
.kanban-lane span,
.kanban-card strong,
.kanban-card p {
  margin: 0;
}

.kanban-lane h3 {
  color: var(--text);
  font-size: 16px;
}

.kanban-lane header span {
  color: var(--muted);
  font-size: 12px;
}

.kanban-card-stack {
  display: grid;
  gap: 12px;
}

.kanban-card {
  display: grid;
  gap: 12px;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text);
  padding: 14px;
  text-align: left;
  box-shadow: var(--kanban-card-shadow);
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.kanban-card:hover {
  border-color: rgba(99, 91, 255, 0.32);
  box-shadow: var(--kanban-card-shadow-hover);
  transform: translateY(-2px);
}

.kanban-card.is-dragging {
  opacity: 0.48;
  transform: rotate(1deg) scale(0.98);
}

.kanban-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.kanban-card strong {
  font-size: 15px;
  line-height: 20px;
}

.kanban-card p {
  color: var(--muted);
  font-size: 13px;
  line-height: 20px;
}

.kanban-card-meta {
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.kanban-card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.kanban-avatar-row .avatar,
.kanban-detail-assignees .avatar {
  width: 30px;
  height: 30px;
  font-size: 11px;
}

.kanban-avatar-row .avatar + .avatar,
.kanban-detail-assignees .avatar + .avatar {
  margin-left: -6px;
}

.kanban-add-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px dashed color-mix(in srgb, var(--lane-tone) 36%, var(--border));
  border-radius: 12px;
  background: transparent;
  box-shadow: 0 0.125rem 0.375rem 0 rgba(34, 48, 62, 0.08);
  color: color-mix(in srgb, var(--lane-tone) 84%, #172033);
  padding: 12px;
  font-weight: 800;
}

.kanban-detail {
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
  box-shadow: var(--kanban-card-shadow);
}

.kanban-detail-card {
  display: grid;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-muted);
  box-shadow: var(--kanban-card-shadow);
  padding: 16px;
}

.kanban-detail-card h3,
.kanban-detail-card p {
  margin: 0;
}

.kanban-detail-card h3 {
  color: var(--text);
  font-size: 20px;
  line-height: 26px;
}

.kanban-detail-card p {
  color: var(--muted);
  line-height: 22px;
}

.kanban-detail-assignees {
  display: grid;
  gap: 10px;
}

.kanban-task-modal {
  overflow: visible;
}

.kanban-task-modal .invoice-date-picker .date-time-picker-input {
  min-height: 40px;
  padding: 0 10px;
}

.kanban-label-picker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.kanban-label-picker > strong {
  flex-basis: 100%;
  color: var(--text);
  font-size: 13px;
}

.ops-kanban {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ops-lane {
  display: grid;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  padding: 14px;
}

.ops-lane > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ops-lane span {
  color: var(--muted);
  font-size: 13px;
}

.ops-lane strong {
  color: var(--text);
  font-size: 24px;
}

.ops-lane button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  color: var(--text);
  padding: 10px;
  font-weight: 700;
}

.ops-zone-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ops-zone-grid > div,
.ops-category-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  padding: 14px;
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.05);
}

.ops-zone-grid svg,
.ops-category-card svg {
  color: var(--primary-strong);
}

.ops-zone-grid strong,
.ops-category-card strong {
  color: var(--text);
}

.ops-zone-grid span,
.ops-zone-grid small {
  color: var(--muted);
  font-size: 12px;
}

.ops-metric-list div {
  justify-content: space-between;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.ops-metric-list span {
  flex: 1;
  color: var(--muted);
  font-size: 13px;
}

.ops-metric-list svg {
  color: var(--primary-strong);
}

.ops-wave-bars {
  display: flex;
  height: 220px;
  align-items: end;
  gap: 10px;
  border-radius: 12px;
  background: var(--surface-muted);
  padding: 16px;
}

.ops-wave-bars span {
  flex: 1;
  min-height: 18px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(180deg, var(--success), rgba(22, 138, 74, 0.28));
}

.ops-aging-list > div {
  display: grid;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.ops-aging-list span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.ops-aging-list small,
.ops-aging-list b {
  color: var(--muted);
}

.ops-permission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ops-permission-grid > div {
  display: grid;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 12px;
}

.ops-permission-grid span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}

.ops-permission-grid span.is-on {
  color: var(--success);
  font-weight: 700;
}

.table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

th,
td {
  border-bottom: 1px solid var(--border);
  padding: 12px 10px;
  text-align: left;
  white-space: nowrap;
}

th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

td {
  font-size: 13px;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 700;
}

.status-badge.tone-success {
  background: #e8f7ef;
  color: var(--success);
}

.status-badge.tone-warning {
  background: #fff4d6;
  color: var(--warning);
}

.status-badge.tone-danger {
  background: #ffe7e5;
  color: var(--danger);
}

.status-badge.tone-info {
  background: #e4f4ff;
  color: var(--info);
}

.status-badge.tone-neutral {
  background: #eef2f6;
  color: #475467;
}

.table-action {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  vertical-align: middle;
}

.table-demo {
  --table-demo-header: var(--surface-muted);
  --table-demo-hover: color-mix(in srgb, var(--primary) 6%, var(--surface));
  --table-demo-strong: var(--text);
  --table-demo-group: color-mix(in srgb, var(--primary) 9%, var(--surface));
  --table-demo-expanded: color-mix(in srgb, var(--surface-muted) 68%, var(--surface));
}

.table-demo-panel {
  overflow: hidden;
}

.table-demo-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  -webkit-overflow-scrolling: touch;
}

.table-demo-table {
  min-width: 760px;
  background: var(--surface);
}

.table-demo-table th {
  background: var(--table-demo-header);
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.02em;
}

.table-demo-table td {
  color: var(--text);
  vertical-align: middle;
}

.table-demo-table tbody tr:hover td {
  background: var(--table-demo-hover);
}

.table-demo-wrap.is-themed {
  border-color: rgba(99, 91, 255, 0.24);
}

.table-demo-wrap.is-themed th {
  background: color-mix(in srgb, var(--primary) 10%, var(--surface));
  color: var(--primary-strong);
}

.table-demo-wrap.is-themed tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--surface-muted) 56%, var(--surface));
}

.table-demo-wrap.is-dense th,
.table-demo-wrap.is-dense td,
.table-demo-dense th,
.table-demo-dense td {
  padding-top: 8px;
  padding-bottom: 8px;
}

.table-demo-wrap.is-limited-height {
  max-height: 252px;
  overflow: auto;
}

.table-demo-wrap.is-fixed-header th,
.table-demo-fixed-data th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.table-demo-fixed-data {
  max-height: 310px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.table-demo-fixed-data .table-demo-wrap {
  border: 0;
  border-radius: 0;
}

.table-demo-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.table-demo-toolbar > span,
.table-demo-selection-summary {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.table-demo-search {
  position: relative;
  display: flex;
  width: min(100%, 360px);
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  padding: 0 12px;
}

.table-demo-search input {
  min-height: 40px;
  border: 0;
  background: transparent;
  padding: 0;
}

.table-demo-search input:focus {
  outline: none;
}

.table-demo-product-cell,
.table-demo-buyer {
  display: flex;
  align-items: center;
  gap: 10px;
}

.table-demo-product-cell strong,
.table-demo-buyer strong {
  display: block;
  color: var(--table-demo-strong);
  font-size: 13px;
  line-height: 18px;
}

.table-demo-product-cell span:not(.avatar),
.table-demo-buyer span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

.table-demo-check-cell {
  width: 64px;
  text-align: center;
}

.table-demo-action-cell {
  text-align: center;
  vertical-align: middle;
}

.table-demo-check {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  color: white;
}

.table-demo-check.is-checked {
  border-color: var(--primary);
  background: var(--primary);
}

.table-demo-selection-summary {
  margin-bottom: 10px;
}

.table-demo-pagination {
  margin-top: 0;
}

.table-demo-group-row td {
  background: var(--table-demo-group) !important;
  color: var(--primary-strong);
  font-weight: 800;
  text-transform: uppercase;
}

.table-demo-expanded-row td {
  background: var(--table-demo-expanded) !important;
  white-space: normal;
}

.table-demo-expanded-row strong,
.table-demo-expanded-row span {
  display: block;
}

.table-demo-expanded-row span {
  margin-top: 4px;
  color: var(--muted);
}

.table-demo-edit-actions {
  margin-top: 14px;
}

.table-demo-dialog {
  width: min(100%, 560px);
}

.table-demo-dialog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.form-validation-demo code {
  border-radius: 6px;
  background: #eef2ff;
  color: var(--primary-strong);
  padding: 2px 6px;
  font-size: 12px;
  font-weight: 700;
}

.form-validation-panel {
  overflow: hidden;
}

.validation-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.validation-field {
  min-width: 0;
}

.validation-field.is-invalid {
  --textfield-border-color: rgba(217, 45, 32, 0.72);
  --textfield-focus-color: var(--danger);
  --textfield-bg: #fffafa;
}

.validation-field.is-invalid .validation-state-icon {
  color: var(--danger);
}

.validation-field.is-valid {
  --textfield-border-color: rgba(22, 138, 74, 0.52);
  --textfield-focus-color: var(--success);
}

.validation-field.is-valid .validation-state-icon {
  color: var(--success);
}

.validation-state-icon {
  margin-left: auto;
}

.validation-form-actions,
.validation-result {
  grid-column: 1 / -1;
}

.validation-result {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
}

.validation-result.is-valid {
  background: #e8f7ef;
  color: var(--success);
}

.validation-result.is-invalid {
  background: #fff4d6;
  color: var(--warning);
}

.form-layout-demo {
  --form-layout-soft: #f8fafc;
}

.form-layout-panel {
  overflow: visible;
}

.form-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.form-layout-horizontal {
  display: grid;
  gap: 16px;
}

.form-layout-horizontal .form-layout-field {
  grid-template-columns: 160px minmax(0, 1fr);
  align-items: center;
}

.form-layout-horizontal .nexus-textfield-label {
  align-self: center;
}

.form-layout-horizontal .nexus-select-outer-label {
  align-self: center;
}

.form-layout-field {
  min-width: 0;
}

.form-layout-field.is-open {
  z-index: 15;
}

.form-layout-field.is-invalid {
  --textfield-border-color: rgba(217, 45, 32, 0.72);
  --textfield-focus-color: var(--danger);
  --textfield-bg: #fffafa;
}

.form-layout-hint {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.form-layout-actions {
  grid-column: 1 / -1;
}

.form-layout-actions.align-right {
  justify-content: flex-end;
}

.form-layout-tabs {
  display: grid;
  gap: 16px;
}

.form-layout-sticky-card {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}

.form-layout-sticky-bar {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  background: var(--form-layout-soft);
  padding: 16px;
}

.form-layout-sticky-bar > div {
  display: flex;
  gap: 10px;
}

.form-layout-checkout {
  display: grid;
  gap: 18px;
  padding: 18px;
}

.form-layout-checkout h3 {
  margin: 4px 0 0;
  font-size: 17px;
  line-height: 24px;
}

.form-layout-demo .custom-input-grid {
  display: grid;
  gap: 12px;
}

.form-layout-demo .custom-input-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.form-layout-demo .custom-input-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 4px;
  border: 2px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 16px;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.form-layout-demo .custom-input-card:hover,
.form-layout-demo .custom-input-card.active {
  border-color: rgba(99, 91, 255, 0.42);
}

.form-layout-demo .custom-input-card:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.form-layout-demo .custom-input-card--icon {
  display: grid;
  min-height: 150px;
  justify-items: center;
  text-align: center;
}

.form-layout-demo .custom-input-control {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
  display: inline-flex;
}

.form-layout-demo .custom-input-control input[type="radio"] {
  width: 16px;
  height: 16px;
  min-height: 16px;
  border: 0;
  background: transparent;
  padding: 0;
  accent-color: var(--primary);
}

.form-layout-demo .custom-input-content {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.form-layout-demo .custom-input-content--icon {
  justify-items: center;
  gap: 8px;
  padding-top: 6px;
}

.form-layout-demo .custom-input-card .cr-title {
  color: var(--text);
  font-weight: 500;
  line-height: 1.375rem;
}

.form-layout-demo .custom-input-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.form-wizard-demo {
  --wizard-primary: #635bff;
  --wizard-muted: #98a2b3;
}

.form-wizard-panel {
  overflow: hidden;
}

.form-wizard-card {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}

.form-wizard-panel:has(.wizard-field.is-open),
.form-wizard-card:has(.wizard-field.is-open),
.wizard-content:has(.wizard-field.is-open),
.wizard-form-grid:has(.wizard-field.is-open) {
  overflow: visible;
}

.form-wizard-card:has(.wizard-field.is-open) {
  z-index: 1200;
}

.form-wizard-card.is-vertical {
  grid-template-columns: 300px minmax(0, 1fr);
}

.wizard-stepper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-bottom: 1px solid var(--border);
  padding: 18px;
}

.form-wizard-card.is-vertical .wizard-stepper {
  grid-template-columns: 1fr;
  align-content: start;
  border-right: 1px solid var(--border);
  border-bottom: 0;
}

.wizard-step {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  padding: 10px;
  text-align: left;
}

.wizard-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  width: 28px;
  height: 1px;
  background: var(--border);
}

.form-wizard-card.is-vertical .wizard-step:not(:last-child)::after {
  top: auto;
  right: auto;
  bottom: -8px;
  left: 25px;
  width: 1px;
  height: 16px;
}

.wizard-step-marker {
  display: inline-flex;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #eef2ff;
  color: var(--wizard-primary);
  font-weight: 800;
}

.wizard-step-marker svg {
  color: currentColor;
  stroke-width: 2.35;
}

.wizard-step strong,
.wizard-step small {
  display: block;
}

.wizard-step strong {
  color: var(--text);
  font-size: 14px;
  line-height: 20px;
}

.wizard-step small {
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

.wizard-step.is-active,
.wizard-step.is-complete {
  color: var(--wizard-primary);
}

.wizard-step.is-active .wizard-step-marker,
.wizard-step.is-complete .wizard-step-marker {
  background: linear-gradient(135deg, #5a52ff, #3528d8);
  color: white;
  box-shadow: 0 7px 16px rgba(99, 91, 255, 0.34);
}

.wizard-step.is-active .wizard-step-marker svg,
.wizard-step.is-complete .wizard-step-marker svg {
  filter: drop-shadow(0 1px 1px rgba(15, 23, 42, 0.24));
}

.form-wizard-card.is-modern .wizard-step.is-active {
  background: rgba(99, 91, 255, 0.08);
}

.wizard-content {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 22px;
}

.wizard-heading h3,
.wizard-heading p {
  margin: 0;
}

.wizard-heading h3 {
  color: var(--text);
  font-size: 18px;
  line-height: 26px;
}

.wizard-heading p {
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.wizard-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.wizard-field.is-invalid {
  --textfield-border-color: rgba(217, 45, 32, 0.72);
  --textfield-focus-color: var(--danger);
  --textfield-bg: #fffafa;
}

.wizard-field.is-invalid .nexus-select-control {
  border-color: rgba(217, 45, 32, 0.72);
  background: #fffafa;
}

.wizard-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wizard-review {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(22, 138, 74, 0.2);
  border-radius: 8px;
  background: #e8f7ef;
  color: var(--success);
  padding: 16px;
}

.wizard-review strong,
.wizard-review p {
  display: block;
  margin: 0;
}

.wizard-review p {
  margin-top: 2px;
  color: #276749;
}

.filter-bar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 180px 170px auto;
  gap: 10px;
  margin-bottom: 14px;
}

input,
select,
textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font-weight: 400;
  padding: 8px 10px;
}

textarea {
  min-height: 92px;
  resize: vertical;
}

.nexus-textarea-field {
  display: grid;
  gap: 8px;
}

.nexus-textarea-label {
  color: var(--text);
  font-size: 13px;
  line-height: 18px;
}

.nexus-textarea-shell {
  display: flex;
  align-items: stretch;
  gap: 8px;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.nexus-textarea-body {
  position: relative;
  flex: 1;
  min-width: 0;
}

.nexus-textarea-field textarea {
  width: 100%;
  min-height: 92px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  outline: none;
  box-shadow: none;
  resize: vertical;
}

.nexus-textarea-field.is-auto-grow textarea {
  overflow-y: hidden;
}

.nexus-textarea-field.is-no-resize textarea {
  resize: none;
}

.nexus-textarea-field textarea::placeholder {
  color: #98a2b3;
}

.nexus-textarea-field.variant-outlined .nexus-textarea-shell {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
}

.nexus-textarea-field.variant-filled .nexus-textarea-shell {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
}

.nexus-textarea-field.variant-solo .nexus-textarea-shell {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
}

.nexus-textarea-field.variant-underlined .nexus-textarea-shell {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
}

.nexus-textarea-field.variant-plain .nexus-textarea-shell {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
}

.nexus-textarea-field:focus-within .nexus-textarea-shell {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.nexus-textarea-field.variant-underlined:focus-within .nexus-textarea-shell {
  box-shadow: none;
  border-color: transparent;
  border-bottom-color: var(--textfield-focus-color, var(--primary));
}

.nexus-textarea-field.variant-plain:focus-within .nexus-textarea-shell {
  border-color: transparent;
  box-shadow: inset 0 -1px 0 0 var(--textfield-focus-color, var(--primary));
  background: color-mix(in srgb, var(--primary) 4%, transparent);
}

.nexus-textarea-field.is-disabled,
.nexus-textarea-field.is-readonly {
  opacity: 0.9;
}

.nexus-textarea-field.is-disabled .nexus-textarea-shell {
  background: color-mix(in srgb, var(--surface-muted) 72%, #fff);
}

.nexus-textarea-field.is-readonly textarea {
  cursor: default;
}

.nexus-textarea-icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  color: var(--muted);
}

.nexus-textarea-icon.is-outer {
  min-width: 20px;
  min-height: 20px;
  align-self: flex-start;
  margin-top: 2px;
}

.nexus-textarea-icon.is-inner {
  position: absolute;
  top: 10px;
  z-index: 1;
}

.nexus-textarea-icon.is-start {
  inset-inline-start: 0;
}

.nexus-textarea-icon.is-end {
  inset-inline-end: 0;
}

.nexus-textarea-body textarea {
  position: relative;
  z-index: 0;
}

.nexus-textarea-body textarea.has-start-icon {
  padding-inline-start: 32px;
}

.nexus-textarea-body textarea.has-end-icon {
  padding-inline-end: 32px;
}

.nexus-textarea-clear {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
}

.nexus-textarea-clear:hover {
  background: var(--surface-muted);
  color: var(--text);
}

.nexus-textarea-error {
  color: var(--danger);
  font-size: 12px;
  line-height: 1.45;
}

.nexus-textarea-field textarea:disabled {
  cursor: not-allowed;
}

input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 16px;
  padding: 0;
  accent-color: var(--primary);
}

input[type="radio"] {
  width: 16px;
  height: 16px;
  min-height: 16px;
  padding: 0;
  flex: 0 0 auto;
  accent-color: var(--primary);
}

input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible,
input[type="range"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.modal-scrim {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.42);
  overflow-y: auto;
  padding: 24px 16px;
  animation: dialog-backdrop-in 180ms ease-out both;
}

.modal-scrim > .command-modal {
  transform-origin: center;
  animation: dialog-open-scale 380ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes dialog-backdrop-in {
  from {
    background-color: rgba(15, 23, 42, 0);
  }

  to {
    background-color: rgba(15, 23, 42, 0.42);
  }
}

@keyframes dialog-open-scale {
  from {
    opacity: 0;
    transform: scale(0.82);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal-scrim,
  .modal-scrim > .command-modal {
    animation-duration: 1ms !important;
  }
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.42);
  overflow-y: auto;
  padding: 24px 16px;
}

.modal-card {
  position: relative;
  width: min(100%, 640px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 18px 50px rgba(23, 32, 51, 0.22);
  padding: 18px;
}

.command-modal {
  position: relative;
  display: grid;
  width: min(100%, 640px);
  gap: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 18px 50px rgba(23, 32, 51, 0.22);
  padding: 18px;
}

.create-modal {
  width: min(100%, 720px);
}

.modal-close {
  flex: 0 0 auto;
}

.modal-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.dialog-modal-header {
  align-items: center;
}

.dialog-modal-title {
  min-width: 0;
}

.modal-header h2 {
  margin: 0;
  font-size: 18px;
  line-height: 26px;
}

.modal-header p {
  margin: 2px 0 0;
  color: var(--muted);
}

.command-input {
  display: grid;
  gap: 6px;
}

.command-list {
  display: grid;
  gap: 6px;
  max-height: 320px;
  overflow: auto;
}

.command-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 12px;
}

.command-list a:hover {
  border-color: rgba(99, 91, 255, 0.42);
  background: rgba(99, 91, 255, 0.06);
}

.command-list span {
  color: var(--muted);
  font-size: 12px;
}

label {
  display: grid;
  gap: 6px;
  color: var(--text);
  font-size: 13px;
  font-weight: 400;
}

.table-toolbar,
.pagination-row {
  color: var(--muted);
  font-size: 13px;
}

.table-toolbar > div,
.pagination-row > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.table-toolbar {
  margin-bottom: 8px;
}

.pagination-row {
  padding-top: 14px;
}

.split-panel {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 20px;
}

.settings-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
}

.settings-nav {
  display: grid;
  align-content: start;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px;
}

.settings-nav button {
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  padding: 8px 10px;
  text-align: left;
}

.settings-nav button.is-active {
  background: rgba(99, 91, 255, 0.1);
  color: var(--primary-strong);
  font-weight: 700;
}

.settings-page {
  gap: 18px;
}

.settings-page .page-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.settings-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.settings-summary-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 16px;
  filter: var(--shadow-filter);
}

.settings-summary-card span:first-child {
  color: var(--muted);
  font-size: 13px;
}

.settings-summary-card strong {
  color: var(--text);
  font-size: 18px;
  line-height: 26px;
}

.settings-summary-card .status-badge {
  width: fit-content;
}

.settings-redesign-layout {
  align-items: start;
}

.settings-redesign-nav {
  position: sticky;
  top: calc(var(--topbar-height) + 28px);
  gap: 8px;
  border-radius: 12px;
  padding: 10px;
}

.settings-redesign-nav button {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: auto;
  padding: 11px;
}

.settings-redesign-nav button svg {
  margin-top: 2px;
}

.settings-redesign-nav button span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.settings-redesign-nav button strong,
.settings-redesign-nav button small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.settings-redesign-nav button small {
  display: -webkit-box;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.settings-redesign-nav button.is-active small {
  color: color-mix(in srgb, var(--primary-strong) 72%, var(--muted));
}

.settings-form-panel {
  display: grid;
  gap: 18px;
  border-radius: 12px;
}

.settings-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: var(--primary-strong);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.settings-content-stack {
  display: grid;
  gap: 16px;
}

.settings-section {
  display: grid;
  gap: 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-muted);
  padding: 16px;
}

.settings-section-title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.settings-section-title > svg {
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--primary-strong);
}

.settings-section-title h3,
.settings-section-title p {
  margin: 0;
}

.settings-section-title h3 {
  color: var(--text);
  font-size: 16px;
  line-height: 24px;
}

.settings-section-title p {
  color: var(--muted);
  font-size: 13px;
}

.settings-field-grid,
.settings-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.settings-field {
  min-width: 0;
}

.settings-field .nexus-select-control {
  background: var(--surface);
}

.settings-toggle-list {
  display: grid;
  gap: 10px;
}

.settings-switch-row,
.settings-checkbox-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  padding: 13px;
}

.settings-switch-row > span:first-child,
.settings-checkbox-card > span:last-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.settings-switch-row strong,
.settings-checkbox-card strong {
  color: var(--text);
}

.settings-switch-row small,
.settings-checkbox-card small {
  color: var(--muted);
  font-size: 13px;
}

.settings-checkbox-card {
  justify-content: flex-start;
  cursor: pointer;
  transition: border-color 120ms ease, background-color 120ms ease;
}

.settings-checkbox-card.is-active {
  border-color: color-mix(in srgb, var(--primary) 24%, var(--border));
  background: color-mix(in srgb, var(--primary) 5%, var(--surface));
}

.settings-form-actions {
  padding-top: 2px;
}

.form-panel {
  display: grid;
  gap: 16px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.form-demo-stack {
  display: grid;
  gap: 10px;
}

.form-demo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.form-demo-field {
  display: grid;
  gap: 6px;
}

.form-demo-field > strong {
  font-size: 13px;
  line-height: 18px;
}

.form-demo-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.form-demo-copy {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.nexus-textfield-field {
  display: grid;
  gap: 6px;
}

.nexus-textfield-label {
  color: var(--text);
  font-size: 13px;
  line-height: 18px;
}

.nexus-textfield-shell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  border: 1px solid var(--textfield-border-color, var(--border));
  border-radius: 8px;
  background: var(--textfield-bg, var(--surface));
  padding: 0 10px;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.nexus-textfield-field.variant-outlined .nexus-textfield-shell {
  border-color: var(--textfield-border-color, var(--border));
  background: var(--textfield-bg, var(--surface));
}

.nexus-textfield-field.density-compact .nexus-textfield-shell {
  min-height: 34px;
  padding-block: 6px;
}

.nexus-textfield-field.variant-filled .nexus-textfield-shell {
  background: var(--surface-muted);
}

.nexus-textfield-field.variant-solo .nexus-textfield-shell {
  border-color: transparent;
  background: rgba(99, 91, 255, 0.08);
}

.nexus-textfield-field.variant-underlined .nexus-textfield-shell {
  min-height: 40px;
  border-top: 0;
  border-inline: 0;
  border-bottom: 1px solid var(--textfield-border-color, var(--border));
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.nexus-textfield-field.variant-plain .nexus-textfield-shell {
  min-height: 40px;
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.nexus-textfield-field.is-focused .nexus-textfield-shell,
.nexus-textfield-field:focus-within .nexus-textfield-shell {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--textfield-focus-color, var(--primary)) 12%, transparent);
}

.nexus-textfield-field.variant-underlined.is-focused .nexus-textfield-shell,
.nexus-textfield-field.variant-underlined:focus-within .nexus-textfield-shell {
  box-shadow: none;
  border-color: transparent;
  border-bottom-color: var(--textfield-focus-color, var(--primary));
}

.nexus-textfield-field.variant-plain.is-focused .nexus-textfield-shell,
.nexus-textfield-field.variant-plain:focus-within .nexus-textfield-shell {
  border-color: transparent;
  box-shadow: inset 0 -1px 0 0 var(--textfield-focus-color, var(--primary));
  background: color-mix(in srgb, var(--primary) 4%, transparent);
}

.nexus-textfield-field.is-disabled {
  opacity: 0.92;
}

.nexus-textfield-field.is-disabled .nexus-textfield-shell {
  background: color-mix(in srgb, var(--surface-muted) 72%, #fff);
}

.nexus-textfield-body {
  position: relative;
  flex: 1;
  min-width: 0;
}

.nexus-textfield-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.nexus-textfield-input-row input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  outline: none;
  color: var(--text);
  font: inherit;
  min-height: 22px;
}

.nexus-textfield-input-row input::placeholder {
  color: #98a2b3;
}

.nexus-textfield-field.has-floating-label .nexus-textfield-shell {
  min-height: 52px;
}

.nexus-textfield-field.has-floating-label .nexus-textfield-body {
  padding-top: 18px;
}

.nexus-textfield-floating-label {
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  font-size: 14px;
  line-height: 18px;
  pointer-events: none;
  transition: top 140ms ease, transform 140ms ease, font-size 140ms ease, color 140ms ease;
}

.nexus-textfield-field.has-floating-label .nexus-textfield-floating-label.is-floating {
  top: 3px;
  transform: none;
  color: var(--primary-strong);
  font-size: 11px;
}

.nexus-textfield-field.has-floating-label .nexus-textfield-input-row input::placeholder {
  color: transparent;
}

.nexus-textfield-affix {
  display: inline-flex;
  flex: none;
  align-items: center;
  color: var(--muted);
  font-size: 14px;
  line-height: 18px;
  white-space: nowrap;
}

.nexus-textfield-icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  color: var(--muted);
}

.nexus-textfield-icon.is-outer {
  min-width: 20px;
  min-height: 20px;
  align-self: center;
  margin-top: 0;
}

.nexus-textfield-action {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  padding: 0;
}

.nexus-textfield-action:hover {
  background: var(--surface-muted);
  color: var(--text);
}

.nexus-textfield-counter {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.nexus-textfield-error {
  color: var(--danger);
  font-size: 12px;
  line-height: 1.45;
}

.date-time-picker-field {
  display: grid;
  gap: 6px;
}

.date-time-picker-field > .date-time-picker-input {
  min-height: 40px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 0 10px;
  outline: none;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}

.date-time-picker-field:focus-within > .date-time-picker-input {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.date-time-picker-input {
  width: 100%;
  color: var(--text);
}

.date-time-picker-input::placeholder {
  color: #98a2b3;
}

.date-time-picker-input[readonly] {
  cursor: pointer;
}

.date-time-picker-field.is-inline > .date-time-picker-input {
  display: none;
}

.date-time-picker-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  flex: none;
}

.date-time-picker-field .flatpickr-calendar {
  border-radius: 0.375rem;
  background-color: var(--surface);
  inline-size: 16.875rem;
  box-shadow: 0 4px 12px rgba(23, 32, 51, 0.14);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-rContainer {
  inline-size: 16.875rem;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-rContainer .flatpickr-weekdays {
  padding-inline: 0.5rem;
  margin-block-start: 0.875rem;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-rContainer .flatpickr-days {
  font-size: 0.9375rem;
  min-inline-size: 16.875rem;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-rContainer .flatpickr-days .dayContainer {
  justify-content: center !important;
  inline-size: 16.875rem !important;
  min-inline-size: 16.875rem !important;
  padding-block: 0.75rem 0.5rem;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-rContainer .flatpickr-days .dayContainer .flatpickr-day {
  border-radius: 6px;
  block-size: 36px;
  line-height: 36px;
  margin-block-start: 0 !important;
  max-inline-size: 36px;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day {
  color: var(--text);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day.today,
.date-time-picker-field .flatpickr-calendar .flatpickr-day.today:hover {
  border-color: transparent;
  background-color: color-mix(in srgb, var(--primary) 24%, transparent);
  color: var(--primary);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day.selected,
.date-time-picker-field .flatpickr-calendar .flatpickr-day.selected:hover {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--surface);
  box-shadow: 0 2px 4px color-mix(in srgb, var(--primary) 40%, transparent);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day.inRange,
.date-time-picker-field .flatpickr-calendar .flatpickr-day.inRange:hover {
  border: none;
  border-radius: 0 !important;
  background: color-mix(in srgb, var(--primary) 10%, transparent) !important;
  box-shadow: none !important;
  color: var(--primary);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day.inRange.today {
  background: color-mix(in srgb, var(--primary) 24%, transparent) !important;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day.startRange,
.date-time-picker-field .flatpickr-calendar .flatpickr-day.endRange,
.date-time-picker-field .flatpickr-calendar .flatpickr-day.startRange:hover,
.date-time-picker-field .flatpickr-calendar .flatpickr-day.endRange:hover {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--surface);
  box-shadow: 0 2px 4px color-mix(in srgb, var(--primary) 40%, transparent);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n + 1)),
.date-time-picker-field .flatpickr-calendar .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n + 1)),
.date-time-picker-field .flatpickr-calendar .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n + 1)) {
  box-shadow: -10px 0 var(--primary);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.date-time-picker-field .flatpickr-calendar .flatpickr-day.prevMonthDay:not(.startRange, .inRange),
.date-time-picker-field .flatpickr-calendar .flatpickr-day.nextMonthDay:not(.endRange, .inRange) {
  color: rgba(23, 32, 51, 0.4);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-day:hover {
  border-color: transparent;
  background: rgba(23, 32, 51, 0.06);
  color: rgba(23, 32, 51, 0.7);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-weekday {
  color: rgba(23, 32, 51, 0.9);
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
}

.date-time-picker-field .flatpickr-calendar:after,
.date-time-picker-field .flatpickr-calendar:before {
  display: none;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-months {
  align-items: center;
  padding-block: 0.875rem 0.5rem;
  padding-inline: 1rem;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-next-month {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 4px;
  background: rgba(23, 32, 51, 0.08);
  block-size: 30px;
  color: rgba(23, 32, 51, 0.7);
  inline-size: 30px;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-next-month svg {
  block-size: 13px;
  inline-size: 13px;
  stroke: rgba(23, 32, 51, 0.7);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover i,
.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover i,
.date-time-picker-field .flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg {
  fill: rgba(23, 32, 51, 0.7);
}

.date-time-picker-field .flatpickr-calendar .flatpickr-current-month {
  inline-size: 100%;
  inset-inline-start: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding-block: 0;
  padding-inline: 34px;
  box-sizing: border-box;
}

.date-time-picker-field .flatpickr-calendar .flatpickr-current-month span.cur-month {
  font-weight: 400;
}

.date-time-picker-field .flatpickr-calendar.open {
  z-index: 15;
}

.flatpickr-calendar.open {
  z-index: 15;
}

.date-time-picker-field .flatpickr-calendar.hasTime.open .flatpickr-time {
  border: none;
  block-size: auto;
}

.date-time-picker-field .flatpickr-calendar.hasTime .flatpickr-time:first-child {
  border-color: transparent;
}

.date-time-picker-field .flatpickr-time input:hover,
.date-time-picker-field .flatpickr-time .flatpickr-am-pm:hover,
.date-time-picker-field .flatpickr-time input:focus,
.date-time-picker-field .flatpickr-time .flatpickr-am-pm:focus {
  background: transparent;
}

.date-time-picker-field .flatpickr-time input.flatpickr-hour {
  font-weight: 400;
}

.date-time-picker-field .flatpickr-time .flatpickr-am-pm,
.date-time-picker-field .flatpickr-time .flatpickr-time-separator,
.date-time-picker-field .flatpickr-time input {
  color: rgba(23, 32, 51, 0.9);
}

.date-time-picker-field .flatpickr-time .numInputWrapper span.arrowUp:after {
  border-block-end-color: var(--border);
}

.date-time-picker-field .flatpickr-time .numInputWrapper span.arrowDown:after {
  border-block-start-color: var(--border);
}

.date-time-picker-field .flatpickr-input[readonly],
.date-time-picker-field .flatpickr-input ~ .form-control[readonly],
.date-time-picker-field .flatpickr-human-friendly[readonly] {
  background-color: inherit;
}

.date-time-picker-field .flatpickr-weekdays {
  block-size: auto;
  margin-block: 0.875rem 0.375rem !important;
}

.date-time-picker-field .flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: none;
  block-size: 24px;
  min-width: 0 !important;
  width: 100%;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  padding-inline: 4px;
}

.date-time-picker-field .flatpickr-current-month .flatpickr-monthDropdown-months,
.date-time-picker-field .flatpickr-current-month .numInputWrapper {
  flex: 1 1 50%;
  width: 50% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 2px 8px;
  border-radius: 4px;
  color: var(--text);
  font-size: 0.9375rem;
  font-weight: 400;
  box-sizing: border-box;
  transition: all 0.15s ease-out;
}

.date-time-picker-field .flatpickr-current-month .flatpickr-monthDropdown-months span,
.date-time-picker-field .flatpickr-current-month .numInputWrapper span {
  display: none;
}

.date-time-picker-field .flatpickr-current-month .flatpickr-monthDropdown-months input.cur-year,
.date-time-picker-field .flatpickr-current-month .numInputWrapper input.cur-year {
  width: 100% !important;
  min-width: 0;
  font-weight: 400 !important;
  text-align: center;
}

.date-time-picker-field .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month,
.date-time-picker-field .flatpickr-current-month .numInputWrapper .flatpickr-monthDropdown-month {
  background-color: var(--surface);
}

.flatpickr-calendar .flatpickr-rContainer .flatpickr-weekdays {
  padding-inline: 0.5rem;
  margin-block-start: 0.875rem;
}

.flatpickr-calendar .flatpickr-weekdays {
  block-size: auto;
  margin-block: 0.875rem 0.375rem !important;
}

.flatpickr-calendar .flatpickr-months {
  align-items: center;
  padding-block: 0.875rem 0.5rem;
  padding-inline: 1rem;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 4px;
  background: rgba(23, 32, 51, 0.08);
  block-size: 30px;
  color: rgba(23, 32, 51, 0.7);
  inline-size: 30px;
}

.flatpickr-calendar .flatpickr-current-month {
  inline-size: 100%;
  inset-inline-start: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding-block: 0;
  padding-inline: 34px;
  box-sizing: border-box;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-current-month .numInputWrapper {
  flex: 1 1 50%;
  width: 50% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 2px 8px;
  border-radius: 4px;
  color: var(--text);
  font-size: 0.9375rem;
  font-weight: 400;
  box-sizing: border-box;
  transition: all 0.15s ease-out;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: none;
  block-size: 24px;
  min-width: 0 !important;
  width: 100%;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  padding-inline: 4px;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months span,
.flatpickr-calendar .flatpickr-current-month .numInputWrapper span {
  display: none;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months input.cur-year,
.flatpickr-calendar .flatpickr-current-month .numInputWrapper input.cur-year {
  width: 100% !important;
  min-width: 0;
  font-weight: 400 !important;
  text-align: center;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month,
.flatpickr-calendar .flatpickr-current-month .numInputWrapper .flatpickr-monthDropdown-month {
  background-color: var(--surface);
}

.autocomplete-field {
  position: relative;
  display: grid;
  gap: 8px;
}

.autocomplete-field.is-open {
  z-index: 1210;
}

.autocomplete-stack {
  position: relative;
}

.autocomplete-label {
  font-size: 13px;
  line-height: 18px;
}

.autocomplete-control {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.autocomplete-field.density-compact .autocomplete-control {
  min-height: 34px;
  padding-block: 6px;
}

.autocomplete-field.variant-solo .autocomplete-control {
  border-color: transparent;
  background: rgba(99, 91, 255, 0.08);
}

.autocomplete-field.variant-filled .autocomplete-control {
  background: var(--surface-muted);
}

.autocomplete-field.variant-underlined .autocomplete-control {
  min-height: 34px;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.autocomplete-field.variant-plain .autocomplete-control {
  min-height: 34px;
  border: 0;
  background: transparent;
  padding-inline: 0;
}

.autocomplete-field.is-focused .autocomplete-control,
.autocomplete-field.is-open .autocomplete-control,
.autocomplete-field:focus-within .autocomplete-control {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--textfield-focus-color, var(--primary)) 12%, transparent);
}

.autocomplete-field.variant-underlined.is-focused .autocomplete-control,
.autocomplete-field.variant-underlined.is-open .autocomplete-control,
.autocomplete-field.variant-underlined:focus-within .autocomplete-control {
  box-shadow: none;
  border-color: transparent;
  border-bottom-color: var(--textfield-focus-color, var(--primary));
}

.autocomplete-field.variant-plain.is-focused .autocomplete-control,
.autocomplete-field.variant-plain.is-open .autocomplete-control,
.autocomplete-field.variant-plain:focus-within .autocomplete-control {
  border-color: transparent;
  box-shadow: inset 0 -1px 0 0 var(--textfield-focus-color, var(--primary));
  background: color-mix(in srgb, var(--primary) 4%, transparent);
}

.autocomplete-prefix,
.autocomplete-suffix {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  color: var(--muted);
}

.autocomplete-suffix {
  border: 0;
  background: transparent;
  padding: 0;
}

.autocomplete-input-wrap {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.autocomplete-input-wrap input {
  flex: 1 1 120px;
  min-width: 120px;
  border: 0;
  background: transparent;
  min-height: 22px;
  padding: 0;
  outline: none;
}

.autocomplete-chip-row {
  margin: 0;
}

.autocomplete-chip-row .component-chip {
  min-height: 28px;
  padding-right: 10px;
}

.autocomplete-chip-row .component-chip span[aria-hidden="true"] {
  color: inherit;
  font-weight: 400;
}

.autocomplete-clear-button {
  border: 0;
  border-radius: 999px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
  font-size: 12px;
  font-weight: 700;
  min-height: 28px;
  padding: 4px 10px;
}

.autocomplete-loading-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
}

.autocomplete-menu {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 8px);
  z-index: 1220;
  display: grid;
  gap: 8px;
  max-height: 240px;
  overflow: auto;
  margin-top: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
  padding: 8px;
}

.autocomplete-field.is-open-up .autocomplete-menu {
  top: auto;
  bottom: calc(100% + 8px);
}

.autocomplete-option {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 10px 12px;
  color: var(--text);
  text-align: left;
  width: 100%;
}

.autocomplete-option:hover {
  border-color: rgba(99, 91, 255, 0.25);
  background: rgba(99, 91, 255, 0.04);
}

.autocomplete-option.is-selected {
  border-color: rgba(99, 91, 255, 0.2);
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.autocomplete-option.is-selected strong,
.autocomplete-option.is-selected small,
.autocomplete-option.is-selected .autocomplete-option-abbr {
  color: inherit;
}

.autocomplete-option-main {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.autocomplete-option-avatar {
  display: inline-flex;
  flex: none;
}

.autocomplete-option strong {
  display: block;
  font-size: 13px;
  line-height: 18px;
}

.autocomplete-option small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}

.autocomplete-option-abbr {
  flex: none;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.autocomplete-option-meta {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 8px;
  color: var(--primary-strong);
}

.autocomplete-empty-state {
  display: grid;
  gap: 4px;
  padding: 12px 10px;
  color: var(--muted);
}

.autocomplete-empty-state strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
}

.autocomplete-empty-state small {
  font-size: 12px;
  line-height: 16px;
}

.autocomplete-error {
  color: var(--danger);
  font-size: 12px;
  line-height: 1.45;
}

.nexus-switch {
  --switch-width: 46px;
  --switch-height: 28px;
  --switch-thumb-size: 20px;
  --switch-thumb-offset: 4px;
  --switch-track-off: #d8dee9;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--text);
  font-size: 14px;
  line-height: 20px;
}

.nexus-switch.is-inset {
  --switch-width: 36px;
  --switch-height: 22px;
  --switch-thumb-size: 16px;
  --switch-thumb-offset: 3px;
}

.nexus-switch.is-disabled {
  opacity: 0.56;
}

.nexus-switch-control {
  position: relative;
  display: inline-flex;
  flex: none;
  width: var(--switch-width);
  height: var(--switch-height);
}

.nexus-switch-control input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.nexus-switch-track {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(23, 32, 51, 0.08);
  border-radius: 999px;
  background: var(--switch-track-off);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.nexus-switch-thumb {
  position: absolute;
  top: 50%;
  left: var(--switch-thumb-offset);
  display: inline-flex;
  width: var(--switch-thumb-size);
  height: var(--switch-thumb-size);
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: white;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
  transform: translateY(-50%);
  transition: left 160ms ease, background-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
  color: transparent;
}

.nexus-switch.is-checked .nexus-switch-track {
  border-color: color-mix(in srgb, var(--switch-tone) 24%, #d8dee9);
  background: color-mix(in srgb, var(--switch-tone) 34%, #f1f5f9);
}

.nexus-switch.is-checked .nexus-switch-thumb {
  left: calc(100% - var(--switch-thumb-size) - var(--switch-thumb-offset));
  background: var(--switch-tone);
  color: white;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--switch-tone) 28%, transparent);
}

.nexus-switch:focus-within .nexus-switch-track {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.nexus-switch-spinner,
.nexus-switch-inline-spinner {
  display: inline-block;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: currentColor;
  border-radius: 999px;
  animation: component-spin 800ms linear infinite;
}

.nexus-switch-spinner {
  width: 10px;
  height: 10px;
}

.nexus-switch-inline-spinner {
  width: 14px;
  height: 14px;
  border-color: rgba(99, 91, 255, 0.2);
  border-top-color: var(--primary);
  animation-play-state: paused;
  opacity: 0.48;
}

.nexus-switch-inline-spinner.is-active {
  animation-play-state: running;
  opacity: 1;
}

.nexus-switch-label {
  min-width: 0;
}

.switch-demo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 24px;
}

.switch-demo-row--wrap {
  align-items: flex-start;
}

.switch-demo-grid {
  display: grid;
  gap: 14px 20px;
}

.switch-demo-grid--colors {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.switch-demo-block {
  display: grid;
  gap: 12px;
}

.switch-slot-copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.form-demo-row,
.form-demo-inline,
.form-demo-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
}

.form-demo-row {
  justify-content: space-between;
}

.form-demo-toolbar {
  flex-wrap: wrap;
}

.form-demo-nexus-metro {
  display: grid;
  gap: 14px;
}

.form-demo-nexus-metro-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.form-demo-nexus-metro-value-wrap {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--text);
}

.form-demo-nexus-metro-value {
  font-size: 42px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.04em;
}

.form-demo-nexus-metro-unit {
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.form-demo-nexus-metro-slider-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.form-demo-nexus-metro-range {
  flex: 1;
}

.form-demo-nexus-metro-icon {
  min-width: 34px;
  padding-inline: 0;
}

.form-demo-vertical-stage {
  min-height: 320px;
  padding: 36px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  overflow: hidden;
}

.form-demo-vertical-stage input[type="range"] {
  width: 220px;
  transform-origin: center center;
}

.form-demo-rating-stack {
  display: grid;
  gap: 12px;
}

.nexus-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--warning);
}

.nexus-rating.density-compact {
  gap: 4px;
}

.nexus-rating-item {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: var(--rating-icon-size, 20px);
  height: var(--rating-icon-size, 20px);
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.nexus-rating-item:disabled {
  cursor: default;
}

.nexus-rating-glyph {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: var(--rating-icon-size, 20px);
  height: var(--rating-icon-size, 20px);
}

.nexus-rating-glyph.is-empty {
  color: var(--muted);
  opacity: 0.72;
}

.nexus-rating-glyph.is-filled {
  color: inherit;
}

.nexus-rating-star {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.nexus-rating-star.is-outline {
  opacity: 0.65;
}

.nexus-rating-star-fill {
  position: absolute;
  inset: 0;
  overflow: hidden;
  color: currentColor;
}

.nexus-rating-star-fill.is-half {
  width: 50%;
}

.nexus-rating-item-slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.form-demo-rating-length {
  display: grid;
  gap: 10px;
}

.form-demo-rating-caption {
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

.form-demo-rating-slider {
  width: min(100%, 240px);
  accent-color: var(--primary);
}

.form-demo-rating-model {
  margin: 0;
  font-weight: 600;
}

.form-demo-option-list {
  display: grid;
  gap: 8px;
}

.form-demo-option-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px 12px;
}

.form-demo-option-row strong {
  display: block;
}

.checkbox-demo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 18px;
}

.checkbox-demo-block {
  display: grid;
  gap: 8px;
}

.checkbox-inline-grid {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px 16px;
}

.nexus-checkbox {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 24px;
  color: var(--text);
  font-weight: 400;
}

.nexus-checkbox input {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.nexus-checkbox-box {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(34, 48, 62, 0.38);
  border-radius: 4px;
  background: var(--surface);
  color: transparent;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
}

.nexus-checkbox-box svg {
  width: 12px;
  height: 12px;
}

.nexus-checkbox.density-compact {
  min-height: 20px;
  gap: 8px;
}

.nexus-checkbox.is-active .nexus-checkbox-box {
  color: #fff;
}

.nexus-checkbox.color-primary.is-active .nexus-checkbox-box {
  background: var(--primary);
  border-color: var(--primary);
}

.nexus-checkbox.color-secondary.is-active .nexus-checkbox-box {
  background: var(--secondary);
  border-color: var(--secondary);
}

.nexus-checkbox.color-success.is-active .nexus-checkbox-box {
  background: var(--success);
  border-color: var(--success);
}

.nexus-checkbox.color-info.is-active .nexus-checkbox-box {
  background: var(--info);
  border-color: var(--info);
}

.nexus-checkbox.color-warning.is-active .nexus-checkbox-box {
  background: var(--warning);
  border-color: var(--warning);
}

.nexus-checkbox.color-danger.is-active .nexus-checkbox-box {
  background: var(--danger);
  border-color: var(--danger);
}

.nexus-checkbox.is-disabled {
  opacity: 0.56;
  cursor: not-allowed;
}

.nexus-checkbox:focus-within .nexus-checkbox-box {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.nexus-checkbox-label {
  font-size: 14px;
  line-height: 20px;
}

.checkbox-slot-copy {
  display: inline;
  line-height: 1.5;
}

.checkbox-slot-copy a {
  color: var(--primary);
  font-weight: 600;
}

.checkbox-slot-copy a:hover {
  text-decoration: underline;
}

.form-demo-option-row small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.nexus-select-field {
  position: relative;
  display: grid;
  gap: 6px;
  min-width: 0;
}

.autocomplete-field,
.nexus-select-field {
  -webkit-user-select: none;
  user-select: none;
}

.autocomplete-field input,
.nexus-select-field input {
  -webkit-user-select: text;
  user-select: text;
}

.nexus-select-field.is-open {
  z-index: 1210;
}

.nexus-select-control {
  appearance: none;
  display: grid;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  padding: 10px 12px 12px;
  text-align: left;
  box-shadow: none;
  cursor: pointer;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.nexus-select-field.variant-outlined .nexus-select-control {
  border-color: var(--border);
  background: var(--surface);
}

.nexus-select-field.variant-filled .nexus-select-control {
  background: var(--surface-muted);
}

.nexus-select-field.variant-solo .nexus-select-control {
  border-color: transparent;
  background: rgba(99, 91, 255, 0.08);
}

.nexus-select-field.variant-underlined .nexus-select-control {
  min-height: 50px;
  border-top: 0;
  border-inline: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.nexus-select-field.variant-plain .nexus-select-control {
  min-height: 50px;
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.nexus-select-control:focus-visible {
  outline: none;
}

.nexus-select-field.density-compact .nexus-select-control {
  min-height: 50px;
  padding-block: 8px 10px;
}

.nexus-select-field.is-focused .nexus-select-control,
.nexus-select-field.is-open .nexus-select-control,
.nexus-select-field:focus-within .nexus-select-control,
.nexus-select-control:focus-visible {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--textfield-focus-color, var(--primary)) 12%, transparent);
}

.nexus-select-field.variant-underlined.is-focused .nexus-select-control,
.nexus-select-field.variant-underlined.is-open .nexus-select-control,
.nexus-select-field.variant-underlined:focus-within .nexus-select-control,
.nexus-select-field.variant-underlined .nexus-select-control:focus-visible {
  box-shadow: none;
  border-color: transparent;
  border-bottom-color: var(--textfield-focus-color, var(--primary));
}

.nexus-select-field.variant-plain.is-focused .nexus-select-control,
.nexus-select-field.variant-plain.is-open .nexus-select-control,
.nexus-select-field.variant-plain:focus-within .nexus-select-control,
.nexus-select-field.variant-plain .nexus-select-control:focus-visible {
  box-shadow: inset 0 -1px 0 0 var(--textfield-focus-color, var(--primary));
  border-color: transparent;
  background: color-mix(in srgb, var(--primary) 4%, transparent);
}

.nexus-select-field.is-single-line .nexus-select-control {
  min-height: 52px;
}

.nexus-select-field.is-no-floating-label .nexus-select-control {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
}

.nexus-select-field.is-no-floating-label .nexus-select-content {
  width: 100%;
}

.nexus-select-field.is-no-floating-label .nexus-select-caret {
  margin-left: auto;
}

.nexus-select-field.is-no-floating-label.density-compact .nexus-select-control {
  min-height: 34px;
  padding-block: 0;
}

.nexus-select-field.is-no-floating-label.variant-underlined .nexus-select-control,
.nexus-select-field.is-no-floating-label.variant-plain .nexus-select-control {
  min-height: 40px;
  padding-inline: 0;
}

.nexus-select-outer-label {
  color: var(--text);
  font-size: 13px;
  line-height: 18px;
}

.nexus-select-label {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.nexus-select-content {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.nexus-select-leading,
.nexus-select-trailing,
.nexus-select-caret {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  color: var(--muted);
}

.nexus-select-display {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: 8px;
  overflow: hidden;
}

.nexus-select-placeholder {
  min-width: 0;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nexus-select-single {
  display: grid;
  min-width: 0;
}

.nexus-select-single small {
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}

.nexus-select-value-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nexus-select-chip-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.nexus-select-menu {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 8px);
  z-index: 1220;
  display: grid;
  gap: 8px;
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
  padding: 8px;
}

.nexus-select-field.is-open-up .nexus-select-menu {
  top: auto;
  bottom: calc(100% + 8px);
}

.nexus-select-search {
  position: sticky;
  top: 0;
  z-index: 1221;
  display: flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  padding: 3px 8px;
}

.nexus-select-search:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent);
}

.nexus-select-search input {
  width: 100%;
  min-width: 0;
  min-height: 24px;
  height: 24px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font-size: 13px;
  line-height: 18px;
  padding: 0;
}

.nexus-select-search input::placeholder {
  color: var(--muted);
}

.nexus-select-empty {
  color: var(--muted);
  padding: 12px;
  font-size: 13px;
  text-align: center;
}

.nexus-select-option {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--surface-muted);
  padding: 10px 12px;
  color: var(--text);
  text-align: left;
}

.nexus-select-option:hover {
  border-color: rgba(99, 91, 255, 0.25);
  background: rgba(99, 91, 255, 0.04);
}

.nexus-select-option.is-selected {
  border-color: rgba(99, 91, 255, 0.2);
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.nexus-select-option-main {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.nexus-select-option strong {
  display: block;
  font-size: 13px;
  line-height: 18px;
}

.nexus-select-option small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}

.nexus-select-option-meta {
  display: inline-flex;
  flex: none;
  align-items: center;
  color: var(--primary-strong);
}

.file-input-demo {
  display: grid;
  gap: 6px;
}

.file-input-label {
  font-size: 13px;
  line-height: 18px;
}

.file-input-selection {
  display: grid;
  gap: 8px;
}

.file-input-actions {
  display: flex;
  justify-content: flex-end;
}

.file-input-control {
  position: relative;
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 0 12px;
  color: var(--text);
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.file-input-demo.density-compact .file-input-control {
  min-height: 34px;
  padding-inline: 10px;
}

.file-input-demo.variant-filled .file-input-control,
.file-input-demo.variant-solo .file-input-control {
  background: var(--surface-muted);
}

.file-input-demo.variant-solo .file-input-control {
  border-color: transparent;
  background: rgba(99, 91, 255, 0.08);
}

.file-input-demo.variant-plain .file-input-control {
  border-color: transparent;
  background: transparent;
  padding-inline: 0;
}

.file-input-demo.variant-underlined .file-input-control {
  border-top: none;
  border-inline: none;
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.file-input-demo:focus-within .file-input-control {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.file-input-demo.variant-underlined:focus-within .file-input-control {
  box-shadow: none;
  border-color: transparent;
  border-bottom-color: var(--textfield-focus-color, var(--primary));
}

.file-input-demo.variant-plain:focus-within .file-input-control {
  border-color: transparent;
  box-shadow: inset 0 -1px 0 0 var(--textfield-focus-color, var(--primary));
  background: color-mix(in srgb, var(--primary) 4%, transparent);
}

.file-input-demo.is-loading .file-input-control {
  border-color: rgba(99, 91, 255, 0.25);
}

.file-input-leading {
  display: inline-flex;
  flex: none;
  color: var(--muted);
}

.file-input-placeholder {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: #98a2b3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-input-action {
  flex: none;
  color: var(--primary-strong);
  font-size: 13px;
  font-weight: 700;
}

.file-input-native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.file-input-demo.is-disabled .file-input-control {
  opacity: 0.56;
}

.file-input-note,
.file-input-error {
  font-size: 12px;
  line-height: 16px;
}

.file-input-note {
  color: var(--muted);
}

.file-input-error {
  color: var(--danger);
}

.file-input-list {
  display: grid;
  gap: 8px;
}

.file-input-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px 12px;
}

.file-input-row strong {
  display: block;
  font-size: 13px;
  line-height: 18px;
}

.file-input-row small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}

.chip-file-removable {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.chip-file-removable span[aria-hidden="true"] {
  font-size: 14px;
  line-height: 1;
}

.form-demo-option-leading {
  display: inline-flex;
  flex: none;
}

.form-demo-chip-avatar {
  display: inline-flex;
}

.form-demo-editor {
  display: grid;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px;
}

.form-demo-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding-bottom: 12px;
}

.form-demo-editor-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(133, 146, 163, 0.12);
  padding: 0 12px;
  color: #5f6b78;
  font-size: 13px;
  font-weight: 700;
  text-transform: lowercase;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease, color 120ms ease;
}

.form-demo-editor-chip:hover:not(:disabled) {
  background: rgba(133, 146, 163, 0.18);
}

.form-demo-editor-chip.is-active {
  background: rgba(99, 91, 255, 0.08);
  color: var(--primary-strong);
}

.form-demo-editor-chip:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.form-demo-divider {
  height: 1px;
  background: var(--border);
}

.form-demo-editor-surface {
  min-height: 110px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
  outline: none;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.form-demo-editor-chip:focus-visible,
.form-demo-editor-surface:focus-within,
.form-demo-editor-surface:focus-visible {
  outline: none;
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.form-demo-editor-surface .ProseMirror {
  outline: none;
}

.form-demo-editor-surface.basic-editor .ProseMirror {
  min-height: 200px;
  overflow-y: auto;
  padding-inline: 0.5rem;
}

.form-demo-editor-surface.custom-editor .ProseMirror {
  overflow-y: auto;
  padding-inline: 0.5rem;
}

.form-demo-editor-surface.custom-editor .ProseMirror > * + * {
  margin-top: 0.75em;
}

.form-demo-editor-surface.custom-editor .ProseMirror ul,
.form-demo-editor-surface.custom-editor .ProseMirror ol {
  padding-block: 0;
  padding-inline: 1rem;
}

.form-demo-editor-surface.custom-editor .ProseMirror h1,
.form-demo-editor-surface.custom-editor .ProseMirror h2,
.form-demo-editor-surface.custom-editor .ProseMirror h3,
.form-demo-editor-surface.custom-editor .ProseMirror h4,
.form-demo-editor-surface.custom-editor .ProseMirror h5,
.form-demo-editor-surface.custom-editor .ProseMirror h6 {
  line-height: 1.1;
}

.form-demo-editor-surface.custom-editor .ProseMirror code {
  background-color: rgba(97, 97, 97, 0.1);
  color: #616161;
}

.form-demo-editor-surface.custom-editor .ProseMirror pre {
  border-radius: 8px;
  background: #0d0d0d;
  color: #fff;
  font-family: JetBrainsMono, monospace;
  padding-block: 0.75rem;
  padding-inline: 1rem;
}

.form-demo-editor-surface.custom-editor .ProseMirror pre code {
  padding: 0;
  background: none;
  color: inherit;
  font-size: 0.8rem;
}

.form-demo-editor-surface.custom-editor .ProseMirror img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}

.form-demo-editor-surface.custom-editor .ProseMirror blockquote {
  border-inline-start: 2px solid rgba(13, 13, 13, 0.1);
  padding-inline-start: 1rem;
}

.form-demo-editor-surface.custom-editor .ProseMirror hr {
  border: none;
  border-block-start: 2px solid rgba(13, 13, 13, 0.1);
  margin-block: 2rem;
  margin-inline: 0;
}

.form-demo-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.form-demo-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
}

.form-demo-range {
  display: grid;
  gap: 8px;
}

.form-demo-range-meta,
.form-demo-ticks {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 12px;
}

.form-demo-nexus-range {
  position: relative;
  display: grid;
  gap: 12px;
  padding-top: 14px;
}

.form-demo-nexus-range.has-thumb-labels {
  padding-top: 44px;
}

.form-demo-nexus-range.is-disabled {
  opacity: 0.68;
}

.form-demo-nexus-range-shell {
  position: relative;
  height: 44px;
  touch-action: none;
}

.form-demo-nexus-range-track,
.form-demo-nexus-range-fill {
  position: absolute;
  top: 50%;
  height: 6px;
  border-radius: 999px;
  transform: translateY(-50%);
}

.form-demo-nexus-range-track {
  left: 0;
  right: 0;
  background: var(--surface-muted);
}

.form-demo-nexus-range-fill {
  background: currentColor;
}

.form-demo-nexus-range-thumb {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: 0;
  width: 28px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transform: translateX(-50%);
}

.form-demo-nexus-range-thumb::before {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 999px;
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.18);
  transform: translate(-50%, -50%);
}

.form-demo-nexus-range-thumb:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
}

.form-demo-nexus-range-thumb:disabled {
  cursor: not-allowed;
}

.form-demo-nexus-range-thumb.is-lower {
  z-index: 2;
}

.form-demo-nexus-range-thumb.is-upper {
  z-index: 3;
}

.form-demo-nexus-range-badges {
  position: absolute;
  inset: 0 0 auto;
  height: 30px;
  pointer-events: none;
}

.form-demo-nexus-range-badge {
  position: absolute;
  top: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transform: translateX(-50%);
  padding: 5px 10px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: var(--surface);
  box-shadow: none;
  filter: var(--shadow-filter);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.form-demo-nexus-range-badge-icon {
  display: inline-flex;
}

.form-demo-nexus-range-badge-icon svg {
  display: block;
}

.form-demo-nexus-range-ticks {
  display: grid;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
}

.form-demo-nexus-range-tick {
  display: grid;
  justify-items: center;
  gap: 6px;
  text-align: center;
}

.form-demo-nexus-range-tick-mark {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.75;
}

.form-demo-nexus-range-tick-label {
  white-space: nowrap;
}

.form-demo-nexus-range.is-vertical {
  min-height: 240px;
  place-items: center;
}

.form-demo-nexus-range.is-vertical .form-demo-nexus-range-shell {
  width: 240px;
  height: 44px;
  transform: rotate(-90deg);
  transform-origin: center;
}

.form-demo-nexus-range.is-vertical .form-demo-nexus-range-badges {
  display: none;
}

.form-demo-nexus-range.is-vertical .form-demo-nexus-range-ticks {
  display: none;
}

.login-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
}

.login-panel {
  display: grid;
  width: min(100%, 420px);
  gap: 22px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: none;
  filter: var(--shadow-filter);
  padding: 28px;
}

.login-panel h1 {
  margin: 0;
  font-size: 24px;
  line-height: 32px;
}

.login-panel p {
  margin: 6px 0 0;
  color: var(--muted);
}

.login-form {
  display: grid;
  gap: 14px;
}

.login-alert {
  align-items: flex-start;
}

.login-field-group {
  display: grid;
  gap: 8px;
}

.login-field-alert {
  align-items: flex-start;
  padding: 8px 10px;
}

.login-options-row {
  display: flex;
  justify-content: flex-end;
}

.login-submit {
  width: 100%;
  justify-content: center;
}

.table-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.prayer-page-actions {
  display: flex;
  justify-content: center;
  width: 100%;
}

.prayer-form-modal {
  width: min(100%, 760px);
  max-height: calc(100vh - 48px);
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.prayer-form-modal-body {
  display: grid;
  gap: 16px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}

.prayer-form-modal-body form {
  display: grid;
  gap: 16px;
}

.prayer-modal-grid {
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.prayer-modal-grid .nexus-textfield-field,
.prayer-modal-grid .nexus-select-field,
.prayer-modal-grid .nexus-textarea-field {
  align-self: start;
}

.prayer-modal-grid .nexus-textfield-shell,
.prayer-modal-grid .nexus-select-field.is-no-floating-label .nexus-select-control {
  min-height: 40px;
}

.prayer-table-section {
  display: grid;
  gap: 6px;
}

.prayer-table-section .section-header {
  margin: 0;
}

.prayer-table-section .section-header h2 {
  white-space: nowrap;
}

.prayer-modal-span-2 {
  grid-column: 1 / -1;
}

.prayer-required-mark {
  color: var(--danger);
  margin-left: 3px;
}

.prayer-field-error {
  display: block;
  margin-top: 6px;
  color: var(--danger);
  font-size: 12px;
  line-height: 18px;
}

.prayer-admin-page .nexus-textfield-field.is-invalid .nexus-textfield-shell,
.prayer-admin-page .nexus-textarea-field.is-invalid .nexus-textarea-shell,
.prayer-admin-page .nexus-select-field.is-invalid .nexus-select-control {
  border-color: var(--danger);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--danger) 10%, transparent);
}

.prayer-admin-page .nexus-select-field.is-disabled {
  opacity: 0.72;
  pointer-events: none;
}

.prayer-table-wrap {
  background: transparent;
  box-shadow: none;
}

.prayer-table {
  min-width: 760px;
}

.prayer-table th,
.prayer-table td {
  padding: 14px 18px;
}

.prayer-skeleton {
  display: block;
  overflow: hidden;
  position: relative;
  border-radius: 6px;
  background: color-mix(in srgb, var(--muted) 14%, var(--surface));
}

.prayer-skeleton::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--surface) 72%, transparent), transparent);
  content: "";
  transform: translateX(-100%);
  animation: prayer-skeleton-shimmer 1.35s ease-in-out infinite;
}

.prayer-stat-skeleton {
  width: 52px;
  height: 34px;
  margin: 2px 0;
}

.prayer-table-skeleton {
  width: 110px;
  height: 14px;
}

.prayer-table-skeleton-2 {
  width: 78px;
}

.prayer-table-skeleton-3 {
  width: 96px;
}

.prayer-skeleton-row td {
  height: 66px;
}

@keyframes prayer-skeleton-shimmer {
  to {
    transform: translateX(100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .prayer-skeleton::after {
    animation: none;
  }
}

@media (max-width: 680px) {
  .prayer-admin-page {
    gap: 14px;
  }

  .prayer-page-actions .component-btn {
    width: auto;
    min-width: 148px;
  }

  .prayer-form-modal {
    width: min(100%, 520px);
    max-height: calc(100dvh - 24px);
    padding: 16px;
  }

  .prayer-modal-grid {
    grid-template-columns: 1fr;
  }

  .prayer-modal-span-2 {
    grid-column: auto;
  }

  .prayer-modal-grid .nexus-textfield-input-row input,
  .prayer-modal-grid .nexus-textarea-field textarea,
  .prayer-modal-grid .nexus-select-control,
  .prayer-modal-grid .nexus-select-option,
  .prayer-modal-grid .nexus-select-placeholder,
  .prayer-modal-grid .nexus-select-single {
    font-size: 16px;
  }

  .prayer-table {
    min-width: 720px;
  }

  .prayer-table th,
  .prayer-table td {
    padding: 12px 14px;
  }

  .table-action-row {
    flex-wrap: nowrap;
  }
}

.auth-page {
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(99, 91, 255, 0.13), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(2, 119, 189, 0.11), transparent 30%),
    linear-gradient(135deg, #f7f8fb 0%, #eef2f7 100%);
  padding: 28px;
}

.auth-shell {
  display: grid;
  min-height: calc(100vh - 56px);
  align-items: center;
  justify-content: center;
}

.auth-page.is-card .auth-shell {
  place-items: center;
}

.auth-page.is-split .auth-shell {
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
  gap: 32px;
  width: min(100%, 1180px);
  margin: 0 auto;
}

.auth-panel {
  display: grid;
  width: min(100%, 440px);
  justify-self: center;
  gap: 22px;
  border: 1px solid rgba(229, 231, 235, 0.84);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 22px 60px rgba(23, 32, 51, 0.13);
  padding: 32px;
  backdrop-filter: blur(16px);
}

.auth-page.is-split .auth-panel {
  justify-self: end;
}

.auth-brand {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 12px;
  color: var(--text);
}

.auth-brand small,
.auth-copy p,
.auth-switch-copy,
.auth-mail-card small,
.auth-device small,
.auth-visual-card p {
  color: var(--muted);
}

.auth-copy {
  display: grid;
  gap: 8px;
}

.auth-copy h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(26px, 4vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.auth-copy p,
.auth-switch-copy {
  margin: 0;
  font-size: 14px;
  line-height: 22px;
}

.auth-form {
  display: grid;
  gap: 14px;
}

.auth-inline-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

.auth-inline-row a,
.auth-switch-copy a,
.auth-switch-copy button {
  border: 0;
  background: transparent;
  color: var(--primary-strong);
  padding: 0;
  font: inherit;
  font-weight: 800;
}

.auth-switch-copy {
  text-align: center;
}

.auth-visual {
  position: relative;
  display: grid;
  min-height: 720px;
  align-content: center;
  gap: 20px;
  overflow: hidden;
  border-radius: 26px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.22), transparent 26%),
    linear-gradient(145deg, #645cff, #09a2c7 62%, #102a43);
  color: white;
  padding: 40px;
  box-shadow: 0 24px 70px rgba(23, 32, 51, 0.2);
}

.auth-visual::before {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -110px;
  width: 320px;
  height: 320px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
}

.auth-visual-card,
.auth-device {
  position: relative;
  z-index: 1;
}

.auth-visual-card {
  display: grid;
  gap: 10px;
  max-width: 420px;
}

.auth-visual-card span {
  width: fit-content;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.auth-visual-card strong {
  font-size: clamp(32px, 5vw, 56px);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.auth-visual-card p,
.auth-device small {
  color: rgba(255, 255, 255, 0.78);
}

.auth-device {
  display: grid;
  gap: 18px;
  width: min(100%, 430px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.13);
  padding: 24px;
  backdrop-filter: blur(18px);
}

.auth-device i {
  display: block;
  width: 100%;
  height: 150px;
  border-radius: 16px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.26) 12%, transparent 12% 18%, rgba(255, 255, 255, 0.18) 18% 100%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.36) 0 12px, transparent 12px 28px);
}

.auth-device strong,
.auth-device small {
  display: block;
}

.auth-device ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.auth-device li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
}

.auth-device li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #fff;
}

.auth-mail-card {
  display: grid;
  justify-items: center;
  gap: 8px;
  border: 1px dashed rgba(99, 91, 255, 0.28);
  border-radius: 14px;
  background: rgba(99, 91, 255, 0.06);
  padding: 22px;
  text-align: center;
}

.auth-mail-card > span {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 16px;
  background: var(--primary);
  color: white;
  font-size: 28px;
  font-weight: 900;
}

.auth-otp-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.auth-otp-row input {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  color: var(--text);
  font-size: 22px;
  font-weight: 800;
  text-align: center;
}

.auth-otp-row input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.08);
  outline: none;
}

.auth-multi-card {
  display: grid;
  gap: 22px;
}

.auth-stepper {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.auth-stepper span {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.auth-stepper i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  background: var(--surface-muted);
  color: inherit;
  font-style: normal;
}

.auth-stepper span.is-active {
  color: var(--primary-strong);
}

.auth-stepper span.is-active i {
  background: rgba(99, 91, 255, 0.12);
}

.auth-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
}

.checkbox-label input {
  width: 16px;
  min-height: 16px;
}

.drawer-scrim,
.mobile-drawer {
  display: none;
}

.panel,
.stat-card,
.cards-demo-card,
.component-tile,
.component-preview-card,
.ops-hero,
.ops-radial,
.ops-stat-card,
.ops-category-card,
.ops-zone-grid > div,
.ops-table-wrap,
.ops-search,
.ops-segmented,
.ops-lane,
.form-wizard-card,
.form-layout-card,
.validation-card,
.table-demo-card,
.table-wrap,
.profile-info-list div,
.account-security-grid div,
.pricing-card,
.faq-item,
.faq-categories,
.misc-card,
.auth-panel,
.auth-device,
.auth-mail-card,
.calendar-sidebar,
.calendar-main,
.calendar-detail,
.calendar-agenda button,
.calendar-list-view button,
.calendar-detail-card,
.kanban-toolbar,
.kanban-lane,
.kanban-card,
.kanban-detail,
.kanban-detail-card,
.command-modal,
.create-modal,
.dropdown-menu,
.menu-panel,
.swiper-slide-card,
.chart-card,
.icons-intro-card,
.typography-spec-row,
.docs-hero,
.docs-card,
.docs-toc,
.docs-block {
  background-clip: padding-box;
  box-shadow: none;
  filter: var(--shadow-filter);
}

.component-tile,
.component-preview-card,
.table-wrap,
.ops-search,
.ops-segmented,
.form-wizard-card,
.form-layout-card,
.validation-card,
.table-demo-card,
.calendar-agenda button,
.calendar-list-view button,
.dropdown-menu,
.menu-panel,
.swiper-slide-card,
.chart-card,
.icons-intro-card,
.typography-spec-row,
.docs-hero,
.docs-card,
.docs-toc,
.docs-block {
  border-radius: 8px;
}

.ops-table-wrap,
.ops-lane,
.pricing-card,
.faq-item,
.faq-categories,
.calendar-detail-card,
.kanban-card {
  border-radius: 12px;
}

.ops-hero,
.ops-radial,
.auth-panel,
.kanban-lane,
.kanban-detail-card {
  border-radius: 14px;
}

.misc-card {
  border-radius: 24px;
}

.cards-demo-card:hover,
.component-tile:hover,
.component-preview-card:hover,
.ops-stat-card:hover,
.ops-category-card:hover,
.ops-lane:hover,
.pricing-card:hover,
.faq-item:hover,
.calendar-agenda button:hover,
.calendar-list-view button:hover,
.kanban-card:hover {
  box-shadow: none;
  filter: var(--shadow-hover-filter);
}

@media (max-width: 1100px) {
  .stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-kpi-grid,
  .dashboard-side-grid,
  .system-kpi-grid,
  .system-side-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-risk-panel,
  .system-side-grid > :last-child {
    grid-column: 1 / -1;
  }

  .dashboard-grid,
  .dashboard-hero,
  .dashboard-main-grid,
  .system-hero,
  .system-main-grid,
  .split-panel,
  .settings-layout {
    grid-template-columns: 1fr;
  }

  .docs-article-layout {
    grid-template-columns: 1fr;
  }

  .docs-toc {
    position: static;
  }

  .docs-related {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  :root {
    --topbar-height: 56px;
  }

  .sidebar {
    display: none;
  }

  .workspace {
    width: 100%;
    padding-left: 0;
    padding-top: calc(var(--topbar-height) + 16px);
  }

  .topbar {
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--topbar-height) + 12px);
    padding: 12px 14px 0;
    border-radius: 8px;
    background: var(--bg);
  }

  .topbar::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 0;
    border-radius: 0;
    background: transparent;
    pointer-events: none;
    z-index: 0;
  }

  .topbar-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: var(--topbar-height);
    padding: 0 14px;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(23, 32, 51, 0.08);
  }

  .mobile-menu {
    display: inline-flex;
  }

  .docs-hero {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .docs-hero h2 {
    font-size: 26px;
  }

  .docs-hero-stats {
    min-width: 0;
  }

  .docs-block {
    padding: 18px;
  }

  .topbar-search {
    min-width: 40px;
    width: 40px;
    justify-content: center;
    padding: 0;
  }

  .topbar-search span {
    display: none;
  }

  .desktop-only-action {
    display: none !important;
  }

  .mobile-user-action {
    display: flex;
  }

  .mobile-user-section {
    display: grid;
  }

  .theme-customizer {
    width: 100%;
    max-width: none;
  }

  input,
  select,
  textarea,
  button {
    font-size: 16px;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea,
  .nexus-textfield-input-row input,
  .nexus-textarea-field textarea,
  .date-time-picker-input,
  .autocomplete-input-wrap input,
  .nexus-select-search input,
  .ops-search input,
  .table-demo-search input,
  .dialog-form-field input {
    font-size: 16px;
  }

  .icon-button,
  .user-button,
  .table-action,
  .settings-nav button {
    font-size: 14px;
  }

  .user-button span:not(.avatar) {
    display: none;
  }

  .content-viewport {
    width: 100%;
    max-width: 100vw;
    padding: 16px;
    overflow-x: clip;
  }

  .page-stack,
  .panel,
  .stat-card,
  .cards-demo-card,
  .dashboard-grid,
  .stat-grid {
    width: 100%;
    max-width: 100%;
  }

  .cards-demo-grid,
  .cards-demo-stat-grid {
    grid-template-columns: 1fr;
  }

  .cards-demo-product {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .cards-demo-profile-stats,
  .cards-demo-report,
  .cards-demo-finance {
    grid-template-columns: 1fr;
  }

  .cards-demo-target,
  .cards-demo-highlight-row,
  .cards-demo-score {
    align-items: flex-start;
    flex-direction: column;
  }

  .page-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .page-actions,
  .page-actions .component-btn,
  .page-actions button {
    width: 100%;
  }

  .stat-grid,
  .form-grid,
  .settings-summary-grid,
  .settings-field-grid,
  .settings-option-grid,
  .form-layout-grid,
  .form-layout-option-grid,
  .validation-form-grid,
  .wizard-form-grid,
  .filter-bar,
  .ops-stat-grid,
  .ops-grid-2,
  .ops-kanban,
  .ops-zone-grid,
  .ops-permission-grid {
    grid-template-columns: 1fr;
  }

  .ops-hero {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .ops-hero-visual,
  .ops-radial {
    min-height: 190px;
  }

  .ops-filter-shell {
    align-items: stretch;
    flex-direction: column;
  }

  .ops-search,
  .ops-segmented,
  .ops-filter-shell > .component-btn {
    width: 100%;
  }

  .ops-search {
    flex-basis: auto;
    min-width: 0;
    min-height: 40px;
    padding-inline: 10px;
  }

  .ops-search input {
    height: 38px;
    min-height: 0;
  }

  .settings-redesign-nav {
    position: static;
  }

  .settings-nav {
    display: flex;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .settings-nav button {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  .settings-redesign-nav button {
    min-width: 190px;
    grid-template-columns: 22px minmax(0, 1fr);
    white-space: normal;
  }

  .settings-page .page-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-page .page-actions .component-btn {
    width: 100%;
  }

  .settings-switch-row,
  .settings-checkbox-card,
  .settings-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ops-segmented {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .ops-timeline div {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .ops-timeline small {
    grid-column: 2;
  }

  .form-layout-horizontal .form-layout-field {
    grid-template-columns: 1fr;
  }

  .form-layout-sticky-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .form-layout-sticky-bar > div {
    flex-direction: column;
  }

  .form-wizard-card,
  .form-wizard-card.is-vertical {
    grid-template-columns: 1fr;
  }

  .wizard-stepper,
  .form-wizard-card.is-vertical .wizard-stepper {
    grid-template-columns: 1fr;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .wizard-step:not(:last-child)::after,
  .form-wizard-card.is-vertical .wizard-step:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -8px;
    left: 25px;
    width: 1px;
    height: 16px;
  }

  .wizard-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-kpi-grid,
  .dashboard-side-grid,
  .dashboard-main-grid,
  .system-kpi-grid,
  .system-side-grid,
  .system-main-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-risk-panel,
  .system-side-grid > :last-child {
    grid-column: auto;
  }

  .dashboard-hero h2,
  .system-hero h2 {
    font-size: 24px;
    line-height: 31px;
  }

  .dashboard-hero-actions,
  .dashboard-page .page-actions,
  .system-hero-actions,
  .system-page .page-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-hero-actions .component-btn,
  .dashboard-page .page-actions .component-btn,
  .system-hero-actions .component-btn,
  .system-page .page-actions .component-btn {
    width: 100%;
  }

  .dashboard-health-card,
  .system-status-card {
    justify-items: center;
  }

  .dashboard-health-list,
  .system-health-list {
    width: 100%;
  }

  .dashboard-revenue-chart {
    grid-template-columns: repeat(7, minmax(26px, 1fr));
    gap: 8px;
    min-height: 220px;
    padding: 14px;
  }

  .dashboard-revenue-column > div {
    height: 168px;
  }

  .dashboard-channel-list > div,
  .system-integration-list > div {
    grid-template-columns: 1fr;
  }

  .section-header,
  .table-toolbar,
  .pagination-row,
  .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .section-header > *,
  .table-toolbar > *,
  .pagination-row > *,
  .form-actions > * {
    width: 100%;
  }

  .drawer-scrim {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: block;
    background: rgba(15, 23, 42, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 160ms ease;
  }

  .drawer-scrim.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  .mobile-drawer {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 50;
    display: block;
    width: min(80vw, 280px);
    max-width: 280px;
    border-right: 1px solid var(--border);
    background: var(--surface);
    box-shadow: var(--sidebar-shadow);
    transform: translateX(-100%);
    transition: transform 180ms ease;
  }

  .mobile-drawer.is-open {
    transform: translateX(0);
  }

  .dropdown-menu {
    min-width: min(86vw, 280px);
  }

  .modal-scrim,
  .modal-backdrop {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
  }

  .command-modal,
  .create-modal,
  .modal-card {
    width: 100%;
    max-height: none;
    overflow: visible;
    margin: auto 0;
  }

  .modal-close {
    width: 40px !important;
  }

  .modal-actions {
    flex-direction: row;
  }

  .modal-actions .component-btn {
    width: auto;
    flex: 1 1 0;
  }

  .component-tiles,
  .ring-grid,
  .typography-grid,
  .typography-color-grid,
  .typography-align-grid,
  .typography-editorial-grid,
  .icons-grid,
  .icons-color-grid,
  .icons-usage-grid {
    grid-template-columns: 1fr;
  }

  .typography-spec-row {
    grid-template-columns: 1fr;
  }

  .icons-intro-card {
    align-items: flex-start;
  }

  .swiper-demo.is-multi .swiper-slide,
  .swiper-demo.is-centered .swiper-slide {
    flex-basis: 100%;
  }

  .swiper-demo.is-centered .swiper-track {
    transform: none;
  }

  .swiper-slide-card {
    min-height: 240px;
    padding: 20px;
  }

  .swiper-slide-card strong {
    font-size: 22px;
    line-height: 28px;
  }

  .swiper-nav.is-prev {
    left: 18px;
  }

  .swiper-nav.is-next {
    right: 18px;
  }

  .chart-grid-layout,
  .chart-donut-wrap {
    grid-template-columns: 1fr;
  }

  .auth-page {
    min-height: 100dvh;
    overflow: auto;
    padding: 20px;
  }

  .auth-page.is-split .auth-shell {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .auth-visual {
    display: none;
  }

  .auth-page.is-split .auth-panel {
    justify-self: center;
    width: min(100%, 440px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    filter: none;
    padding: 0;
    backdrop-filter: none;
  }

  .wizard-example-layout {
    grid-template-columns: 1fr;
  }

  .wizard-example-summary {
    position: static;
  }

  .app-settings-card,
  .pricing-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .account-security-grid {
    grid-template-columns: 1fr;
  }

  .profile-identity {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .calendar-shell {
    grid-template-columns: 1fr;
  }

  .calendar-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .calendar-sidebar > .component-btn,
  .calendar-agenda {
    grid-column: 1 / -1;
  }

  .calendar-detail {
    order: 3;
  }

  .kanban-shell {
    grid-template-columns: 1fr;
  }

  .kanban-detail {
    order: 3;
  }

  .kanban-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .kanban-search,
  .kanban-toolbar-actions {
    width: 100%;
    max-width: none;
  }

  .kanban-toolbar-actions .component-btn {
    flex: 1 1 0;
  }

  .profile-identity .component-btn {
    grid-column: 1 / -1;
    width: 100%;
  }

  .chart-donut {
    margin-inline: auto;
  }

  .snackbar-demo {
    left: 16px;
    right: 16px;
    bottom: 16px;
    min-width: 0;
    max-width: none;
  }

  .command-list a {
    align-items: flex-start;
    flex-direction: column;
  }

  table {
    min-width: 600px;
  }
}

@media (max-width: 520px) {
  .breadcrumbs span:not(:last-child) {
    display: none;
  }

  .topbar {
    gap: 8px;
  }

  .topbar-actions {
    gap: 6px;
  }

  .icon-button,
  .topbar-search,
  .user-button {
    height: 38px;
  }

  .user-button {
    width: 40px;
    justify-content: center;
    padding: 0;
  }

  .user-button svg {
    display: none;
  }

  .stat-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-revenue-chart {
    overflow-x: auto;
  }

  .dashboard-revenue-column {
    min-width: 34px;
  }

  .auth-page.is-card .auth-panel {
    padding: 20px;
  }

  .auth-inline-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .auth-form-grid,
  .auth-stepper,
  .wizard-example-choice-grid {
    grid-template-columns: 1fr;
  }

  .auth-otp-row {
    gap: 6px;
  }

  .auth-otp-row input {
    min-height: 44px;
    font-size: 18px;
  }

  .profile-identity {
    align-items: start;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .profile-title-block,
  .profile-meta-row {
    justify-items: center;
  }

  .profile-meta-row {
    flex-direction: column;
    gap: 8px;
  }

  .profile-chip-row {
    justify-content: center;
  }

  .calendar-sidebar,
  .calendar-form-grid {
    grid-template-columns: 1fr;
  }

  .calendar-toolbar,
  .calendar-title {
    align-items: stretch;
    flex-direction: column;
  }

  .calendar-search,
  .calendar-view-switch {
    width: 100%;
    max-width: none;
  }

  .kanban-toolbar-actions {
    flex-direction: column;
  }

  .kanban-toolbar-actions .component-btn {
    width: 100%;
  }

  .pricing-card.is-featured {
    transform: none;
  }

  .misc-card {
    padding: 22px;
  }

  .panel,
  .stat-card,
  .login-panel {
    padding: 16px;
  }

  table {
    min-width: 520px;
  }
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
  color: var(--text);
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: color-mix(in srgb, var(--muted) 78%, transparent);
}

:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .stat-card,
:root[data-theme="dark"] .component-preview-card,
:root[data-theme="dark"] .component-tile,
:root[data-theme="dark"] .cards-demo-card,
:root[data-theme="dark"] .table-demo-card,
:root[data-theme="dark"] .table-wrap,
:root[data-theme="dark"] .table-demo-wrap,
:root[data-theme="dark"] .ops-table-wrap,
:root[data-theme="dark"] .form-layout-card,
:root[data-theme="dark"] .form-wizard-card,
:root[data-theme="dark"] .validation-card,
:root[data-theme="dark"] .calendar-sidebar,
:root[data-theme="dark"] .calendar-main,
:root[data-theme="dark"] .calendar-detail,
:root[data-theme="dark"] .kanban-lane,
:root[data-theme="dark"] .kanban-card,
:root[data-theme="dark"] .kanban-detail,
:root[data-theme="dark"] .pricing-card,
:root[data-theme="dark"] .faq-item,
:root[data-theme="dark"] .faq-categories,
:root[data-theme="dark"] .misc-card,
:root[data-theme="dark"] .auth-panel,
:root[data-theme="dark"] .auth-device,
:root[data-theme="dark"] .auth-mail-card,
:root[data-theme="dark"] .chart-card,
:root[data-theme="dark"] .swiper-slide-card,
:root[data-theme="dark"] .icons-intro-card,
:root[data-theme="dark"] .typography-spec-row,
:root[data-theme="dark"] .docs-hero,
:root[data-theme="dark"] .docs-card,
:root[data-theme="dark"] .docs-toc,
:root[data-theme="dark"] .docs-block {
  border-color: var(--border);
  background-color: var(--surface);
  color: var(--text);
}

:root[data-theme="dark"] .docs-hero {
  background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 14%, var(--surface)), var(--surface) 58%);
}

:root[data-theme="dark"] .dashboard-hero {
  background:
    radial-gradient(circle at 92% 16%, color-mix(in srgb, var(--primary) 20%, transparent), transparent 26%),
    linear-gradient(135deg, color-mix(in srgb, var(--primary) 11%, var(--surface)), var(--surface) 58%);
}

:root[data-theme="dark"] .dashboard-health-card,
:root[data-theme="dark"] .dashboard-revenue-chart,
:root[data-theme="dark"] .dashboard-channel-list > div,
:root[data-theme="dark"] .dashboard-checks div {
  border-color: var(--border);
  background-color: var(--surface-muted);
  color: var(--text);
}

:root[data-theme="dark"] .dashboard-health-ring {
  background:
    radial-gradient(circle at center, var(--surface-muted) 0 58%, transparent 59%),
    conic-gradient(var(--primary) 0 var(--score), color-mix(in srgb, var(--border) 70%, var(--surface)) var(--score) 100%);
}

:root[data-theme="dark"] .system-hero {
  background:
    radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--info) 20%, transparent), transparent 26%),
    linear-gradient(135deg, color-mix(in srgb, var(--success) 10%, var(--surface)), var(--surface) 58%);
}

:root[data-theme="dark"] .system-status-card,
:root[data-theme="dark"] .system-integration-list > div,
:root[data-theme="dark"] .system-maintenance-list > div {
  border-color: var(--border);
  background-color: var(--surface-muted);
  color: var(--text);
}

:root[data-theme="dark"] .settings-summary-card,
:root[data-theme="dark"] .settings-section,
:root[data-theme="dark"] .settings-switch-row,
:root[data-theme="dark"] .settings-checkbox-card {
  border-color: var(--border);
  background-color: var(--surface);
  color: var(--text);
}

:root[data-theme="dark"] .settings-section {
  background-color: var(--surface-muted);
}

:root[data-theme="dark"] .settings-checkbox-card.is-active {
  border-color: color-mix(in srgb, var(--primary) 30%, var(--border));
  background: color-mix(in srgb, var(--primary) 10%, var(--surface));
}

:root[data-theme="dark"] .docs-hero-stats span,
:root[data-theme="dark"] .docs-article-meta span {
  border-color: color-mix(in srgb, var(--primary) 24%, var(--border));
  background: color-mix(in srgb, var(--primary) 10%, var(--surface-muted));
}

:root[data-theme="dark"] .component-preview-card,
:root[data-theme="dark"] .surface-muted,
:root[data-theme="dark"] .chip-expand-panel,
:root[data-theme="dark"] .ops-search,
:root[data-theme="dark"] .ops-segmented,
:root[data-theme="dark"] .table-demo-search,
:root[data-theme="dark"] .autocomplete-control,
:root[data-theme="dark"] .nexus-select-control,
:root[data-theme="dark"] .textarea-control,
:root[data-theme="dark"] .textfield-control,
:root[data-theme="dark"] .date-time-picker-control {
  background-color: var(--surface-muted);
  border-color: var(--border);
  color: var(--text);
}

:root[data-theme="dark"] .autocomplete-field.is-focused .autocomplete-control,
:root[data-theme="dark"] .autocomplete-field.is-open .autocomplete-control,
:root[data-theme="dark"] .autocomplete-field:focus-within .autocomplete-control,
:root[data-theme="dark"] .nexus-select-field.is-focused .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field.is-open .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field:focus-within .nexus-select-control,
:root[data-theme="dark"] .nexus-select-control:focus-visible {
  border-color: var(--textfield-focus-color, var(--primary));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--textfield-focus-color, var(--primary)) 12%, transparent);
}

:root[data-theme="dark"] .autocomplete-field.variant-underlined.is-focused .autocomplete-control,
:root[data-theme="dark"] .autocomplete-field.variant-underlined.is-open .autocomplete-control,
:root[data-theme="dark"] .autocomplete-field.variant-underlined:focus-within .autocomplete-control,
:root[data-theme="dark"] .nexus-select-field.variant-underlined.is-focused .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field.variant-underlined.is-open .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field.variant-underlined:focus-within .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field.variant-underlined .nexus-select-control:focus-visible {
  box-shadow: none;
  border-color: transparent;
  border-bottom-color: var(--textfield-focus-color, var(--primary));
}

:root[data-theme="dark"] .autocomplete-field.variant-plain.is-focused .autocomplete-control,
:root[data-theme="dark"] .autocomplete-field.variant-plain.is-open .autocomplete-control,
:root[data-theme="dark"] .autocomplete-field.variant-plain:focus-within .autocomplete-control,
:root[data-theme="dark"] .nexus-select-field.variant-plain.is-focused .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field.variant-plain.is-open .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field.variant-plain:focus-within .nexus-select-control,
:root[data-theme="dark"] .nexus-select-field.variant-plain .nexus-select-control:focus-visible {
  border-color: transparent;
  box-shadow: inset 0 -1px 0 0 var(--textfield-focus-color, var(--primary));
  background: color-mix(in srgb, var(--primary) 4%, transparent);
}

:root[data-theme="dark"] table,
:root[data-theme="dark"] .table-demo-table {
  background: var(--surface);
  color: var(--text);
}

:root[data-theme="dark"] th,
:root[data-theme="dark"] .table-demo-table th {
  background: var(--surface-muted);
  color: var(--muted);
}

:root[data-theme="dark"] td,
:root[data-theme="dark"] .table-demo-table td {
  border-color: var(--border);
  color: var(--text);
}

:root[data-theme="dark"] tbody tr:hover,
:root[data-theme="dark"] .table-demo-table tbody tr:hover td,
:root[data-theme="dark"] .ops-table-wrap tbody tr:hover {
  background: color-mix(in srgb, var(--primary) 8%, var(--surface));
}

:root[data-theme="dark"] .table-demo-wrap.is-themed th,
:root[data-theme="dark"] .table-demo-group-row td {
  background: color-mix(in srgb, var(--primary) 15%, var(--surface)) !important;
  color: var(--primary-strong);
}

:root[data-theme="dark"] .table-demo-wrap.is-themed tbody tr:nth-child(even) td,
:root[data-theme="dark"] .table-demo-expanded-row td {
  background: color-mix(in srgb, var(--surface-muted) 72%, var(--surface)) !important;
}

:root[data-theme="dark"] .status-badge.tone-neutral {
  background: color-mix(in srgb, var(--muted) 18%, var(--surface));
  color: var(--muted);
}

:root[data-theme="dark"] .status-badge.tone-success,
:root[data-theme="dark"] .validation-result.is-valid {
  background: color-mix(in srgb, var(--success) 16%, var(--surface));
  color: var(--success);
}

:root[data-theme="dark"] .status-badge.tone-warning,
:root[data-theme="dark"] .validation-result.is-invalid {
  background: color-mix(in srgb, var(--warning) 16%, var(--surface));
  color: var(--warning);
}

:root[data-theme="dark"] .status-badge.tone-danger {
  background: color-mix(in srgb, var(--danger) 16%, var(--surface));
  color: var(--danger);
}

:root[data-theme="dark"] .status-badge.tone-info {
  background: color-mix(in srgb, var(--info) 16%, var(--surface));
  color: var(--info);
}

:root[data-theme="dark"] .table-action,
:root[data-theme="dark"] .icon-button,
:root[data-theme="dark"] .user-button,
:root[data-theme="dark"] .topbar-search,
:root[data-theme="dark"] .component-btn.variant-outlined,
:root[data-theme="dark"] .component-btn.variant-plain {
  border-color: var(--border);
  background-color: var(--surface);
  color: var(--text);
}

:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .menu-panel,
:root[data-theme="dark"] .autocomplete-menu,
:root[data-theme="dark"] .nexus-select-menu,
:root[data-theme="dark"] .flatpickr-calendar {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text);
}

:root[data-theme="dark"] .autocomplete-option,
:root[data-theme="dark"] .nexus-select-option,
:root[data-theme="dark"] .menu-item,
:root[data-theme="dark"] .dropdown-menu a,
:root[data-theme="dark"] .dropdown-menu button {
  color: var(--text);
}

:root[data-theme="dark"] .autocomplete-option:hover,
:root[data-theme="dark"] .autocomplete-option.is-selected,
:root[data-theme="dark"] .nexus-select-option:hover,
:root[data-theme="dark"] .nexus-select-option.is-selected,
:root[data-theme="dark"] .menu-item:hover,
:root[data-theme="dark"] .dropdown-menu a:hover,
:root[data-theme="dark"] .dropdown-menu button:hover {
  background: var(--surface-muted);
}

:root[data-theme="dark"] .form-demo-copy,
:root[data-theme="dark"] .form-demo-note,
:root[data-theme="dark"] .text-secondary,
:root[data-theme="dark"] .component-preview-card p,
:root[data-theme="dark"] .component-tile small,
:root[data-theme="dark"] .cards-demo-muted,
:root[data-theme="dark"] .table-demo-toolbar > span,
:root[data-theme="dark"] .table-demo-selection-summary,
:root[data-theme="dark"] .table-demo-product-cell span:not(.avatar),
:root[data-theme="dark"] .table-demo-buyer span,
:root[data-theme="dark"] .breadcrumbs,
:root[data-theme="dark"] .dropdown-menu small,
:root[data-theme="dark"] .notification-item small,
:root[data-theme="dark"] .user-menu-profile small {
  color: var(--muted);
}

:root[data-theme="dark"] .nexus-textarea-field textarea::placeholder,
:root[data-theme="dark"] .nexus-textfield-input-row input::placeholder,
:root[data-theme="dark"] .date-time-picker-input::placeholder {
  color: color-mix(in srgb, var(--muted) 78%, transparent);
}

:root[data-theme="dark"] .component-preview-card strong,
:root[data-theme="dark"] .component-tile strong,
:root[data-theme="dark"] .table-demo-product-cell strong,
:root[data-theme="dark"] .table-demo-buyer strong,
:root[data-theme="dark"] .section-header h1,
:root[data-theme="dark"] .section-header h2,
:root[data-theme="dark"] .dropdown-head strong,
:root[data-theme="dark"] .notification-item strong,
:root[data-theme="dark"] .user-menu-profile strong {
  color: var(--text);
}

:root[data-theme="dark"] .cards-demo-icon {
  background: color-mix(in srgb, var(--primary) 16%, var(--surface));
}

:root[data-theme="dark"] .cards-demo-icon.tone-success {
  background: color-mix(in srgb, var(--success) 16%, var(--surface));
}

:root[data-theme="dark"] .cards-demo-icon.tone-warning {
  background: color-mix(in srgb, var(--warning) 16%, var(--surface));
}

:root[data-theme="dark"] .cards-demo-icon.tone-danger {
  background: color-mix(in srgb, var(--danger) 16%, var(--surface));
}

:root[data-theme="dark"] .cards-demo-icon.tone-info {
  background: color-mix(in srgb, var(--info) 16%, var(--surface));
}

:root[data-theme="dark"] .progress-track,
:root[data-theme="dark"] .form-demo-range-track,
:root[data-theme="dark"] .calendar-grid,
:root[data-theme="dark"] .calendar-day {
  background: var(--surface-muted);
}

:root[data-theme="dark"] .tabs-strip.is-contained .tab-link.is-active,
:root[data-theme="dark"] .tabs-strip.is-contained .tab-pill.is-active {
  background: var(--surface);
}

:root[data-theme="dark"] .component-btn.variant-tonal.tone-secondary,
:root[data-theme="dark"] .component-btn.variant-outlined.tone-secondary,
:root[data-theme="dark"] .component-btn.variant-flat.tone-secondary,
:root[data-theme="dark"] .component-btn.variant-plain.tone-secondary,
:root[data-theme="dark"] .form-demo-editor-chip {
  color: var(--muted);
}

:root[data-theme="dark"] .component-btn.variant-tonal.tone-secondary,
:root[data-theme="dark"] .component-btn.variant-outlined.tone-secondary,
:root[data-theme="dark"] .component-btn.variant-flat.tone-secondary,
:root[data-theme="dark"] .component-btn.variant-plain.tone-secondary {
  color: var(--text);
}

:root[data-theme="dark"] .component-btn.variant-tonal.tone-secondary {
  border-color: color-mix(in srgb, var(--muted) 24%, var(--border));
  background: color-mix(in srgb, var(--muted) 16%, var(--surface));
}

:root[data-theme="dark"] .component-btn.variant-outlined.tone-secondary {
  border-color: color-mix(in srgb, var(--muted) 34%, var(--border));
  background: transparent;
}

:root[data-theme="dark"] .ops-hero {
  border-color: color-mix(in srgb, var(--ops-tone) 26%, var(--border));
  background:
    radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--ops-tone) 22%, transparent), transparent 24%),
    linear-gradient(135deg, color-mix(in srgb, var(--ops-tone) 11%, var(--surface)), var(--surface));
  box-shadow: 0 16px 38px rgba(15, 16, 28, 0.24);
}

:root[data-theme="dark"] .ops-kicker {
  background: color-mix(in srgb, var(--ops-tone) 18%, var(--surface));
  color: color-mix(in srgb, var(--ops-tone) 72%, var(--text));
}

:root[data-theme="dark"] .ops-radial {
  background: var(--surface-muted);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ops-tone) 22%, var(--border));
}

:root[data-theme="dark"] .ops-radial > span {
  background:
    radial-gradient(circle at center, var(--surface-muted) 0 58%, transparent 59%),
    conic-gradient(var(--ops-tone) 0 var(--value), color-mix(in srgb, var(--border) 78%, var(--surface)) var(--value) 100%);
}

:root[data-theme="dark"] .ops-stat-card,
:root[data-theme="dark"] .ops-category-card,
:root[data-theme="dark"] .ops-zone-grid > div,
:root[data-theme="dark"] .ops-lane {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text);
}

:root[data-theme="dark"] .ops-search input {
  background: transparent;
  color: var(--text);
}

:root[data-theme="dark"] .ops-segmented button {
  color: var(--muted);
}

:root[data-theme="dark"] .ops-segmented button.is-active {
  background: var(--surface);
  color: var(--primary-strong);
  box-shadow: 0 4px 12px rgba(15, 16, 28, 0.24);
}

:root[data-theme="dark"] .ops-action-list button,
:root[data-theme="dark"] .ops-aging-list > div,
:root[data-theme="dark"] .ops-metric-list div,
:root[data-theme="dark"] .ops-timeline div,
:root[data-theme="dark"] .ops-lane button {
  border-color: var(--border);
  background: var(--surface-muted);
  color: var(--text);
}

:root[data-theme="dark"] .ops-action-list button:hover,
:root[data-theme="dark"] .ops-lane button:hover {
  border-color: color-mix(in srgb, var(--primary) 36%, var(--border));
  background: color-mix(in srgb, var(--primary) 10%, var(--surface));
}

:root[data-theme="dark"] .ops-timeline div > span {
  background: color-mix(in srgb, var(--muted) 18%, var(--surface));
  color: var(--muted);
}

:root[data-theme="dark"] .ops-timeline div.is-complete > span {
  background: color-mix(in srgb, var(--success) 18%, var(--surface));
  color: var(--success);
}

:root[data-theme="dark"] .ops-entity i {
  background: color-mix(in srgb, var(--primary) 16%, var(--surface));
  color: var(--primary-strong);
}

:root[data-theme="dark"] .ops-progress {
  background: color-mix(in srgb, var(--border) 66%, var(--surface));
}

:root[data-theme="dark"] .ops-wave-bars {
  background: var(--surface-muted);
}

:root[data-theme="dark"] .auth-page {
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--primary) 18%, transparent), transparent 28%),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--info) 14%, transparent), transparent 30%),
    linear-gradient(135deg, var(--bg) 0%, color-mix(in srgb, var(--surface) 60%, var(--bg)) 100%);
  color: var(--text);
}

:root[data-theme="dark"] .auth-panel {
  border-color: color-mix(in srgb, var(--border) 84%, transparent);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: 0 22px 60px rgba(15, 16, 28, 0.38);
  color: var(--text);
}

:root[data-theme="dark"] .auth-brand,
:root[data-theme="dark"] .auth-copy h1,
:root[data-theme="dark"] .auth-mail-card strong,
:root[data-theme="dark"] .auth-device strong {
  color: var(--text);
}

:root[data-theme="dark"] .auth-brand small,
:root[data-theme="dark"] .auth-copy p,
:root[data-theme="dark"] .auth-switch-copy,
:root[data-theme="dark"] .auth-mail-card small,
:root[data-theme="dark"] .auth-stepper span {
  color: var(--muted);
}

:root[data-theme="dark"] .auth-mail-card {
  border-color: color-mix(in srgb, var(--primary) 34%, var(--border));
  background: color-mix(in srgb, var(--primary) 10%, var(--surface-muted));
}

:root[data-theme="dark"] .auth-otp-row input {
  border-color: var(--border);
  background: var(--surface-muted);
  color: var(--text);
}

:root[data-theme="dark"] .auth-stepper i {
  background: var(--surface-muted);
  color: inherit;
}

:root[data-theme="dark"] .auth-stepper span.is-active {
  color: var(--primary-strong);
}

:root[data-theme="dark"] .auth-stepper span.is-active i {
  background: color-mix(in srgb, var(--primary) 18%, var(--surface));
}

:root[data-theme="dark"] .auth-page .nexus-textfield-label,
:root[data-theme="dark"] .auth-page .nexus-checkbox-label {
  color: var(--text);
}

:root[data-theme="dark"] .auth-page .nexus-textfield-shell {
  border-color: var(--border);
  background: var(--surface-muted);
  color: var(--text);
}

:root[data-theme="dark"] .auth-page .nexus-textfield-input-row input {
  background: transparent;
  color: var(--text);
}

:root[data-theme="dark"] .auth-page .nexus-checkbox-box {
  border-color: var(--border);
  background: var(--surface-muted);
}

:root[data-theme="dark"] .auth-page .nexus-checkbox.color-primary.is-active .nexus-checkbox-box {
  border-color: var(--primary);
  background: var(--primary);
}

@media (max-width: 900px) {
  :root[data-theme="dark"] .auth-page.is-split .auth-panel {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
  }
}

:root[data-theme="dark"] .form-demo-editor-chip {
  background: color-mix(in srgb, var(--muted) 14%, var(--surface));
}

:root[data-theme="dark"] .component-spinner {
  border-color: var(--border);
  border-top-color: var(--primary);
}

:root[data-theme="dark"] .modal-scrim,
:root[data-theme="dark"] .drawer-scrim {
  background: rgba(10, 11, 20, 0.62);
}

.login-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.auth-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.login-page .nexus-textfield-input-row input,
.auth-page .nexus-textfield-input-row input {
  font-size: 16px !important;
  line-height: 22px;
}
