/*/var/www/clients/client1/web134/web/.admin/public/css/main.css*/@charset "UTF-8";
/* Do not edit - this file is generated/managed by the template */
/* _welcomev2.scss
 * The welcome page uses .proto-screen.welcome-screen as its outer wrapper.
 * .proto-screen on desktop is styled as a 30vw right-side push-drawer
 * (see _desktopv2.scss D3/D3b). The welcome page is a standalone landing
 * page, not a stacked screen, so it must opt out of the drawer positioning
 * and flow inline in the main content column.
 *
 * Behavior: at every breakpoint where _desktopv2.scss positions .proto-screen
 * absolutely/fixedly, .proto-screen.welcome-screen reverts to in-flow layout.
 */
/* Desktop (>=720px): the wide-desktop 30vw drawer rule is overridden;
 * the welcome page fills the content column instead. */
@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");
/* Do not edit - this file is generated/managed by the template */
/* Selectbox */
.select-label {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-family: arial;
  margin-right: 7px;
}

.select-label[disabled] {
  opacity: 0.6;
  cursor: default;
}

.select-label[disabled] .select-label-span {
  cursor: default;
  background: none;
}

.select-label[disabled] .select-label-span:focus {
  border-color: rgb(209.1, 246.72, 241.14);
}

.select-label * {
  list-style: none;
}

.select-label *:focus, .select-label *:active {
  outline: none;
  border-color: rgb(26.95, 199.55, 203.9);
}

.select-label .mobile-header {
  background: rgb(204, 245.8, 239.6);
  left: 0;
  margin-top: -48px;
  opacity: 0;
  padding: 11px 15px;
  position: fixed;
  right: 0;
  text-align: right;
  top: 55%;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 1000000;
}

.select-label .mobile-header .select-close-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgb(234.6, 251.32, 248.84);
  border-radius: 50%;
  width: 35px;
  height: 35px;
  cursor: pointer;
  font-size: 0;
}
.select-label .mobile-header .select-close-button::before {
  font-family: "remixicon";
  content: "\eb99";
  font-size: 20px;
  color: rgb(0, 45.98, 39.16);
  line-height: 1;
}

.select-label.mobile {
  position: static;
}

#body .select-label.mobile.show .mobile-header {
  opacity: 1;
  visibility: visible;
}

#body .select-label.mobile ul.scrollable.select-element {
  bottom: 0 !important;
  max-height: 100%;
  top: 55% !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
}

.select-label.mobile ul li,
.select-label.mobile ul li:first-child {
  font-size: 20px;
  padding: 15px 25px;
  position: relative;
}

.select-label.mobile[multiple] li:before {
  content: "";
  background: #fff;
  border: 1px solid rgb(209.1, 246.72, 241.14);
  height: 29px;
  width: 29px;
  position: absolute;
  right: 25px;
  top: 15px;
}

.select-label.mobile[multiple] li:after {
  content: "✓";
  color: #00d1b2;
  font-size: 22px;
  font-weight: bold;
  line-height: 29px;
  text-align: center;
  height: 29px;
  width: 29px;
  opacity: 0;
  position: absolute;
  right: 25px;
  top: 15px;
  z-index: 999;
  transition: opacity 0.3s;
  background: none;
}

.select-label.mobile[multiple] li.selected:after {
  opacity: 1;
}

.select-label.show ul {
  opacity: 1;
  visibility: visible;
}

.select-label.show-top ul {
  bottom: 35px;
}

.select-label ul {
  position: fixed;
  border: 1px solid rgb(209.1, 246.72, 241.14);
  cursor: pointer;
  opacity: 0;
  padding: 0;
  margin: 0;
  margin-top: -3px;
  visibility: hidden;
  left: 0;
  right: 0;
  background: #fff;
  max-height: 330px;
  overflow-y: scroll;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 999999;
  transition: opacity 0.2s, visibility 0.2s;
}

.select-label ul li {
  display: block;
  list-style: none;
  overflow: hidden;
  padding: 10px 15px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: color 0.2s, background 0.2s;
}

.select-label ul li.default {
  color: rgb(0, 133.76, 113.92);
}

.select-label ul li:first-child {
  padding: 10px 15px;
}

.select-label ul li strong {
  font-weight: normal;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.select-label ul li i {
  font-style: normal;
  background: #ffca57;
}

.select-label ul li:hover, .select-label ul li.hovered {
  background: rgb(204, 245.8, 239.6);
}

.select-label ul li.selected {
  color: #fff;
  background: #00d1b2;
}

.select-label ul li.selected.hovered {
  background: rgb(89.25, 225.1, 204.95);
}

.select-label-span {
  background: #fff url(../img/selectbox-arrow.png) no-repeat right 10px center;
  border: 1px solid rgb(209.1, 246.72, 241.14);
  font-size: 0.875em;
  color: rgb(0, 31.35, 26.7);
  display: inline-block;
  cursor: pointer;
  font-weight: lighter;
  padding: 9px 10px 8px;
  width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.select-label-span.selected i {
  font-style: normal;
  background: #00d1b2;
  color: #fff;
}

.select-label-span.default {
  color: rgb(0, 133.76, 113.92);
}

.select-label.js-select-label.mobile {
  position: initial;
}

.select-label-span {
  box-sizing: border-box;
  height: 40px;
  width: 100%;
  padding: 0 10px;
  line-height: 40px;
  border-radius: 4px;
  text-align: left;
}

.select-label.js-select-label {
  position: relative;
}
.select-label.js-select-label ul.scrollable.select-element {
  position: absolute;
  top: 100%;
  width: 100%;
  left: 0;
}

/* ============================================================
   Variant A — "Refined Classic"
   Familiar table-style list, modernized: lighter borders,
   Stripe-y ink, mint as accent, comfortable density.
   Class prefix: .va-
============================================================ */
/* ===== DESKTOP ===== */
.va-desk {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #f6f9fc;
}

.va-desk .va-topbar {
  height: 56px;
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 16px;
}

.va-desk .va-crumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #8898aa;
}

.va-desk .va-crumbs i {
  color: #aab4be;
  font-size: 14px;
}

.va-desk .va-crumbs .cur {
  color: #0a2540;
  font-weight: 600;
}

.va-desk .va-topbar .spacer {
  flex: 1;
}

.va-desk .va-topbar .icon-btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid transparent;
  display: grid;
  place-items: center;
  color: #5b6376;
  font-size: 17px;
  cursor: pointer;
}

.va-desk .va-topbar .icon-btn:hover {
  background: #f6f9fc;
}

.va-desk .va-main {
  flex: 1;
  padding: 24px 28px 0;
  overflow: auto;
}

.va-desk .va-head {
  display: flex;
  align-items: end;
  gap: 14px;
  margin-bottom: 18px;
}

.va-desk .va-head h1 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0a2540;
}

.va-desk .va-head .va-count {
  font-size: 13px;
  color: #8898aa;
  padding-bottom: 4px;
}

.va-desk .va-head .spacer {
  flex: 1;
}

.va-desk .va-head .btn {
  height: 34px;
  padding: 0 14px;
  border-radius: 6px;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #3c4257;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.va-desk .va-head .btn:hover {
  background: #f6f9fc;
  border-color: #cdd5df;
}

.va-desk .va-head .btn.primary {
  background: #00d1b2;
  border-color: #00d1b2;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 209, 178, 0.25);
}

.va-desk .va-head .btn.primary:hover {
  background: #00b89a;
  border-color: #00b89a;
}

.va-desk .va-head .btn i {
  font-size: 16px;
}

.va-desk .va-card {
  background: #ffffff;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

.va-desk .va-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid #eef1f5;
}

.va-desk .va-search {
  position: relative;
  flex: 1;
  max-width: 340px;
}

.va-desk .va-search input {
  width: 100%;
  height: 32px;
  padding: 0 10px 0 32px;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  font-size: 13px;
  color: #3c4257;
  background: #fff;
  outline: none;
  transition: border-color 0.12s, box-shadow 0.12s;
}

.va-desk .va-search input::placeholder {
  color: #aab4be;
}

.va-desk .va-search input:focus {
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px #d4f3ed;
}

.va-desk .va-search > i {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #8898aa;
  font-size: 15px;
}

.va-desk .va-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 11px;
  border-radius: 6px;
  border: 1px dashed #cdd5df;
  background: #fff;
  color: #5b6376;
  font-size: 12.5px;
  cursor: pointer;
}

.va-desk .va-filter:hover {
  background: #f6f9fc;
  border-style: solid;
}

.va-desk .va-filter i {
  font-size: 14px;
}

.va-desk .va-filter .lbl-key {
  color: #8898aa;
}

.va-desk .va-filter .lbl-val {
  color: #0a2540;
  font-weight: 500;
  padding-left: 4px;
}

.va-desk .va-toolbar .spacer {
  flex: 1;
}

.va-desk .va-shortcut {
  font-size: 12px;
  color: #aab4be;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Table */
.va-desk table.va-table {
  width: 100%;
  border-collapse: collapse;
}

.va-desk .va-table thead th {
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8898aa;
  padding: 10px 14px;
  background: #fafbfd;
  border-bottom: 1px solid #e3e8ee;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.va-desk .va-table thead th:hover {
  color: #3c4257;
}

.va-desk .va-table thead th .sort {
  opacity: 0.4;
  margin-left: 4px;
  font-size: 12px;
}

.va-desk .va-table thead th.is-sorted .sort {
  opacity: 1;
  color: #009b82;
}

.va-desk .va-table thead th.num, .va-desk .va-table tbody td.num {
  text-align: right;
}

.va-desk .va-table tbody tr {
  border-bottom: 1px solid #eef1f5;
  transition: background 0.08s;
  cursor: pointer;
}

.va-desk .va-table tbody tr:hover {
  background: #f6fbfa;
}

.va-desk .va-table tbody tr:last-child {
  border-bottom: none;
}

.va-desk .va-table tbody td {
  padding: 11px 14px;
  font-size: 13px;
  vertical-align: middle;
}

.va-desk .va-table td.name {
  font-weight: 600;
  color: #0a2540;
}

.va-desk .va-table td .flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: #ecfbf7;
  color: #009b82;
  font-size: 10px;
  font-weight: 700;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  margin-right: 9px;
  vertical-align: -5px;
  border: 1px solid #d4f3ed;
}

.va-desk .va-table td.code {
  color: #5b6376;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
}

.va-desk .va-table td.tz {
  color: #5b6376;
}

.va-desk .va-table td.tzcode {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  color: #8898aa;
}

.va-desk .va-table td.prio {
  color: #3c4257;
  font-variant-numeric: tabular-nums;
}

.va-desk .va-table td.cur {
  color: #3c4257;
}

.va-desk .va-table td.cur .pill-cur {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 5px;
  background: #f6f9fc;
  border: 1px solid #eef1f5;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 500;
  color: #3c4257;
}

.va-desk .va-table td.actions {
  width: 60px;
  text-align: right;
}

.va-desk .va-table td.actions .row-act {
  opacity: 0;
  display: inline-flex;
  gap: 2px;
  transition: opacity 0.1s;
}

.va-desk .va-table tbody tr:hover td.actions .row-act {
  opacity: 1;
}

.va-desk .va-table td.actions button {
  width: 28px;
  height: 28px;
  border-radius: 5px;
  background: transparent;
  border: none;
  color: #8898aa;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 15px;
}

.va-desk .va-table td.actions button:hover {
  background: #f6f9fc;
  color: #0a2540;
}

.va-desk .va-table td.actions button.del:hover {
  background: #fdebef;
  color: #df1b41;
}

.va-desk .va-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-top: 1px solid #eef1f5;
  font-size: 12.5px;
  color: #8898aa;
}

.va-desk .va-foot .spacer {
  flex: 1;
}

.va-desk .va-foot .va-pager {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.va-desk .va-foot .va-pager button {
  width: 28px;
  height: 28px;
  border-radius: 5px;
  background: transparent;
  border: 1px solid #e3e8ee;
  color: #5b6376;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 13px;
}

.va-desk .va-foot .va-pager button:hover {
  background: #f6f9fc;
  color: #0a2540;
}

.va-desk .va-foot .va-pager button.disabled {
  opacity: 0.4;
  cursor: default;
}

/* ===== MOBILE ===== */
/* Legacy chrome bar (toggle-menu + Add new) is replaced on mobile by
   the guideline chrome (.app-topbar + the list's own .va-mob-header).
   Hidden everywhere so its leftover controls don't leak (e.g. the
   stray bottom hamburger on non-list pages). Form.php renames this
   container to .legacy-list-toolbar; the old .sw-header class name
   now belongs to the new drawer scaffold (spec) and must NOT be
   hidden. !important + body scope to beat the legacy rules that
   compile after this partial (same cascade issue as .left-panel). */
body .legacy-list-toolbar {
  display: none !important;
}

.va-mob {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #f6f9fc;
}

.va-mob .va-mob-header {
  background: #fff;
  padding: 0 14px 10px;
  border-bottom: 1px solid #e3e8ee;
}

.va-mob .va-mob-row1 {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 44px;
}

.va-mob .va-mob-row1 .back {
  width: 30px;
  height: 30px;
  margin-left: -6px;
  display: grid;
  place-items: center;
  color: #009b82;
  font-size: 22px;
}

.va-mob .va-mob-row1 .title {
  font-size: 17px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.01em;
  flex: 1;
}

.va-mob .va-mob-row1 .count {
  background: #ecfbf7;
  color: #009b82;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
}

.va-mob .va-mob-row1 .add-btn {
  background: #00d1b2;
  color: #fff;
  border: none;
  height: 32px;
  padding: 0 12px 0 9px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 1px 2px rgba(0, 209, 178, 0.3);
  cursor: pointer;
}

.va-mob .va-mob-row1 .add-btn i {
  font-size: 16px;
}

.va-mob .va-mob-search {
  position: relative;
  margin-top: 6px;
}

.va-mob .va-mob-search input {
  width: 100%;
  height: 38px;
  padding: 0 12px 0 38px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 14px;
  color: #3c4257;
  background: #fafbfd;
  outline: none;
  -webkit-appearance: none;
}

.va-mob .va-mob-search input::placeholder {
  color: #aab4be;
}

.va-mob .va-mob-search input:focus {
  border-color: #00d1b2;
  background: #fff;
}

.va-mob .va-mob-search > i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #8898aa;
  font-size: 17px;
}

.va-mob .va-mob-search .va-mob-filter-btn {
  position: absolute;
  right: 4px;
  top: 4px;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: transparent;
  border: none;
  color: #5b6376;
  display: grid;
  place-items: center;
  font-size: 17px;
  cursor: pointer;
  z-index: 2;
}

.va-mob .va-mob-search .va-mob-filter-btn:active {
  background: #f6f9fc;
}

.va-mob .va-mob-search .va-mob-searchform {
  position: static;
}

.va-mob .va-mob-search .va-mob-searchform .ac-search-item {
  display: none;
}

.va-mob .va-mob-search .va-mob-searchform .va-mob-search-inline {
  display: block;
}

.va-mob .va-mob-search .va-mob-searchform .va-mob-search-inline .ac-search-item {
  display: block;
}

.va-mob .va-mob-search .va-mob-searchform .va-mob-search-inline input,
.va-mob .va-mob-search .va-mob-searchform .va-mob-search-inline select,
.va-mob .va-mob-search .va-mob-searchform .va-mob-search-inline .selextbox-input {
  width: 100%;
  height: 38px;
  padding: 0 40px 0 38px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 14px;
  color: #3c4257;
  background: #fafbfd;
  outline: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}

.va-mob .va-mob-search .va-mob-searchform .va-mob-search-inline input:focus,
.va-mob .va-mob-search .va-mob-searchform .va-mob-search-inline select:focus {
  border-color: #00d1b2;
  background: #fff;
}

.va-mob .va-mob-search .va-mob-searchform > .ac-action-buttons {
  display: none;
}

/* ===== Region 4 — advanced-filter surface (mobile bottom sheet) =====
 * position:fixed escapes the .va-mob-search / list-card overflow (the
 * documented clip risk); JS toggles `hidden` + `.open`. The panel reuses
 * the .proto-sheet slide-up recipe (transform translateY). Desktop
 * re-skins .va-filter-panel to an anchored popover in _desktopv2. */
.va-filter-surface {
  position: fixed;
  inset: 0;
  z-index: 130;
  opacity: 1;
}

.va-filter-surface[hidden] {
  display: none;
}

.va-filter-surface .va-filter-dim {
  position: absolute;
  inset: 0;
  background: rgba(10, 37, 64, 0.42);
  opacity: 0;
  transition: opacity 0.22s ease;
}

.va-filter-surface.open .va-filter-dim {
  opacity: 1;
}

.va-filter-panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  border-radius: 16px 16px 0 0;
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  transform: translateY(100%);
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0.32, 1);
  box-shadow: 0 -12px 32px rgba(10, 37, 64, 0.18);
  outline: none;
}

.va-filter-surface.open .va-filter-panel {
  transform: translateY(0);
}

.va-filter-panel .sheet-handle {
  width: 36px;
  height: 4px;
  border-radius: 999px;
  background: #e3e8ee;
  margin: 8px auto 4px;
}

.va-filter-panel .sheet-head {
  display: flex;
  align-items: center;
  padding: 6px 16px 12px;
  border-bottom: 1px solid #e3e8ee;
}

.va-filter-panel .sheet-title {
  flex: 1;
  font-size: 15.5px;
  font-weight: 700;
  color: #0a2540;
}

.va-filter-panel .sheet-close {
  width: 30px;
  height: 30px;
  border: none;
  background: #f6f9fc;
  color: #5b6376;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-size: 18px;
  cursor: pointer;
}

.va-filter-panel .sheet-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.va-fblock {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.va-fblock-lbl {
  font-size: 11px;
  font-weight: 600;
  color: #5b6376;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.va-fgroup-cap {
  font-size: 11px;
  font-weight: 700;
  color: #8898aa;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 4px;
}

.va-fsearch {
  position: relative;
}

.va-fsearch > i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #8898aa;
  font-size: 17px;
}

.va-fsearch-input {
  width: 100%;
  height: 40px;
  padding: 0 14px 0 38px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 14px;
  color: #3c4257;
  background: #fafbfd;
  outline: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}

.va-fsearch-input:focus {
  border-color: #00d1b2;
  background: #fff;
}

.va-fchips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.va-fchip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f6f9fc;
  border: 1px solid #e3e8ee;
  font-size: 12.5px;
  color: #5b6376;
  white-space: nowrap;
  cursor: pointer;
}

.va-fchip.active {
  background: #ecfbf7;
  border-color: #a8e5d8;
  color: #009b82;
  font-weight: 600;
}

.va-fseg {
  display: flex;
  gap: 2px;
  padding: 3px;
  background: #f6f9fc;
  border: 1px solid #e3e8ee;
  border-radius: 9px;
}

.va-fseg-opt {
  flex: 1;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 7px;
  font-size: 12.5px;
  font-weight: 600;
  color: #5b6376;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.14s ease, color 0.14s ease;
}

.va-fseg-opt.active {
  background: #fff;
  color: #0a2540;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.12);
}

.va-mob .va-mob-search .va-mob-searchform .va-fblock-seg .ac-search-item,
.va-mob .va-mob-search .va-mob-searchform .va-fblock-multi .ac-search-item {
  display: none;
}

.va-mob .va-mob-search .va-mob-searchform .va-fselect .ac-search-item {
  display: block;
}

.va-fblock-select {
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.va-fblock-select .va-fblock-lbl {
  flex: 0 0 auto;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: #3c4257;
}

.va-fblock-select .va-fselect {
  flex: 1 1 auto;
  min-width: 0;
}

.va-fselect .js-select-label,
.va-fselect select {
  width: 100%;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 14px;
  color: #3c4257;
  background: #fafbfd;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

.va-fselect .js-select-label .select-label-span {
  border: none;
  background: transparent;
  width: 100%;
  height: auto;
  padding: 0;
  line-height: 1.2;
}

.va-fselect .js-select-label ul.scrollable.select-element {
  z-index: 1000000;
}

.va-filter-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #e3e8ee;
  background: #fff;
}

.va-filter-foot .va-fclear {
  border: none;
  background: transparent;
  color: #df1b41;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 4px;
}

.va-filter-foot .va-fcancel {
  margin-left: auto;
  height: 38px;
  padding: 0 16px;
  border: 1px solid #e3e8ee;
  background: #f6f9fc;
  color: #5b6376;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.va-filter-foot .va-fapply {
  height: 38px;
  padding: 0 18px;
  border: none;
  background: #00d1b2;
  color: #fff;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.va-filter-foot .va-fapply i {
  font-size: 16px;
}

/* Mobile hamburger: clean 36px icon button (not the global ri- blob). */
.va-mob .va-mob-row1 .menu-btn {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  margin-left: -6px;
  border: none;
  background: transparent;
  color: #0a2540;
  display: grid;
  place-items: center;
  font-size: 22px;
  cursor: pointer;
  padding: 0;
}

/* Mobile list rows are tap-to-edit; no inline delete (it lives in the
 * edit screen, matching the guideline country/clients rows). */
.va-mob .va-mob-list .va-mob-row .actionrow,
.va-mob .va-mob-list .va-mob-row td.actionrow {
  display: none;
}

/* Totals strip under the mobile list. */
.va-mob .bottomPagerRow {
  padding: 0;
}

.va-mob .totalLine {
  display: block;
  padding: 8px 14px 0;
  font-size: 12.5px;
  color: #5b6376;
  font-variant-numeric: tabular-nums;
}

/* ===== Sort affordance (A6) ===== *
 * Trigger lives in .va-mob-row1; the sheet is a fixed bottom sheet of
 * per-column buttons emitted by the generator (listSort). list.js owns
 * the .open toggle (no jQuery). */
.va-mob .va-mob-row1 .va-mob-sort-btn {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border: 1px solid #e3e8ee;
  background: #f6f9fc;
  color: #5b6376;
  border-radius: 6px;
  display: grid;
  place-items: center;
  font-size: 17px;
  cursor: pointer;
}

.va-mob .va-mob-row1 .va-mob-sort-btn:active {
  background: #fafbfd;
}

.va-mob-sortsheet {
  position: fixed;
  inset: 0;
  z-index: 70;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}

.va-mob-sortsheet.open {
  opacity: 1;
  pointer-events: auto;
}

.va-mob-sortsheet .va-mob-sortsheet-dim {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 32, 0.42);
}

.va-mob-sortsheet .va-mob-sortsheet-panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  border-radius: 16px 16px 0 0;
  max-height: 70vh;
  display: flex;
  flex-direction: column;
  transform: translateY(100%);
  transition: transform 0.22s ease;
  box-shadow: 0 -4px 24px rgba(15, 23, 32, 0.18);
}

.va-mob-sortsheet.open .va-mob-sortsheet-panel {
  transform: translateY(0);
}

.va-mob-sortsheet .sheet-handle {
  width: 36px;
  height: 4px;
  border-radius: 999px;
  background: #e3e8ee;
  margin: 8px auto 4px;
}

.va-mob-sortsheet .sheet-head {
  display: flex;
  align-items: center;
  padding: 6px 16px 10px;
  border-bottom: 1px solid #e3e8ee;
}

.va-mob-sortsheet .sheet-title {
  flex: 1;
  font-size: 15.5px;
  font-weight: 600;
  color: #0a2540;
}

.va-mob-sortsheet .sheet-close {
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  color: #8898aa;
  font-size: 20px;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.va-mob-sortsheet .va-mob-sortsheet-body {
  overflow-y: auto;
  padding: 4px 0 calc(14px + env(safe-area-inset-bottom));
}

.va-mob-sortsheet .va-mob-sortrow {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 13px 18px;
  font-size: 14px;
  color: #3c4257;
  border-bottom: 1px solid #e3e8ee;
  cursor: pointer;
}

.va-mob-sortsheet .va-mob-sortrow:last-child {
  border-bottom: none;
}

.va-mob-sortsheet .va-mob-sortrow:active {
  background: #f6f9fc;
}

.va-mob .va-mob-chips {
  display: flex;
  gap: 6px;
  padding: 10px 14px 6px;
  overflow-x: auto;
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
}

.va-mob .va-mob-chips::-webkit-scrollbar {
  display: none;
}

.va-mob .va-mob-chip {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f6f9fc;
  border: 1px solid #e3e8ee;
  font-size: 12px;
  color: #5b6376;
  white-space: nowrap;
}

.va-mob .va-mob-chip.active {
  background: #ecfbf7;
  border-color: #a8e5d8;
  color: #009b82;
  font-weight: 600;
}

.va-mob .va-mob-chip i {
  font-size: 13px;
}

.va-mob .va-mob-list {
  flex: 1;
  overflow-y: auto;
}

/* Empty-state for both .va-mob-list and the desktop .va-dt-table tbody.
 * The legacy emission is <p class="no-results"><span>Text</span></p>;
 * v2 reskin turns that into a centered card with an icon glyph.
 * The legacy main.scss :before rule loaded an SVG by URL — overridden
 * here with a remixicon glyph so it inherits color and crispness. */
.va-mob-list > p.no-results,
.va-dt-table p.no-results,
p.no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 48px 24px;
  background: transparent;
  color: #8898aa;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.va-mob-list > p.no-results::before,
.va-dt-table p.no-results::before,
p.no-results::before {
  content: "\ee4f";
  font-family: "remixicon";
  font-style: normal;
  font-weight: normal;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg, #fafbfd, #f3f6fa);
  border: 1px solid #eef1f5;
  color: #aab4be;
  font-size: 26px;
  line-height: 1;
  position: static;
  /* Cancel the legacy main.scss image-icon rule. */
  background-image: none;
}

.va-mob-list > p.no-results > span,
.va-dt-table p.no-results > span,
p.no-results > span {
  display: block;
  margin: 0;
  width: auto;
  color: #5b6376;
}

.va-mob .va-mob-sect-head {
  padding: 14px 14px 6px;
  font-size: 11px;
  font-weight: 600;
  color: #8898aa;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #f6f9fc;
  position: sticky;
  top: 0;
  z-index: 1;
  border-bottom: 1px solid #eef1f5;
}

.va-mob .va-mob-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #fff;
  border-bottom: 1px solid #eef1f5;
  cursor: pointer;
  transition: background 0.08s;
}

.va-mob .va-mob-row:active {
  background: #ecfbf7;
}

.va-mob .va-mob-row .badge {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #ecfbf7;
  border: 1px solid #d4f3ed;
  color: #009b82;
  display: grid;
  place-items: center;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.va-mob .va-mob-row .body {
  flex: 1;
  min-width: 0;
}

.va-mob .va-mob-row .name {
  font-size: 14.5px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.005em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.va-mob .va-mob-row .meta {
  font-size: 12px;
  color: #8898aa;
  margin-top: 2px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.va-mob .va-mob-row .meta .dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #aab4be;
  flex-shrink: 0;
}

.va-mob .va-mob-row .meta .mono-tag {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
}

.va-mob .va-mob-row .trail {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.va-mob .va-mob-row .prio {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  color: #aab4be;
}

.va-mob .va-mob-row .chev {
  color: #aab4be;
  font-size: 17px;
}

.va-mob .va-mob-row .cl-avatar {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
  flex-shrink: 0;
}

.va-mob .va-mob-row .name .cl-type {
  margin-left: 6px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: 3px;
  background: #ecfbf7;
  color: #009b82;
  border: 1px solid #d4f3ed;
  white-space: nowrap;
}

.va-mob .va-mob-row .name .cl-type-prospect {
  background: #ffedd5;
  color: #c2410c;
  border-color: #fed7aa;
}

.va-mob .va-mob-row .cl-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  font-weight: 600;
  padding: 3px 8px 3px 6px;
  border-radius: 999px;
  line-height: 1.3;
  white-space: nowrap;
  background: #eef1f5;
  color: #5b6376;
}

.va-mob .va-mob-row .cl-status .cl-status-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
  background: currentColor;
}

.va-mob .va-mob-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px calc(14px + env(safe-area-inset-bottom));
  background: #fff;
  border-top: 1px solid #e3e8ee;
  font-size: 12.5px;
  color: #8898aa;
}

.va-mob .va-mob-pager .pgr {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.va-mob .va-mob-pager .pgr button {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #5b6376;
  display: grid;
  place-items: center;
  font-size: 16px;
}

.va-mob .va-mob-pager .pgr button.disabled {
  opacity: 0.4;
}

/* is_file_upload_table tables: hide the legacy .ac-left-action-buttons
 * block visually — the visible Upload trigger now lives in .va-mob-row1
 * as <a class="add-btn" data-plupload-trigger>. The legacy block still
 * holds the moxie shim plupload needs for the file input, so it can't
 * be display:none. Keep it in flow but pull it offscreen + 0 size. */
.ac-left-action-buttons {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  top: 0 !important;
  left: -9999px !important;
}

/* Legacy list-page header (.sw-header in #tabsContain) is the original
 * mobile chrome: position:fixed; top:0; z-index:5000; height ~69px.
 * The v2 list provides .app-topbar + .va-mob-row1 in the same slot, so
 * the legacy chrome now visually collides with the new headers. Strip
 * it on the list page only — leave the in-drawer .sw-header alone
 * (it's scoped via .proto-screen .sw-drawer > .sw-header in _formv2). */
#tabsContain > .sw-header {
  position: static !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important; /* keep moxie-shim host reachable */
  z-index: auto !important;
  border: 0 !important;
  background: transparent !important;
}

#tabsContain > .sw-header > .default-controls {
  display: none !important;
}

/* Row select checkbox (bulk_update / add_mass_action) —
 * Two pieces in the markup:
 *   <input type=checkbox j=check_multi_*>  (the real input)
 *   <label for=check_N><span></span></label>  (legacy toggle-switch UI
 *     styled by main.scss: 40px pill ::before + ::after thumb)
 * The legacy CSS hides the input (position:absolute; z-index:-10) and
 * shows the label as a fancy switch — making the label always visible
 * on every row. The v2 design wants no row chrome unless the user
 * actually interacts with the row. Hide BOTH by default; reveal both
 * on row hover / when checked / when focused. */
.actionrow input[type=checkbox][j^=check_multi_],
.actionrow input[type=checkbox][j^=check_multi_] + label {
  opacity: 0 !important;
  transition: opacity 0.12s ease;
  pointer-events: none;
}

.va-mob-row:hover .actionrow input[type=checkbox][j^=check_multi_],
.va-mob-row:hover .actionrow input[type=checkbox][j^=check_multi_] + label,
.va-dt-row:hover .actionrow input[type=checkbox][j^=check_multi_],
.va-dt-row:hover .actionrow input[type=checkbox][j^=check_multi_] + label,
.actionrow input[type=checkbox][j^=check_multi_]:checked,
.actionrow input[type=checkbox][j^=check_multi_]:checked + label,
.actionrow input[type=checkbox][j^=check_multi_]:focus,
.actionrow input[type=checkbox][j^=check_multi_]:focus + label {
  opacity: 1 !important;
  pointer-events: auto;
}

/* Use a compact box (not the 40px toggle pill) — the v2 list wants a
 * standard checkbox affordance, not a switch. Override the legacy
 * label::before pill + the ::after thumb. */
.actionrow input[type=checkbox][j^=check_multi_] + label {
  width: 18px;
  height: 18px;
  border: 1.5px solid #aab4be;
  border-radius: 4px;
  background: #fff;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.va-mob-row:hover .actionrow input[type=checkbox][j^=check_multi_] + label:hover,
.va-dt-row:hover .actionrow input[type=checkbox][j^=check_multi_] + label:hover {
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px rgba(0, 209, 178, 0.15);
}

/* Subtle row hover affordance so the user knows the row is interactive
 * and the revealed checkbox isn't sitting in a void. */
.va-dt-row:hover {
  background: #fafbfd;
}

/* Action cell: tidy alignment + spacing for the hover-revealed
 * delete + checkbox so they read as a single trailing action group. */
.va-dt-table .va-dt-row .actionrow {
  text-align: right;
  white-space: nowrap;
  padding: 0 14px !important;
  vertical-align: middle;
}

.va-dt-table .va-dt-row .actionrow > * {
  vertical-align: middle;
}

.va-dt-row .actionrow .ac-delete-link {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-right: 6px;
  border-radius: 6px;
  color: #aab4be;
  opacity: 0;
  transition: opacity 0.12s ease, background 0.12s ease, color 0.12s ease;
  text-decoration: none;
}

.va-dt-row .actionrow .ac-delete-link i {
  font-size: 15px;
  line-height: 1;
}

.va-dt-row:hover .actionrow .ac-delete-link,
.va-mob-row:hover .actionrow .ac-delete-link {
  opacity: 1;
}

.va-dt-row .actionrow .ac-delete-link:hover {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

.va-dt-row .actionrow input[type=checkbox][j^=check_multi_] {
  margin-right: 4px;
}

.actionrow input[type=checkbox][j^=check_multi_] + label::before,
.actionrow input[type=checkbox][j^=check_multi_] + label::after {
  display: none !important;
}

.actionrow input[type=checkbox][j^=check_multi_]:checked + label {
  background: #00d1b2;
  border-color: #00d1b2;
}

.actionrow input[type=checkbox][j^=check_multi_]:checked + label > span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

.actionrow input[type=checkbox][j^=check_multi_]:checked + label > span::before {
  content: "✓";
  font-weight: 700;
}

/* ============================================================
   Prototype-specific styles
   - Mobile menu drawer
   - Edit form screen
   - Push-style screen navigation
============================================================ */
.proto-app {
  position: absolute;
  inset: 0;
  background: #f6f9fc;
  overflow: hidden;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  color: #3c4257;
  -webkit-font-smoothing: antialiased;
}

.proto-app *, .proto-app *::before, .proto-app *::after {
  box-sizing: border-box;
}

.proto-app button {
  font-family: inherit;
}

.proto-app i {
  font-style: normal;
}

/* Each screen is a stacked panel. Push navigation animates translateX. */
.proto-screen {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #f6f9fc;
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0.32, 1);
  will-change: transform;
}

/* Drawer scaffold (spec: docs/superpowers/specs/2026-05-19-edit-drawer-fidelity-design.md).
   .sw-drawer is emitted by Form.php inside <form id="formClient"> inside .proto-screen.
   This base rule sets the flex chain that's the same on mobile and desktop:
   header / identity / tabnav / footer pinned, .sw-body owns the scroll.
   The legacy .sw-header { position:fixed; top:0; left:0; height:69px; z-index:5000 }
   rule from main.scss is overridden here because the same class name now
   belongs to the new drawer scaffold (the legacy chrome was renamed to
   .legacy-list-toolbar in Form.php). */
.proto-screen > form.mainForm,
.proto-screen > form.formContent {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.sw-drawer.proto-form {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.sw-drawer.proto-form > .sw-header,
.sw-drawer.proto-form > .sw-identity,
.sw-drawer.proto-form > .sw-footer {
  flex-shrink: 0;
}

.sw-drawer.proto-form > .sw-header {
  position: static;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  height: auto;
  min-height: 40px;
  z-index: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  padding: 0;
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
  box-sizing: border-box;
}

/* .child-tabs row-2 sizing is set in a single combined block below
 * (search for "Child-tabs ALWAYS render on row 2"). The full-bleed
 * (negative margins) is applied there to avoid duplicate-block
 * specificity wars. */
.sw-drawer.proto-form > .sw-header > .form-nav,
.sw-drawer.proto-form > .sw-header > .form-nav {
  display: contents;
}

/* Row-1 items: 12 px left/right horizontal padding via the items
 * themselves (the .sw-header has no horizontal padding so .child-tabs
 * can span edge-to-edge without negative-margin breakout hacks). */
.sw-drawer.proto-form > .sw-header > .form-nav > .nav-btn {
  order: 1;
  flex-shrink: 0;
  min-height: 48px;
  padding: 0 8px 0 12px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.sw-drawer.proto-form > .sw-header > .form-nav > .nav-btn i {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

.sw-drawer.proto-form > .sw-header > .form-nav > .nav-btn.nav-close {
  order: 5;
  margin-left: 2px;
  padding: 0 12px 0 8px;
  align-self: center;
}

/* Save sits to the LEFT of close. margin-left:auto claims the free
 * space so save+close get pushed to the right edge. */
.sw-drawer.proto-form > .sw-header > .form-nav > .nav-save {
  order: 4;
  margin-left: auto;
  margin-right: 4px;
  align-self: center;
}

/* nav-title is split in HTML into .nav-title-type (always shown, the
 * table description) and .nav-title-name (the entity name from
 * $_gcNameVal — only present when not empty). Container is a flex row
 * so the two parts read as "Project · Acme Corp" with the type muted
 * and the name bold. On mobile the back arrow shows the description
 * so this whole title is hidden to keep row 1 compact. */
.sw-drawer.proto-form > .sw-header > .form-nav > .nav-title {
  order: 0;
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  line-height: 1.2;
  padding: 0 8px;
  align-self: center;
  overflow: hidden;
}

.sw-drawer.proto-form > .sw-header > .form-nav > .nav-title > .nav-title-type {
  font-size: 13px;
  font-weight: 500;
  color: #8898aa;
  flex-shrink: 0;
  white-space: nowrap;
}

.sw-drawer.proto-form > .sw-header > .form-nav > .nav-title > .nav-title-name {
  font-size: 15px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

/* When only the type is present (new record, no name yet), promote it
 * to the heading slot so the header doesn't read as a faint label. */
.sw-drawer.proto-form > .sw-header > .form-nav > .nav-title:not(:has(.nav-title-name)) > .nav-title-type {
  font-size: 15px;
  font-weight: 600;
  color: #0a2540;
}

/* On mobile, the back arrow shows the entity description; hide
 * nav-title to avoid duplication and keep row 1 compact. */
@media (max-width: 719px) {
  .sw-drawer.proto-form > .sw-header > .form-nav > .nav-title {
    display: none;
  }
}
/* .nav-save rule moved above (combined with .sw-drawer.proto-form
 * alias and order/margin-left:auto). The old order:4 declaration
 * here is now redundant — kept structure deleted. */
/* Child-tabs ALWAYS render on row 2 (full-bleed strip) under the
 * form-nav row. flex: 0 0 calc(100% + 24px) forces the line break
 * AND escapes the .sw-header 12px horizontal padding so the band
 * spans edge-to-edge. order: 6 (after close=5) places it after all
 * form-nav children. */
.sw-drawer.proto-form > .sw-header > .child-tabs {
  order: 6;
  flex: 0 0 100%;
  width: 100%;
  margin: 0;
  padding: 6px 12px;
  background: #fafbfd;
  border-top: 1px solid #eef1f5;
  border-bottom: 0;
  overflow-x: auto;
  overflow-y: visible;
  flex-wrap: nowrap;
  align-items: center;
  scrollbar-width: none;
  box-sizing: border-box;
  gap: 2px;
  display: flex;
}

.sw-drawer.proto-form > .sw-header > .child-tabs::-webkit-scrollbar {
  display: none;
}

/* Child-tab overflow arrows — injected by drawer.js when the strip
 * overflows (desktop has no scrollbar and no swipe). Sticky inside the
 * horizontal scroller so they pin to the visible edges while the tabs
 * scroll beneath. Not .child-tab, so neither the active-state handler
 * nor screens.js openChildList treats them as a tab. */
.sw-drawer.proto-form > .sw-header > .child-tabs > .child-tabs-arrow {
  position: sticky;
  flex: 0 0 auto;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  padding: 0;
  margin: 0;
  border: 0;
  cursor: pointer;
  color: #5b6376;
  background: #fafbfd;
  z-index: 2;
  transition: color 0.12s, opacity 0.12s;
}

.sw-drawer.proto-form > .sw-header > .child-tabs > .child-tabs-arrow:hover {
  color: #009b82;
}

.sw-drawer.proto-form > .sw-header > .child-tabs > .child-tabs-arrow i {
  font-size: 18px;
  line-height: 1;
}

.sw-drawer.proto-form > .sw-header > .child-tabs > .child-tabs-arrow.prev {
  left: 0;
  box-shadow: 8px 0 8px -6px rgba(10, 37, 64, 0.18);
}

.sw-drawer.proto-form > .sw-header > .child-tabs > .child-tabs-arrow.next {
  right: 0;
  box-shadow: -8px 0 8px -6px rgba(10, 37, 64, 0.18);
}

/* No overflow → remove both (full width for the tabs). At an edge →
 * keep in layout but dim/disable, so scrolling doesn't shift the band. */
.sw-drawer.proto-form > .sw-header > .child-tabs > .child-tabs-arrow.is-hidden {
  display: none;
}

.sw-drawer.proto-form > .sw-header > .child-tabs > .child-tabs-arrow.is-disabled {
  opacity: 0.3;
  pointer-events: none;
}

@media (min-width: 720px) {
  .sw-drawer.proto-form > .sw-header > .form-nav > .nav-btn:not(.nav-close) {
    display: none;
  }
}
/* (Mobile-only wrap block removed — the two-row layout is now the
 * default for all widths. See base rules above and the .child-tabs
 * row-2 block below.) */
.sw-drawer.proto-form > .sw-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

/* Child-tabs chip bar (matches edit_dk template):
 * - row sits on its own band (bg-warm tint) with hairline divider
 * - each tab is a roomy pill with icon + name + count badge
 * - count is a circle outlined in $line, neutral text
 * - active tab gets mint underline (no fill change) so the chip
 *   feels like a tab indicator, not a button toggle.
 * Selectors aliased on .proto-screen-wrapped and direct .sw-drawer
 * paths so both push-screen + full-page routes pick this up. */
/* (Chip-bar container styling moved into the row-2 block above to
 * avoid duplicate-block conflicts. Container layout = the row-2
 * rule; only chip + count styling continues below.) */
.sw-drawer.proto-form > .sw-header .child-tab,
.sw-drawer.proto-form > .sw-header .child-tab {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0 10px;
  height: 30px;
  min-height: 0;
  font: inherit;
  font-size: 12.5px;
  font-weight: 500;
  color: #5b6376;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 6px;
  border-radius: 6px;
  transition: color 0.12s, background 0.12s;
}

.sw-drawer.proto-form > .sw-header .child-tab .child-tab-icon,
.sw-drawer.proto-form > .sw-header .child-tab .child-tab-icon {
  font-size: 14px;
  color: #8898aa;
  line-height: 1;
}

.sw-drawer.proto-form > .sw-header .child-tab:hover,
.sw-drawer.proto-form > .sw-header .child-tab:hover {
  color: #0a2540;
  background: #fff;
}

.sw-drawer.proto-form > .sw-header .child-tab:hover .child-tab-icon,
.sw-drawer.proto-form > .sw-header .child-tab:hover .child-tab-icon {
  color: #5b6376;
}

.sw-drawer.proto-form > .sw-header .child-tab.is-active,
.sw-drawer.proto-form > .sw-header .child-tab.is-active {
  color: #009b82;
  font-weight: 600;
  background: transparent;
}

.sw-drawer.proto-form > .sw-header .child-tab.is-active .child-tab-icon,
.sw-drawer.proto-form > .sw-header .child-tab.is-active .child-tab-icon {
  color: #009b82;
}

.sw-drawer.proto-form > .sw-header .child-tab.is-active::after,
.sw-drawer.proto-form > .sw-header .child-tab.is-active::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -4px;
  height: 2px;
  background: #00d1b2;
  border-radius: 2px;
}

.sw-drawer.proto-form > .sw-header .child-tab .child-tab-count,
.sw-drawer.proto-form > .sw-header .child-tab .child-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e3e8ee;
  color: #8898aa;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1;
}

.sw-drawer.proto-form > .sw-header .child-tab.is-active .child-tab-count,
.sw-drawer.proto-form > .sw-header .child-tab.is-active .child-tab-count {
  background: #ecfbf7;
  border-color: #d4f3ed;
  color: #009b82;
}

.proto-screen.under {
  transform: translateX(-20%);
  pointer-events: none;
}

.proto-screen.enter {
  transform: translateX(100%);
}

.proto-screen.exit {
  transform: translateX(100%);
}

/* Off-screen layers must not block taps on the active layer.
   Closed proto-screens (translateX 100%) still occupy the DOM and would
   intercept clicks otherwise. Same goes for closed sheets and dim overlays. */
.proto-screen[aria-hidden=true],
.proto-sheet:not(.open),
.proto-dim:not(.open) {
  pointer-events: none !important;
}

/* dim under the drawer + form */
.proto-dim {
  position: absolute;
  inset: 0;
  background: rgba(10, 37, 64, 0.32);
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.proto-dim.open {
  opacity: 1;
  pointer-events: auto;
}

/* ───── Mobile menu drawer ───── */
.proto-drawer {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 286px;
  background: #fff;
  z-index: 60;
  transform: translateX(-100%);
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0.32, 1);
  display: flex;
  flex-direction: column;
  box-shadow: 6px 0 24px rgba(10, 37, 64, 0.16);
}

.proto-drawer.open {
  transform: translateX(0);
}

.proto-drawer .dr-head {
  padding: 14px 18px 14px;
  border-bottom: 1px solid #e3e8ee;
  display: flex;
  align-items: center;
  gap: 11px;
}

.proto-drawer .dr-logo-mark {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #00d1b2, #009b82);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 18px;
  box-shadow: 0 2px 6px rgba(0, 209, 178, 0.3);
}

.proto-drawer .dr-logo-text {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.01em;
}

.proto-drawer .dr-logo-text small {
  display: block;
  font-size: 11.5px;
  font-weight: 500;
  color: #8898aa;
  margin-top: 1px;
  letter-spacing: 0;
}

.proto-drawer .dr-close {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: #5b6376;
  font-size: 18px;
  background: transparent;
  border: none;
}

.proto-drawer .dr-search {
  position: relative;
  margin: 12px 14px 6px;
}

.proto-drawer .dr-search input {
  width: 100%;
  height: 36px;
  padding: 0 10px 0 32px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 13px;
  background: #fafbfd;
  outline: none;
  -webkit-appearance: none;
}

.proto-drawer .dr-search input:focus {
  border-color: #00d1b2;
  background: #fff;
}

.proto-drawer .dr-search > i {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #8898aa;
  font-size: 15px;
}

.proto-drawer .dr-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 6px 10px 12px;
}

.proto-drawer .dr-section {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #aab4be;
  padding: 12px 10px 4px;
}

.dr-section.dr-section-foldable {
  display: flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  user-select: none;
}

.dr-section .dr-section-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dr-section .dr-section-icon {
  font-size: 14px;
  color: var(--dr-group-color, #aab4be);
}

.dr-section .dr-fold-chevron {
  font-size: 15px;
  color: #aab4be;
  transition: transform 0.15s ease;
}

.dr-section.is-folded .dr-fold-chevron {
  transform: rotate(-90deg);
}

.dr-section .dr-section-dash {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  color: #aab4be;
  text-decoration: none;
  opacity: 0.85;
  transition: opacity 0.15s ease;
}

.dr-section .dr-section-dash:hover {
  opacity: 1;
}

.dr-section.has-group-color {
  border-left: 3px solid var(--dr-group-color);
  padding-left: 7px;
}

.proto-drawer .dr-item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 10px;
  border-radius: 8px;
  font-size: 14px;
  color: #3c4257;
  cursor: pointer;
  border: none;
  background: transparent;
  width: 100%;
  text-align: left;
  transition: background 0.1s;
}

.proto-drawer .dr-item:hover {
  background: #f6f9fc;
}

.proto-drawer .dr-item:active {
  background: #ecfbf7;
}

.proto-drawer .dr-item.active {
  background: #ecfbf7;
  color: #009b82;
  font-weight: 600;
}

.proto-drawer .dr-item i {
  font-size: 19px;
  width: 22px;
  text-align: center;
  color: inherit;
  flex-shrink: 0;
}

.proto-drawer .dr-item .dr-item-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proto-drawer .dr-item .dr-item-tag {
  margin-left: auto;
  font-size: 10.5px;
  font-weight: 600;
  color: #aab4be;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  background: #f6f9fc;
  padding: 2px 7px;
  border-radius: 999px;
}

.proto-drawer .dr-item.active .dr-item-tag {
  background: #d4f3ed;
  color: #009b82;
}

.dr-sub {
  margin: 2px 0 4px 32px;
  border-left: 1.5px solid #e3e8ee;
  padding-left: 10px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow: hidden;
  max-height: 1500px;
  transition: max-height 0.2s ease;
}

.dr-sub.is-folded {
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.proto-drawer .dr-sub .dr-item {
  font-size: 13px;
  padding: 7px 10px;
  font-weight: 500;
  color: #5b6376;
  gap: 8px;
}

.proto-drawer .dr-sub .dr-item.active {
  background: transparent;
  color: #009b82;
  position: relative;
}

.proto-drawer .dr-sub .dr-item.active::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5px;
  height: 16px;
  background: #00d1b2;
  border-radius: 2px;
}

.proto-drawer .dr-sub .dr-item .dr-item-tag {
  font-size: 10px;
}

.proto-drawer .dr-footer {
  padding: 10px 14px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid #e3e8ee;
  display: flex;
  align-items: center;
  gap: 10px;
}

.proto-drawer .dr-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff9966, #ff5e62);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.proto-drawer .dr-userinfo {
  flex: 1;
  min-width: 0;
}

.proto-drawer .dr-username {
  font-size: 13.5px;
  font-weight: 600;
  color: #0a2540;
  text-decoration: none;
  cursor: pointer;
}

.proto-drawer a.dr-username:hover {
  text-decoration: underline;
}

.proto-drawer .dr-userrole {
  font-size: 11.5px;
  color: #8898aa;
  display: block;
  text-align: center;
}

.proto-drawer .dr-signout {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: #8898aa;
  background: transparent;
  border: none;
}

.proto-drawer .dr-signout:hover {
  color: #df1b41;
}

/* Impersonation: an isRoot-only icon sits next to .dr-signout in the
 * drawer footer; clicking it toggles .is-open on .dr-impersonate-panel,
 * which is rendered as the immediate previous sibling of .dr-footer
 * (so it slides up from the bottom of the drawer). */
.proto-drawer .dr-impersonate-btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: #8898aa;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 18px;
  padding: 0;
}

.proto-drawer .dr-impersonate-btn:hover,
.proto-drawer .dr-impersonate-btn[aria-expanded=true] {
  color: #0a2540;
  background: #fafbfd;
}

/* The panel uses the HTML `hidden` attribute as its native hide
 * mechanism (so it works without compiled SCSS); when shell.js opens
 * it, hidden is removed and .is-open is added. We only need to style
 * the visible state here. */
.proto-drawer .dr-impersonate-panel {
  border-top: 1px solid #e3e8ee;
  background: #fff;
  padding: 12px 14px;
}

.proto-drawer .dr-impersonate-panel .dr-impersonate-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8898aa;
  margin-bottom: 6px;
}

.proto-drawer .dr-impersonate-panel .box-Authy {
  display: block;
  width: 100%;
}

.proto-drawer .dr-impersonate-panel input.ui-autocomplete-input {
  width: 100%;
  height: 36px;
  padding: 0 12px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 14px;
  background: #fafbfd;
  color: #3c4257;
  box-sizing: border-box;
}

/* ───── Drawer head + legacy menu (ac-nav/ac-menu) reused as drawer body ─────
   The builder still emits the legacy ul.ac-menu nav (shared with desktop +
   the isRoot impersonation JS); we wrap it in .proto-drawer and map the
   list markup to the guideline item look instead of reshaping the menu
   builder. Active state comes through via the existing a.active class. */
.proto-drawer .dr-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 16px 12px;
  border-bottom: 1px solid #e3e8ee;
  flex-shrink: 0;
}

.proto-drawer .dr-head .dr-logo-text {
  font-size: 16px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.01em;
}

.proto-drawer .dr-head .dr-close {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #5b6376;
  font-size: 20px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  cursor: pointer;
}

.proto-drawer .dr-head .dr-close:active {
  background: #f6f9fc;
}

.proto-drawer .dr-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 8px 10px 16px;
}

.proto-drawer .ac-nav,
.proto-drawer .ac-menu,
.proto-drawer .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.proto-drawer .ac-menu > li {
  margin: 1px 0;
}

.proto-drawer .ac-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #5b6376;
  text-decoration: none;
  transition: background 0.08s;
}

.proto-drawer .ac-menu a:hover {
  background: #f6f9fc;
}

.proto-drawer .ac-menu a:active {
  background: #ecfbf7;
}

.proto-drawer .ac-menu a.active {
  background: #ecfbf7;
  color: #009b82;
  font-weight: 600;
}

.proto-drawer .ac-menu a.disconnect {
  color: #df1b41;
}

.proto-drawer .ac-menu .ac-alert-count {
  margin-left: auto;
  background: #ecfbf7;
  color: #009b82;
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 999px;
}

/* Placeholder dot for menu items with no set_menu_icon — keeps
 * the label column aligned with the icon-bearing items. */
.proto-drawer .ac-menu .dr-item-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  flex-shrink: 0;
}

.proto-drawer .ac-menu .dr-item-dot::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #aab4be;
  transition: background 0.12s;
}

.proto-drawer .ac-menu a:hover .dr-item-dot::before,
.proto-drawer .ac-menu a.active .dr-item-dot::before {
  background: #009b82;
}

.proto-drawer .sub-menu {
  margin: 2px 0 4px 14px;
  border-left: 1.5px solid #e3e8ee;
  padding-left: 8px;
}

.proto-drawer .sub-menu a {
  font-size: 13px;
  padding: 7px 10px;
}

.proto-drawer .menu-subtitle {
  padding: 8px 10px 4px;
  font-size: 11px;
  font-weight: 600;
  color: #8898aa;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* The legacy .left-panel sidebar is replaced on mobile by .proto-drawer
   (kept in the DOM for desktop + the isRoot impersonation selectbox JS).
   !important + body scope to beat the legacy .left-panel rules that
   compile after this partial. */
body .left-panel {
  display: none !important;
}

/* ───── Hamburger button (added to list header) ───── */
.va-mob .menu-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: transparent;
  border: none;
  color: #0a2540;
  display: grid;
  place-items: center;
  font-size: 22px;
  margin-left: -8px;
  cursor: pointer;
}

.va-mob .menu-btn:active {
  background: #f6f9fc;
}

/* Inline validation: the vanilla client (screens.js) adds .error_field
   to the offending control / select-label-span on a rejected save. No
   legacy rule styled it, so define the guideline error affordance.
   Scoped to both .proto-form (mobile/inline) AND .proto-screen (the
   drawer wrapper used on desktop). */
.proto-form .error_field,
.proto-form input.error_field,
.proto-form textarea.error_field,
.proto-form select.error_field,
.sw-drawer.proto-form .error_field,
.sw-drawer.proto-form input.error_field,
.sw-drawer.proto-form textarea.error_field,
.sw-drawer.proto-form select.error_field {
  border-color: #df1b41 !important;
  background: rgba(226, 89, 80, 0.06) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(226, 89, 80, 0.12) !important;
}

.proto-form .select-label-span.error_field,
.sw-drawer.proto-form .select-label-span.error_field {
  border-color: #df1b41 !important;
  color: #df1b41 !important;
}

.proto-form .form-row.has-error .lbl,
.sw-drawer.proto-form .form-row.has-error .lbl {
  color: #df1b41;
}

/* Per-field inline error message injected by screens.js below the
 * offending control. */
.sw-drawer.proto-form .form-row .field-error,
.proto-form .form-row .field-error {
  margin-top: 4px;
  font-size: 11.5px;
  font-weight: 500;
  color: #df1b41;
  display: flex;
  align-items: center;
  gap: 4px;
}

.sw-drawer.proto-form .form-row .field-error::before,
.proto-form .form-row .field-error::before {
  content: "⚠";
  font-size: 12px;
  line-height: 1;
}

/* Banner inserted at the top of .sw-body when a save fails. */
.sw-drawer.proto-form .form-banner.is-error {
  margin: 0 0 14px 0;
  padding: 10px 16px;
  background: rgba(226, 89, 80, 0.08);
  border: 1px solid rgba(226, 89, 80, 0.32);
  border-radius: 6px;
  color: #df1b41;
  font-size: 13px;
  font-weight: 500;
}

/* ───── Global topbar (drawer opener on every page) ─────
   List pages carry their own .va-mob-header .menu-btn, so the bar is
   hidden there to avoid two hamburgers. */
.app-topbar {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 52px;
  padding: 0 12px;
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
  position: sticky;
  top: 0;
  z-index: 20;
}

.app-topbar .menu-btn {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: transparent;
  border: none;
  color: #0a2540;
  display: grid;
  place-items: center;
  font-size: 22px;
  cursor: pointer;
}

.app-topbar .menu-btn:active {
  background: #f6f9fc;
}

.app-topbar .app-topbar-title {
  font-size: 16px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.01em;
}

body:has(.va-mob.proto-app[data-model]) .app-topbar {
  display: none;
}

/* Right-side actions area in the topbar — list-page action controls
 * (mass-action select, bulk update, un/check-all etc.) are relocated
 * here by list.js after they were emitted into the legacy .sw-header.
 * Reskinned to match the v2 pill aesthetic. */
.app-topbar .app-topbar-actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.app-topbar .app-topbar-actions:empty {
  display: none;
}

.app-topbar .app-topbar-actions select,
.app-topbar .app-topbar-actions .mass-action-sel {
  height: 32px;
  padding: 0 28px 0 10px;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  background: #fff;
  font-size: 13px;
  color: #0a2540;
  cursor: pointer;
}

.app-topbar .app-topbar-actions select:focus {
  outline: none;
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px rgba(0, 209, 178, 0.18);
}

.app-topbar .app-topbar-actions a.header-controls,
.app-topbar .app-topbar-actions a.button-link-blue {
  height: 32px;
  padding: 0 12px;
  border-radius: 6px;
  background: #00d1b2;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(0, 209, 178, 0.3);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.app-topbar .app-topbar-actions a.header-controls:hover,
.app-topbar .app-topbar-actions a.button-link-blue:hover {
  background: #00b89a;
  color: #fff !important;
}

.app-topbar .app-topbar-actions a.ac-light-red,
.app-topbar .app-topbar-actions a.button-link-blue.ac-light-red {
  background: #ef4444;
  box-shadow: 0 1px 2px rgba(239, 68, 68, 0.3);
}

.app-topbar .app-topbar-actions input[type=checkbox][id^=mass-action-] {
  width: 16px;
  height: 16px;
  accent-color: #00d1b2;
  margin: 0;
}

.app-topbar .app-topbar-actions .mass-action-toggle {
  font-size: 12.5px;
  color: #5b6376;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

/* ───── Edit form screen ───── */
.proto-form {
  display: flex;
  flex-direction: column;
  background: #f6f9fc;
}

.proto-form .form-nav {
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
  padding: 0 6px;
  height: 52px;
  display: flex;
  align-items: center;
  gap: 4px;
  position: sticky;
  top: 0;
  z-index: 2;
}

.proto-form .form-nav .nav-btn {
  height: 28px;
  padding: 0 6px 0 4px;
  border: none;
  background: transparent;
  color: #009b82;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  cursor: pointer;
  border-radius: 6px;
}

.proto-form .form-nav .nav-btn:active {
  background: #f6f9fc;
}

.proto-form .form-nav .nav-btn i {
  font-size: 18px;
}

.proto-form .form-nav .nav-title {
  flex: 1;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.005em;
}

.proto-form .form-nav .nav-save {
  height: 26px;
  padding: 0 12px;
  border: none;
  background: #00d1b2;
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 209, 178, 0.3);
  margin-right: 4px;
}

.proto-form .form-nav .nav-save.disabled {
  background: #e3e8ee;
  color: #aab4be;
  box-shadow: none;
}

.proto-form .form-scroll {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 30px;
}

.proto-form .form-banner {
  margin: 14px 14px 4px;
  padding: 12px 14px;
  background: linear-gradient(135deg, #ecfbf7, #fff);
  border: 1px solid #d4f3ed;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.proto-form .form-banner .banner-flag {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(135deg, #00d1b2, #009b82);
  display: grid;
  place-items: center;
  color: #fff;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
}

.proto-form .form-banner .banner-text {
  flex: 1;
  min-width: 0;
}

.proto-form .form-banner .banner-title {
  font-size: 15px;
  font-weight: 600;
  color: #0a2540;
}

.proto-form .form-banner .banner-sub {
  font-size: 12px;
  color: #8898aa;
  margin-top: 1px;
}

.proto-form .form-section-title {
  font-size: 11px;
  font-weight: 600;
  color: #8898aa;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 18px 18px 6px;
}

.proto-form .form-card {
  background: #fff;
  margin: 8px 14px 0;
  border: 1px solid #e3e8ee;
  overflow: hidden;
}

.proto-form .form-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-bottom: 1px solid #eef1f5;
  min-height: 52px;
}

button.form-row {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  border-bottom: 1px solid #eef1f5;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
}

.proto-form .form-row:last-child {
  border-bottom: none;
}

.proto-form .form-row.tap {
  cursor: pointer;
}

.proto-form .form-row.tap:active {
  background: #f6f9fc;
}

.proto-form .form-row .lbl {
  font-size: 13px;
  font-weight: 500;
  color: #3c4257;
  width: 110px;
  flex-shrink: 0;
}

.proto-form .form-row .val {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  color: #0a2540;
  text-align: right;
}

.proto-form .form-row .val.placeholder {
  color: #aab4be;
  font-weight: 400;
}

.proto-form .form-row input[type=text],
.proto-form .form-row input[type=number] {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0;
  font-size: 14px;
  color: #0a2540;
  text-align: right;
  outline: none;
  font-family: inherit;
  -webkit-appearance: none;
}

.proto-form .form-row input::placeholder {
  color: #aab4be;
}

.proto-form .form-row input.mono {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
}

.proto-form .form-row input[type=email],
.proto-form .form-row input[type=tel],
.proto-form .form-row input[type=url],
.proto-form .form-row input[type=password],
.proto-form .form-row input[type=date],
.proto-form .form-row input[type=datetime-local],
.proto-form .form-row input[type=time],
.proto-form .form-row input:not([type]),
.proto-form .form-row textarea,
.proto-form .form-row select {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0;
  font-size: 14px;
  color: #0a2540;
  text-align: right;
  outline: none;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}

.proto-form .form-row textarea {
  resize: vertical;
  min-height: 22px;
}

.proto-form .form-row select {
  cursor: pointer;
  text-align-last: right;
}

.proto-form .form-row input[type=text],
.proto-form .form-row input[type=number],
.proto-form .form-row input[type=email],
.proto-form .form-row input[type=tel],
.proto-form .form-row input[type=url],
.proto-form .form-row input[type=password],
.proto-form .form-row input[type=date],
.proto-form .form-row input:not([type]),
.proto-form .form-row textarea,
.proto-form .form-row select {
  cursor: text;
  border-radius: 6px;
  transition: background 0.12s, box-shadow 0.12s;
}

.proto-form .form-row input[type=text]:hover,
.proto-form .form-row input[type=number]:hover,
.proto-form .form-row textarea:hover,
.proto-form .form-row select:hover {
  background: #fafbfd;
}

.proto-form .form-row input:focus,
.proto-form .form-row textarea:focus,
.proto-form .form-row select:focus {
  background: #fff !important;
  box-shadow: 0 0 0 2px #d4f3ed, inset 0 0 0 1px #00d1b2 !important;
  outline: none !important;
  padding: 6px 8px;
  text-align: left;
  position: relative;
  z-index: 1;
}

/* Read-only / disabled inputs must read as non-interactive: muted ink,
 * no hover affordance, no caret. Applies to both [readonly] (text-like
 * inputs and textarea) and [disabled] (selects + others). */
.proto-form .form-row input[readonly],
.proto-form .form-row textarea[readonly],
.proto-form .form-row input:disabled,
.proto-form .form-row textarea:disabled,
.proto-form .form-row select:disabled {
  color: #8898aa;
  cursor: default;
  -webkit-text-fill-color: #8898aa;
  opacity: 1;
}

.proto-form .form-row input[readonly]:hover,
.proto-form .form-row textarea[readonly]:hover,
.proto-form .form-row input:disabled:hover,
.proto-form .form-row textarea:disabled:hover,
.proto-form .form-row select:disabled:hover {
  background: transparent;
}

.proto-form .form-row input[readonly]:focus,
.proto-form .form-row textarea[readonly]:focus {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0;
  text-align: right;
}

/* jQuery selectbox widget (.select-label > .select-label-span + ul)
 * inside a form-row: the legacy chrome (180px fixed bordered box +
 * arrow.png) reads as broken next to the right-flush text values.
 * Re-skin it to the guideline tap-row: value flush right in $ink
 * 14.5/600 + a faint chevron, no border/box. _selectbox.scss is
 * template-managed (do not edit) so override here (scoped, wins on
 * specificity). */
.proto-form .form-row > .select-label.js-select-label {
  flex: 1;
  margin: 0;
  min-width: 0;
  text-align: right;
  position: relative;
}

.proto-form .form-row .select-label-span {
  background: none;
  border: none;
  width: auto;
  height: auto;
  padding: 4px 16px 4px 8px;
  line-height: 1.35;
  font-size: 14.5px;
  font-weight: 600;
  color: #0a2540;
  text-align: right;
  overflow: visible;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.12s;
}

.proto-form .form-row .select-label-span.default {
  color: #aab4be;
  font-weight: 500;
}

.proto-form .form-row .select-label-span:hover {
  background: #fafbfd;
}

.proto-form .form-row .select-label-span:focus {
  outline: none;
  background: #fafbfd;
  box-shadow: 0 0 0 2px #d4f3ed;
}

.proto-form .form-row .select-label-span::after {
  content: "›"; /* › chevron, matches tap rows */
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-52%);
  font-size: 17px;
  font-weight: 400;
  color: #aab4be;
  pointer-events: none;
}

/* The card clips its rounded corners with overflow:hidden, which would
 * also clip an open dropdown. Relax it only while a select is open
 * (plugin toggles .show on .select-label). */
.proto-form .form-card:has(.select-label.show) {
  overflow: visible;
}

.proto-form .form-scroll:has(.select-label.show) {
  overflow: visible;
}

/* Open dropdown: white card, right-aligned under the value. */
.proto-form .form-row .select-label.js-select-label ul.scrollable.select-element {
  position: absolute;
  top: calc(100% + 4px);
  left: auto;
  right: 0;
  width: max-content;
  min-width: 200px;
  max-width: 320px;
  max-height: 300px;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 9px;
  box-shadow: 0 8px 28px rgba(10, 37, 64, 0.16);
  overflow-y: auto;
  z-index: 50;
}

.proto-form .form-row .select-label ul.select-element li {
  text-align: left;
  padding: 9px 14px;
  font-size: 13.5px;
  font-weight: 500;
  color: #3c4257;
}

.proto-form .form-row .select-label ul.select-element li:hover,
.proto-form .form-row .select-label ul.select-element li.hovered {
  background: #fafbfd;
}

.proto-form .form-row .select-label ul.select-element li.selected {
  background: #ecfbf7;
  color: #009b82;
  font-weight: 600;
}

.proto-form .form-row .select-label ul.select-element li.default {
  color: #aab4be;
}

.proto-form .form-row input[type=text],
.proto-form .form-row input[type=number],
.proto-form .form-row input[type=email],
.proto-form .form-row input[type=tel],
.proto-form .form-row input[type=url],
.proto-form .form-row input:not([type]),
.proto-form .form-row textarea {
  background-image: linear-gradient(to right, #e3e8ee, #e3e8ee);
  background-size: 18px 1px;
  background-position: right bottom 2px;
  background-repeat: no-repeat;
}

.proto-form .form-row input:focus {
  background-image: none;
}

.proto-form .form-row .chev {
  color: #aab4be;
  font-size: 18px;
  margin-right: -4px;
}

.proto-form .form-help {
  padding: 8px 18px 0;
  font-size: 11.5px;
  color: #8898aa;
  line-height: 1.5;
}

/* Delete button block (bottom) */
.proto-form .form-delete-block {
  background: #fff;
  margin: 14px 14px;
  border-radius: 12px;
  border: 1px solid #e3e8ee;
  overflow: hidden;
}

.proto-form .form-delete-btn {
  width: 100%;
  padding: 14px;
  background: transparent;
  border: none;
  color: #df1b41;
  font-size: 14.5px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.proto-form .form-delete-btn:active {
  background: #fdebef;
}

.proto-form .form-delete-btn i {
  font-size: 18px;
}

.proto-form .form-audit {
  padding: 16px 18px 30px;
  font-size: 11.5px;
  color: #aab4be;
  text-align: center;
  line-height: 1.6;
}

/* Currency picker bottom sheet */
.proto-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  border-radius: 16px 16px 0 0;
  z-index: 70;
  transform: translateY(100%);
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0.32, 1);
  max-height: 70%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 -12px 32px rgba(10, 37, 64, 0.18);
}

.proto-sheet.open {
  transform: translateY(0);
}

.proto-sheet .sheet-handle {
  display: flex;
  justify-content: center;
  padding: 8px 0 4px;
}

.proto-sheet .sheet-handle::before {
  content: "";
  width: 36px;
  height: 4px;
  border-radius: 999px;
  background: #e3e8ee;
}

.proto-sheet .sheet-head {
  display: flex;
  align-items: center;
  padding: 4px 14px 10px;
  border-bottom: 1px solid #e3e8ee;
}

.proto-sheet .sheet-title {
  flex: 1;
  font-size: 15.5px;
  font-weight: 600;
  color: #0a2540;
}

.proto-sheet .sheet-close {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: none;
  background: #f6f9fc;
  color: #5b6376;
  display: grid;
  place-items: center;
  font-size: 17px;
}

.proto-sheet .sheet-body {
  flex: 1;
  overflow-y: auto;
  padding: 4px 0 calc(14px + env(safe-area-inset-bottom));
}

.proto-sheet .sheet-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #eef1f5;
  cursor: pointer;
}

.proto-sheet .sheet-row:last-child {
  border-bottom: none;
}

.proto-sheet .sheet-row:active {
  background: #f6f9fc;
}

.proto-sheet .sheet-row .sr-icon {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  font-weight: 600;
  color: #0a2540;
  width: 44px;
}

.proto-sheet .sheet-row .sr-name {
  flex: 1;
  font-size: 14px;
  color: #3c4257;
}

.proto-sheet .sheet-row.selected {
  background: #ecfbf7;
}

.proto-sheet .sheet-row.selected .sr-icon {
  color: #009b82;
}

.proto-sheet .sheet-row.selected i {
  color: #009b82;
  font-size: 18px;
}

/* Toast */
.proto-toast {
  position: absolute;
  left: 50%;
  bottom: calc(70px + env(safe-area-inset-bottom));
  transform: translate(-50%, 20px);
  background: #0a2540;
  color: #fff;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 500;
  box-shadow: 0 10px 28px rgba(10, 37, 64, 0.25);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.proto-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.proto-toast i {
  color: #00d1b2;
  font-size: 16px;
}

/* When pull-down/refreshing isn't relevant, hide var-a's back button as menu replaces it */
.va-mob .va-mob-row1 .back {
  display: none;
}

/* small adjustments for prototype */
.proto-app .va-mob-pager {
  background: #fff;
}

/* ===== Toast + designed confirm (A6) =====
 * Guideline .proto-toast (README §Toast: ink pill, mint check, ~1.7s)
 * + a tokenized confirm dialog. screens.js toggles .show; no inline
 * hex, no native confirm()/alert(). */
.proto-toast {
  position: fixed;
  left: 50%;
  bottom: calc(70px + env(safe-area-inset-bottom));
  transform: translate(-50%, 20px);
  background: #0a2540;
  color: #fff;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 500;
  box-shadow: 0 10px 28px rgba(10, 37, 64, 0.25);
  z-index: 250;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.proto-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.proto-toast i {
  color: #00d1b2;
  font-size: 16px;
}

.gc-confirm-dim {
  position: fixed;
  inset: 0;
  background: rgba(10, 37, 64, 0.32);
  z-index: 260;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.gc-confirm-dim.show {
  opacity: 1;
}

.gc-confirm-box {
  background: #fff;
  border-radius: 14px;
  padding: 22px;
  max-width: 320px;
  width: calc(100% - 48px);
  box-shadow: 0 16px 48px rgba(10, 37, 64, 0.28);
  font-size: 14px;
  color: #0a2540;
  transform: scale(0.96);
  transition: transform 0.18s ease;
}

.gc-confirm-dim.show .gc-confirm-box {
  transform: scale(1);
}

.gc-confirm-msg {
  margin-bottom: 20px;
  line-height: 1.45;
  color: #3c4257;
}

.gc-confirm-btns {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.gc-confirm-btn {
  padding: 9px 16px;
  border-radius: 8px;
  font-size: 13px;
  cursor: pointer;
  font-weight: 500;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #5b6376;
}

.gc-confirm-btn.primary {
  border: none;
  font-weight: 600;
  color: #fff;
  background: #0a2540;
}

.gc-confirm-btn.danger {
  border: none;
  font-weight: 600;
  color: #fff;
  background: #df1b41;
}

.gc-confirm-title {
  font-weight: 600;
  font-size: 15px;
  color: #0a2540;
  margin-bottom: 10px;
}

.gc-confirm-box.alert {
  max-width: 460px;
}

.gc-confirm-box.alert .gc-confirm-msg {
  max-height: 50vh;
  overflow-y: auto;
}

.gc-ac-menu {
  list-style: none;
  margin: 0;
  padding: 4px;
  z-index: 280;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(10, 37, 64, 0.18);
  max-height: 280px;
  overflow-y: auto;
  font-size: 14px;
  color: #0a2540;
}

.gc-ac-menu .gc-ac-item {
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  line-height: 1.3;
}

.gc-ac-menu .gc-ac-item.active,
.gc-ac-menu .gc-ac-item:hover {
  background: #00d1b2;
  color: #fff;
}

.gc-ac-menu .gc-ac-empty {
  padding: 8px 10px;
  color: #5b6376;
  font-style: italic;
}

.gc-ac-dim {
  position: fixed;
  inset: 0;
  background: rgba(10, 37, 64, 0.32);
  z-index: 270;
}

.gc-ac-menu.is-sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  border-radius: 14px 14px 0 0;
  max-height: 60vh;
  padding: 8px;
  box-shadow: 0 -8px 32px rgba(10, 37, 64, 0.24);
}

.gc-ac-menu.is-sheet .gc-ac-item {
  padding: 14px 12px;
  font-size: 15px;
}

.gc-reauth-input {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 8px;
  padding: 9px 10px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 14px;
  color: #0a2540;
}

.gc-reauth-error {
  color: #df1b41;
  font-size: 13px;
  margin-bottom: 8px;
}

.gc-reauth-error.hide {
  display: none;
}

/* ───── Rights/permission matrix (Authy rights behavior) ─────
 * The legacy rights widget renders as `.form-row.rightsTr`, so it
 * inherits the label-left / value-right flex and gets squashed into
 * the ~350px value column with the help text floating mid-card. The
 * matrix is a full-width data grid, not a single-value row — break it
 * out of the form-row flex and re-skin the table + All/Group/Owner
 * tab strip in the guideline language. Scoped to .proto-form so the
 * legacy non-proto rights screens are untouched. */
.proto-form .form-row.rightsTr {
  display: block;
  padding: 0;
  margin: 0;
  border: none;
  text-align: left;
  align-items: stretch;
}

.proto-form .form-row.rightsTr > .lbl {
  display: block;
  width: auto;
  padding: 16px 18px 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8898aa;
  text-align: left;
}

.proto-form .form-row.rightsTr .cntOnglet,
.proto-form .form-row.rightsTr #RigthsContainer {
  display: block;
  width: 100%;
}

.proto-form .form-row.rightsTr .cntOnglet {
  text-align: left;
}

/* Help blurb above the sub-tabs. */
.proto-form .form-row.rightsTr .cntOnglet > div:first-child {
  padding: 12px 18px 10px;
  max-width: 640px;
  font-size: 12px;
  line-height: 1.5;
  color: #8898aa;
  text-align: left;
}

/* All / Group / Owner sub-tab strip. */
.proto-form .form-row.rightsTr ul.ui-tabs-nav {
  display: flex;
  gap: 2px;
  margin: 0;
  padding: 0 18px;
  list-style: none;
  border-bottom: 1px solid #e3e8ee;
}

.proto-form .form-row.rightsTr ul.ui-tabs-nav li {
  list-style: none;
  background: none;
  border: none;
}

.proto-form .form-row.rightsTr ul.ui-tabs-nav li a {
  display: block;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #5b6376;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.proto-form .form-row.rightsTr ul.ui-tabs-nav li.ui-tabs-active a,
.proto-form .form-row.rightsTr ul.ui-tabs-nav li.ui-state-active a,
.proto-form .form-row.rightsTr ul.ui-tabs-nav li.selected a {
  color: #009b82;
  border-bottom-color: #00d1b2;
}

/* The matrix itself: full-width clean grid. */
.proto-form .form-row.rightsTr .rights-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  text-align: center;
}

.proto-form .form-row.rightsTr .rights-table thead th {
  padding: 10px 8px;
  background: #fafbfd;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8898aa;
  border-bottom: 1px solid #e3e8ee;
  text-align: center;
}

.proto-form .form-row.rightsTr .rights-table thead th:first-child {
  text-align: left;
  padding-left: 18px;
}

.proto-form .form-row.rightsTr .rights-table tbody td {
  padding: 7px 8px;
  border-bottom: 1px solid #eef1f5;
  font-size: 13px;
  color: #3c4257;
  vertical-align: middle;
}

.proto-form .form-row.rightsTr .rights-table tbody td:first-child {
  text-align: left;
  padding-left: 18px;
  font-weight: 500;
  color: #0a2540;
}

.proto-form .form-row.rightsTr .rights-table tbody tr:hover {
  background: #f6fbfa;
}

.sw-tabnav {
  display: flex;
  gap: 0;
  border-bottom: 0;
  background: #fff;
  padding: 0 18px;
  overflow-x: auto;
  flex-shrink: 0;
}

.sw-tabnav .tab-btn {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 12px 14px;
  font: inherit;
  font-size: 13.5px;
  font-weight: 500;
  color: #5b6376;
  cursor: pointer;
  position: relative;
  line-height: 1;
  white-space: nowrap;
}

.sw-tabnav .tab-btn:hover {
  color: #0a2540;
}

.sw-tabnav .tab-btn.is-active {
  color: #009b82;
  font-weight: 600;
}

.sw-tabnav .tab-btn.is-active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 2px;
  background: #00d1b2;
  border-radius: 2px;
}

.tab-pane[hidden] {
  display: none;
}

.proto-form .form-row.rightsTr .rights-table tbody tr:last-child td {
  border-bottom: none;
}

.sw-identity {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 24px 16px;
  border-bottom: 0;
  background: #fafbfd;
}

.sw-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00d1b2, #009b82);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 209, 178, 0.25);
}

.sw-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.sw-identity-text {
  flex: 1;
  min-width: 0;
}

.sw-name {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: #0a2540;
  letter-spacing: -0.01em;
}

/* When drawer.js binds the name to the underlying form input, it
 * sets contenteditable and adds .is-editable. Show a faint
 * underline-on-hover/focus so users discover the affordance. */
.sw-name.is-editable {
  cursor: text;
  border-radius: 4px;
  padding: 1px 4px;
  margin-left: -4px;
  transition: background 0.12s, box-shadow 0.12s;
  outline: none;
}

.sw-name.is-editable:hover {
  background: rgba(0, 0, 0, 0.03);
}

.sw-name.is-editable:focus {
  background: #fff;
  box-shadow: 0 0 0 2px #d4f3ed, inset 0 0 0 1px #00d1b2;
}

/* Empty-name placeholder hint on create mode (data-placeholder is
 * emitted by Form.php on .sw-name). Pseudo only shows while the
 * heading has no text content. */
.sw-name:empty::before {
  content: attr(data-placeholder);
  color: #aab4be;
  font-weight: 500;
}

body:has(#login-form) {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(ellipse at top left, rgba(0, 209, 178, 0.12), transparent 50%), radial-gradient(ellipse at bottom right, rgba(20, 184, 166, 0.08), transparent 50%), #f6f9fc;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* The legacy renderLogin wraps mainContent in .fullWH > .fullWH2 >
 * .centered. Flex-center each so the card sits dead-center on the
 * viewport regardless of which ancestor takes the layout. */
body:has(#login-form) .fullWH,
body:has(#login-form) .fullWH2,
body:has(#login-form) .centered {
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: left !important;
  min-height: 100vh;
}

#mainContent:has(#login-form) {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Beat the legacy `.login-wrapper { position:fixed; top:0; left:0;
 * width:100%; height:100%; background: bg-login.jpg }` rule. */
#logMeContainer.login-wrapper {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  background: none !important;
  animation: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px;
  box-sizing: border-box;
}

/* Override the legacy `.login-content { position:absolute; top:50%;
 * left:50%; transform: translate(-50%,-50%); width:400px }`. */
#logMeContainer .login-content {
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 380px;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 14px;
  padding: 32px 28px 24px;
  box-shadow: 0 8px 32px rgba(10, 37, 64, 0.08), 0 1px 2px rgba(10, 37, 64, 0.04);
  text-align: center;
  box-sizing: border-box;
}

/* Legacy .ac-client-logo is height:200px with absolute-positioned
 * image. Flatten to a natural-height block. */
#logMeContainer .ac-client-logo {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 22px !important;
}

#logMeContainer .ac-client-logo img {
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  max-width: 160px !important;
  max-height: none !important;
  height: auto !important;
  display: inline-block !important;
}

#logMeContainer .ac-client-logo {
  margin: 0 0 22px;
}

#logMeContainer .ac-client-logo img {
  max-width: 160px;
  height: auto;
}

#login-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#login-form .input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#login-form input[type=text],
#login-form input[type=password] {
  width: 100%;
  box-sizing: border-box;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  color: #0a2540;
  outline: none;
  transition: border-color 0.12s, box-shadow 0.12s;
  -webkit-appearance: none;
  text-align: left;
}

#login-form input::placeholder {
  color: #aab4be;
}

#login-form input:focus {
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px #ecfbf7;
}

#login-form button#logMe {
  height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  background: #00d1b2;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 209, 178, 0.25);
  transition: background 0.12s, transform 0.04s;
  margin-top: 4px;
}

#login-form button#logMe:hover {
  background: #009b82;
}

#login-form button#logMe:active {
  transform: translateY(1px);
}

#login-form .lost-password {
  display: inline-block;
  margin-top: 10px;
  font-size: 12.5px;
  color: #8898aa;
  text-decoration: none;
  text-align: center;
}

#login-form .lost-password:hover {
  color: #009b82;
}

/* Hide the legacy footer block on the login page. */
body:has(#login-form) .wCtFooter {
  display: none;
}

.sw-tags {
  display: flex;
  gap: 6px;
  margin-top: 4px;
  flex-wrap: wrap;
}

.sw-tag, .sw-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.78em;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.sw-tag {
  background: var(--gc-accent-soft, #ccfbf1);
  color: var(--gc-accent, #14b8a6);
}

.sw-pill {
  background: var(--gc-surface-2, #f1f5f9);
  color: var(--gc-text-muted, #475569);
}

.sw-identity .sw-tags {
  margin-top: 2px;
  gap: 4px;
  font-size: 0.85em;
}

.sw-identity .sw-tag,
.sw-identity .sw-pill {
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: capitalize;
}

.sw-identity .sw-tag {
  color: var(--gc-accent, #14b8a6);
}

.sw-identity .sw-pill {
  color: var(--gc-text-muted, #475569);
}

.sw-identity .sw-pill.pill-won {
  color: #16a34a;
}

.sw-identity .sw-pill.pill-lost {
  color: #dc2626;
}

.sw-identity .sw-pill.pill-qualified {
  color: #2563eb;
}

.sw-identity .sw-pill.pill-lead {
  color: #d97706;
}

.sw-identity .sw-pill.pill-negotiation {
  color: #7c3aed;
}

.sw-identity .sw-pill.pill-on-hold {
  color: #9333ea;
}

.sw-identity .sw-pill.pill-inactive {
  color: #64748b;
}

.sw-pill.pill-won {
  background: #dcfce7;
  color: #166534;
}

.sw-pill.pill-lost {
  background: #fee2e2;
  color: #991b1b;
}

.sw-pill.pill-qualified {
  background: #dbeafe;
  color: #1e40af;
}

.sw-pill.pill-lead {
  background: #fef3c7;
  color: #92400e;
}

.sw-pill.pill-negotiation {
  background: #ede9fe;
  color: #5b21b6;
}

.sw-pill.pill-on-hold {
  background: #f3e8ff;
  color: #6b21a8;
}

.sw-pill.pill-inactive {
  background: #e2e8f0;
  color: #475569;
}

.sw-identity-actions {
  display: flex;
  gap: 6px;
}

.sw-action {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  color: #009b82;
  text-decoration: none;
  border: 1px solid #e3e8ee;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.sw-action:hover {
  background: #ecfbf7;
  color: #009b82;
  border-color: #d4f3ed;
}

.sw-action i {
  font-size: 15px;
}

.sw-group {
  padding: 16px 24px;
  border-bottom: 0;
}

.sw-group:last-child {
  border-bottom: 0;
}

.sw-group-title {
  margin: 0 0 12px 0;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gc-text-muted, #475569);
  font-weight: 600;
}

.sw-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 640px) {
  .sw-grid {
    grid-template-columns: 1fr 1fr;
  }
  .sw-grid > .form-row.full-width {
    grid-column: 1/-1;
  }
}
/* Fields get a boxed border (border on the field only — section
 * dividers are removed). */
.sw-drawer.proto-form .sw-body input[type=text],
.sw-drawer.proto-form .sw-body input[type=number],
.sw-drawer.proto-form .sw-body input[type=email],
.sw-drawer.proto-form .sw-body input[type=tel],
.sw-drawer.proto-form .sw-body input[type=url],
.sw-drawer.proto-form .sw-body input[type=password],
.sw-drawer.proto-form .sw-body input[type=date],
.sw-drawer.proto-form .sw-body input[type=datetime-local],
.sw-drawer.proto-form .sw-body input[type=time],
.sw-drawer.proto-form .sw-body input:not([type]),
.sw-drawer.proto-form .sw-body textarea,
.sw-drawer.proto-form .sw-body select {
  border: 1px solid #e3e8ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  padding: 8px 10px !important;
  width: 100%;
  font-size: 13.5px;
  color: #0a2540;
  text-align: left !important;
  outline: none;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.12s, box-shadow 0.12s;
  box-sizing: border-box;
}

.sw-drawer.proto-form .sw-body input:hover,
.sw-drawer.proto-form .sw-body textarea:hover,
.sw-drawer.proto-form .sw-body select:hover {
  border-color: #8898aa !important;
}

.sw-drawer.proto-form .sw-body input:focus,
.sw-drawer.proto-form .sw-body textarea:focus,
.sw-drawer.proto-form .sw-body select:focus {
  border-color: #00d1b2 !important;
  box-shadow: 0 0 0 3px #ecfbf7 !important;
}

.sw-drawer.proto-form .sw-body .form-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  padding: 0;
  border: 0;
  min-height: 0;
}

.sw-drawer.proto-form .sw-body .form-row .lbl {
  font-size: 11px;
  font-weight: 500;
  color: #8898aa;
  text-transform: none;
  letter-spacing: 0;
  width: auto;
}

/* Selectbox: border lives on the VISIBLE field (.select-label-span)
 * only. The wrapping <label.js-select-label> stays unstyled so the
 * border doesn't enclose the dropdown <ul> + hidden inputs too. */
.sw-drawer.proto-form .sw-body .form-row .js-select-label {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-align: left;
  width: 100%;
}

/* Native <select> drawer.js drops in front of each .js-select-label
 * widget on desktop ≥720px. Matches the boxed input styling. */
.sw-drawer.proto-form .sw-body .form-row select.sw-native-select {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  border: 1px solid #e3e8ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  padding: 8px 10px !important;
  width: 100%;
  font: inherit;
  font-size: 13.5px;
  color: #0a2540;
  text-align: left !important;
  outline: none;
  box-shadow: none !important;
  box-sizing: border-box;
  cursor: pointer;
}

.sw-drawer.proto-form .sw-body .form-row select.sw-native-select:focus {
  border-color: #00d1b2 !important;
  box-shadow: 0 0 0 3px #ecfbf7 !important;
}

.sw-drawer.proto-form .sw-body .form-row .select-label-span {
  border: 1px solid #e3e8ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 8px 28px 8px 10px !important;
  text-align: left;
  width: 100%;
  font-size: 13.5px;
  font-weight: 500;
  color: #0a2540;
  box-sizing: border-box;
}

.sw-drawer.proto-form .sw-body .form-row .select-label-span::after {
  right: 10px;
}

/* The legacy _selectbox.scss positions .select-label ul as
 * position:fixed left:0 right:0 (full-width bottom sheet style).
 * Override to a popover anchored under the field on desktop. The
 * .js-select-label is the relative container; ul becomes absolute
 * top:100% width:100% so it drops down. mobile-header (title bar
 * with close ✕ that the mobile sheet shows) is hidden too. */
.sw-drawer.proto-form .sw-body .form-row .js-select-label {
  position: relative !important;
}

.sw-drawer.proto-form .sw-body .form-row .js-select-label .mobile-header {
  display: none !important;
}

.sw-drawer.proto-form .sw-body .form-row ul.scrollable.select-element,
.sw-drawer.proto-form .sw-body .form-row ul.select-element {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 4px !important;
  list-style: none !important;
  background: #fff !important;
  border: 1px solid #e3e8ee !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 28px rgba(10, 37, 64, 0.15) !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  z-index: 220 !important;
}

.sw-drawer.proto-form .sw-body .form-row ul.select-element li {
  list-style: none !important;
  padding: 7px 10px !important;
  border-radius: 5px !important;
  font-size: 13.5px !important;
  color: #3c4257 !important;
  cursor: pointer !important;
  line-height: 1.3 !important;
  background: transparent !important;
}

.sw-drawer.proto-form .sw-body .form-row ul.select-element li:hover,
.sw-drawer.proto-form .sw-body .form-row ul.select-element li.hovered {
  background: #fafbfd !important;
  color: #0a2540 !important;
}

.sw-drawer.proto-form .sw-body .form-row ul.select-element li.selected {
  background: #ecfbf7 !important;
  color: #009b82 !important;
  font-weight: 600 !important;
}

/* Open state: the plugin toggles .show on the .js-select-label.
 * Mint-bordered field + faint glow + open dropdown below. */
.sw-drawer.proto-form .sw-body .form-row .js-select-label.show .select-label-span {
  border-color: #00d1b2 !important;
  box-shadow: 0 0 0 3px #ecfbf7 !important;
}

/* Filter-inside-dropdown input — reskin to match the field style
 * (the plugin uses it for type-ahead filtering of options). */
.sw-drawer.proto-form .sw-body .form-row .select-element .selextbox-input {
  width: calc(100% - 8px) !important;
  margin: 0 0 4px 0 !important;
  padding: 6px 8px !important;
  border: 1px solid #e3e8ee !important;
  border-radius: 6px !important;
  background: #fafbfd !important;
  font-size: 13px !important;
  color: #0a2540 !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.sw-drawer.proto-form .sw-body .form-row .select-element .selextbox-input:focus {
  border-color: #00d1b2 !important;
  background: #fff !important;
}

/* Drawer-wide hairline kill: the user wants NO section dividers
 * inside the drawer. Remove all border-* from .form-nav (legacy),
 * .form-card (legacy wrapper that sometimes appears around field
 * groups), and the inner .sw-body's nested cards. Input baseline
 * underlines are kept (set above). */
.sw-drawer.proto-form .form-nav,
.sw-drawer.proto-form .form-card {
  border: 0 !important;
  box-shadow: none !important;
}

/* CKEditor: drawer.js (re)binds .tinymce textareas after every
 * screen mount. CKEditor injects a sibling .cke wrapper next to
 * the textarea — the textarea itself is hidden by CKEditor's own
 * CSS. Make the wrapper fit the form-row width and the iframe a
 * sensible height for the narrow drawer. */
.sw-drawer.proto-form .sw-body .form-row .cke {
  width: 100% !important;
  border: 1px solid #e3e8ee !important;
  border-radius: 6px !important;
  background: #fff;
  box-sizing: border-box;
  overflow: hidden;
}

.sw-drawer.proto-form .sw-body .form-row .cke_inner,
.sw-drawer.proto-form .sw-body .form-row .cke_contents {
  width: 100% !important;
  box-sizing: border-box;
}

.sw-drawer.proto-form .sw-body .form-row .cke_contents {
  height: 220px !important;
}

.sw-drawer.proto-form .sw-body .form-row .cke_top,
.sw-drawer.proto-form .sw-body .form-row .cke_bottom {
  background: #fafbfd !important;
  border-color: #e3e8ee !important;
}

/* Don't double-box: when CKEditor takes over a row, drop the
 * underlying textarea's own border (it's hidden anyway, but the
 * generic .form-row textarea rule above adds a focus glow that
 * leaks). */
.sw-drawer.proto-form .sw-body .form-row textarea.tinymce {
  display: none !important;
}

/* sw-tabnav: classic underline-style active tab + hairline divider under
 * the tab row, matching the theme guideline
 * (screenshots/desktop/05-client-edit-client-tab.png). The base
 * .sw-tabnav .tab-btn.is-active rules (mint-700 text + 2px ::after
 * underline bar) take effect since we no longer paint a pill background
 * or hide ::after. */
/* Descendant (not > direct-child): the emitted markup nests .sw-tabnav
 * inside .cntOnglet, so a `.proto-form > .sw-tabnav` selector misses. */
.sw-drawer.proto-form .sw-tabnav {
  padding: 0 18px;
  border-bottom: 1px solid #e3e8ee;
}

.sw-footer {
  margin-top: auto;
  padding: 12px 20px;
  border-top: 0;
  background: #fafbfd;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 11.5px;
  color: #8898aa;
}

.sw-footer .sw-meta {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  min-width: 0;
  line-height: 1.4;
}

.sw-footer .sw-delete {
  appearance: none;
  background: #fff;
  border: 1px solid #e3e8ee;
  padding: 6px 12px;
  border-radius: 6px;
  color: #df1b41;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: inherit;
  font-size: 12.5px;
  font-weight: 500;
  flex-shrink: 0;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.sw-footer .sw-delete:hover {
  background: #fdebef;
  border-color: #df1b41;
  color: #df1b41;
}

.sw-footer .sw-delete i {
  font-size: 14px;
}

.ac-chip {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--gc-surface-2, #f1f5f9);
  color: var(--gc-text, #0f172a);
  font-size: 0.85em;
  margin-right: 4px;
  line-height: 1.6;
  white-space: nowrap;
}

/* ============================================================
   Client-specific styles (list + edit)
============================================================ */
.empty-state {
  padding: 60px 20px;
  text-align: center;
  color: #8898aa;
  font-size: 14px;
}

.empty-state i {
  font-size: 32px;
  color: #aab4be;
  display: block;
  margin-bottom: 8px;
}

.empty-state strong {
  color: #0a2540;
  font-weight: 600;
}

.chip-count {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10.5px;
  color: #aab4be;
  font-weight: 500;
}

.va-mob-chip.active .chip-count {
  color: #009b82;
  font-weight: 700;
}

/* ───── Client list row ───── */
.cl-list {
  padding-bottom: 8px;
}

.cl-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  background: #fff;
  border-bottom: 1px solid #eef1f5;
  border: none;
  border-bottom: 1px solid #eef1f5;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background 0.08s;
  font-family: inherit;
}

.cl-row:active {
  background: #ecfbf7;
}

.cl-avatar {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
  flex-shrink: 0;
  font-family: "Inter", system-ui, sans-serif;
}

.cl-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cl-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.cl-name {
  font-size: 14.5px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.005em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.cl-type {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: 3px;
  flex-shrink: 0;
}

.cl-type-client {
  background: #ecfbf7;
  color: #009b82;
  border: 1px solid #d4f3ed;
}

.cl-type-prospect {
  background: #ffedd5;
  color: #c2410c;
  border: 1px solid #fed7aa;
}

.cl-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: #8898aa;
  overflow: hidden;
}

.cl-meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #aab4be;
  flex-shrink: 0;
}

.cl-contact {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.cl-contact i {
  font-size: 12px;
  color: #aab4be;
  flex-shrink: 0;
}

.cl-phone {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11.5px;
  color: #8898aa;
  flex-shrink: 0;
}

.cl-trail {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.cl-trail .chev {
  color: #aab4be;
  font-size: 17px;
}

.cl-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  font-weight: 600;
  padding: 3px 8px 3px 6px;
  border-radius: 999px;
  line-height: 1.3;
  white-space: nowrap;
}

.cl-status-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
  background: currentColor;
}

/* Pipeline-status colour system. The emitter emits
 * `cl-status cl-status-<sanitised value>` (lower-cased, non-alnum
 * stripped: "On hold" -> onhold, "Won" -> won). Unmapped values fall
 * back to the neutral base below so an arbitrary enum still renders a
 * legible pill. Hex/tints from handoff/README + the Clients screenshot. */
.cl-status {
  background: #fafbfd;
  color: #5b6376;
}

.cl-status-won {
  background: #ecfbf7;
  color: #009b82;
}

.cl-status-active {
  background: #ecfbf7;
  color: #009b82;
}

.cl-status-published {
  background: #ecfbf7;
  color: #009b82;
}

.cl-status-qualified {
  background: #ede9fe;
  color: #6d28d9;
}

.cl-status-lead {
  background: #e0f2fe;
  color: #0369a1;
}

.cl-status-open {
  background: #e0f2fe;
  color: #0369a1;
}

.cl-status-negotiation {
  background: #fef3e0;
  color: #b45309;
}

.cl-status-shipped {
  background: #fef3e0;
  color: #b45309;
}

.cl-status-normal {
  background: #fef3e0;
  color: #b45309;
}

.cl-status-lost {
  background: #fdebef;
  color: #b3163a;
}

.cl-status-discontinued {
  background: #fdebef;
  color: #b3163a;
}

.cl-status-cancelled {
  background: #fdebef;
  color: #b3163a;
}

.cl-status-high {
  background: #fdebef;
  color: #b3163a;
}

.cl-status-onhold {
  background: #f6f9fc;
  color: #8898aa;
}

.cl-status-inactive {
  background: #f6f9fc;
  color: #8898aa;
}

.cl-status-draft {
  background: #f6f9fc;
  color: #8898aa;
}

.cl-status-closed {
  background: #f6f9fc;
  color: #8898aa;
}

.cl-status-low {
  background: #f6f9fc;
  color: #8898aa;
}

.mono {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ───── Edit form: hero ───── */
.cl-hero {
  margin: 14px 14px 4px;
  padding: 14px;
  background: linear-gradient(135deg, #fff 0%, #fafbfd 100%);
  border: 1px solid #e3e8ee;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

.cl-hero-avatar {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 19px;
  font-weight: 700;
  flex-shrink: 0;
  font-family: "Inter", system-ui, sans-serif;
  box-shadow: 0 4px 12px rgba(10, 37, 64, 0.12);
}

.cl-hero-body {
  flex: 1;
  min-width: 0;
}

.cl-hero-name {
  font-size: 17px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.012em;
  margin-bottom: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cl-hero-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* ───── Quick actions row ───── */
.cl-quickactions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 10px 14px 4px;
}

.cl-qa {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  padding: 11px 6px 9px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: #0a2540;
  cursor: pointer;
  transition: background 0.08s, transform 0.08s;
  -webkit-tap-highlight-color: transparent;
}

.cl-qa:active {
  background: #f6f9fc;
  transform: scale(0.97);
}

.cl-qa i {
  font-size: 22px;
  color: #009b82;
}

.cl-qa span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: -0.005em;
}

/* ───── Form row variants ───── */
.proto-form .form-row-stack {
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 10px 14px;
}

.proto-form .form-row-stack .lbl {
  width: auto;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8898aa;
}

.proto-form .form-row-stack input,
.proto-form .form-row-stack textarea {
  text-align: left;
  font-size: 14px;
  border: none;
  background: transparent;
  padding: 0;
  outline: none;
  font-family: inherit;
  color: #0a2540;
  width: 100%;
  resize: none;
  -webkit-appearance: none;
}

.proto-form .form-row-stack input::placeholder,
.proto-form .form-row-stack textarea::placeholder {
  color: #aab4be;
}

.cl-note {
  min-height: 70px;
  line-height: 1.5;
}

.proto-form .form-row-toggle {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.proto-form .form-row-toggle .lbl {
  width: auto;
  flex: 1;
}

.proto-form .form-row-toggle .val {
  flex: 0 0 auto;
  margin-right: 10px;
}

.cl-toggle {
  width: 42px;
  height: 25px;
  border-radius: 13px;
  background: #e3e8ee;
  position: relative;
  transition: background 0.18s;
  flex-shrink: 0;
  cursor: pointer;
}

.cl-toggle.on {
  background: #00d1b2;
}

.cl-toggle-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(10, 37, 64, 0.16);
  transition: transform 0.18s cubic-bezier(0.32, 0.72, 0.32, 1);
}

.cl-toggle.on .cl-toggle-knob {
  transform: translateX(17px);
}

/* phone work + ext split */
.cl-split {
  display: flex;
  gap: 8px;
  flex: 1;
  min-width: 0;
  justify-content: flex-end;
}

.cl-split input {
  text-align: right;
}

.cl-split input.cl-ext {
  width: 60px;
  flex: 0 0 auto;
  border-left: 1px solid #e3e8ee;
  padding-left: 10px;
}

/* rate input with currency on either side */
.cl-rate-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
  flex: 1;
  min-width: 0;
}

.cl-rate-wrap input {
  width: 70px;
  flex: 0 0 auto;
  text-align: right;
}

.cl-rate-cur {
  color: #8898aa;
  font-size: 14px;
}

.cl-rate-suffix {
  font-size: 12px;
  color: #8898aa;
}

/* user chip in row val */
.cl-userchip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.cl-userav {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #fff;
  font-size: 9.5px;
  font-weight: 700;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-family: "Inter", system-ui, sans-serif;
}

/* Related rows */
.cl-related-row {
  padding: 12px 14px;
}

.cl-related-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #ecfbf7;
  color: #009b82;
  display: grid;
  place-items: center;
  font-size: 16px;
  flex-shrink: 0;
}

.cl-related-label {
  flex: 1;
  font-size: 14px;
  color: #0a2540;
  font-weight: 500;
  margin-left: 0;
}

.cl-related-count {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  color: #8898aa;
  font-variant-numeric: tabular-nums;
  background: #f6f9fc;
  padding: 2px 9px;
  border-radius: 999px;
  min-width: 26px;
  text-align: center;
}

/* Sheet enhancements */
.sheet-userav {
  margin-left: 4px;
  width: 28px;
  height: 28px;
  font-size: 11px;
  border-radius: 50%;
}

.sheet-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-left: 8px;
  flex-shrink: 0;
}

.sheet-row-label {
  font-size: 14.5px;
  font-weight: 500;
  color: #0a2540;
  letter-spacing: -0.005em;
}

.sheet-row-desc {
  font-size: 12px;
  color: #8898aa;
  margin-top: 1px;
}

.proto-sheet .sheet-row {
  gap: 12px;
  align-items: center;
}

/* ============================================================
   Client child-list screens
   Pushed on top of the client edit form (z-index 40+).
============================================================ */
.ch-screen {
  display: flex;
  flex-direction: column;
  background: #f6f9fc;
}

.ch-count {
  display: inline-block;
  margin-left: 6px;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  font-weight: 500;
  color: #8898aa;
  background: #f6f9fc;
  padding: 1px 7px;
  border-radius: 999px;
  vertical-align: 1px;
}

/* ───── Money ───── */
.ch-money {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-size: 14px;
  color: #0a2540;
  font-weight: 600;
}

.ch-money small {
  font-size: 10.5px;
  font-weight: 500;
  color: #8898aa;
  margin-left: 2px;
}

/* ───── Summary strip (Projects) ───── */
.ch-summary {
  display: flex;
  gap: 0;
  padding: 14px 14px 4px;
}

.ch-summary-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 12px;
  border-right: 1px solid #e3e8ee;
}

.ch-summary-stat:last-child {
  border-right: none;
}

.ch-summary-stat .k {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #8898aa;
}

.ch-summary-stat .v {
  font-size: 18px;
  font-weight: 700;
  color: #0a2540;
  font-family: "Inter", system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.018em;
  line-height: 1.1;
}

.ch-summary-stat .v .ch-money {
  font-size: 15px;
}

/* ───── Bill summary (2 big cards) ───── */
.ch-bill-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 14px 14px 4px;
}

.ch-bill-stat {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  padding: 12px 13px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ch-bill-stat.ch-bill-stat-unpaid {
  background: linear-gradient(135deg, #fffbef 0%, #fff 100%);
  border-color: #fde8a4;
}

.ch-bill-stat .k {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: #8898aa;
}

.ch-bill-stat .v {
  font-size: 17px;
  font-weight: 700;
  color: #0a2540;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1.1;
  margin-top: 2px;
}

.ch-bill-stat .v .ch-money {
  font-size: 16px;
  color: #0a2540;
}

.ch-bill-stat.ch-bill-stat-unpaid .v .ch-money {
  color: #b45309;
}

.ch-bill-stat .extra {
  font-size: 11px;
  color: #8898aa;
  margin-top: 2px;
}

/* ───── Generic list ───── */
.ch-list {
  padding: 4px 14px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ch-row {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 10px;
  padding: 12px 12px;
  display: flex;
  align-items: stretch;
  gap: 11px;
  cursor: pointer;
  text-align: left;
  border: 1px solid #e3e8ee;
  position: relative;
  font-family: inherit;
  transition: border-color 0.12s, box-shadow 0.12s, transform 0.06s;
}

.ch-row:hover {
  border-color: #cdd5df;
}

.ch-row:active {
  transform: scale(0.99);
  background: #fafbfd;
}

/* color strip on left for projects */
.ch-row-strip {
  padding-left: 14px;
  overflow: hidden;
}

.ch-row-strip .ch-strip {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
}

.ch-row-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.ch-row-line1 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ch-pref {
  font-size: 11px;
  font-weight: 600;
  color: #8898aa;
  letter-spacing: 0.02em;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

.ch-row-name {
  font-size: 14px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.005em;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ch-row-name-sm {
  font-size: 12.5px;
  font-weight: 500;
  color: #5b6376;
}

.ch-row-name-line1 {
  font-size: 13.5px;
  margin-top: 2px;
}

.ch-row-line3 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: #8898aa;
  margin-top: 2px;
}

.ch-row-line3 .ch-money {
  font-size: 12.5px;
}

.ch-date {
  font-size: 11px;
  color: #8898aa;
}

.ch-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #aab4be;
  flex-shrink: 0;
}

/* ───── Bills row variant ───── */
.ch-row-bill {
  padding: 11px 11px 11px 8px;
  align-items: center;
}

.ch-bill-icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: #ecfbf7;
  color: #009b82;
  display: grid;
  place-items: center;
  font-size: 19px;
  flex-shrink: 0;
}

.ch-bill-ref {
  font-size: 12.5px;
  font-weight: 600;
  color: #0a2540;
}

.ch-bill-amount {
  flex-shrink: 0;
  padding-left: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
}

.ch-bill-amount .ch-money {
  font-size: 15px;
  font-weight: 700;
}

/* ───── Files row variant ───── */
.ch-row-file {
  padding: 10px 10px;
  align-items: center;
}

.ch-file-icon {
  position: relative;
  width: 42px;
  height: 50px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  font-size: 22px;
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(10, 37, 64, 0.04);
}

.ch-file-icon i {
  font-size: 22px;
  color: inherit;
}

.ch-file-type-label {
  position: absolute;
  bottom: 4px;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: rgba(255, 255, 255, 0.65);
  padding: 1px 3px;
  border-radius: 2px;
}

.ch-file-action {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #f6f9fc;
  border: none;
  color: #5b6376;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  cursor: pointer;
  font-size: 17px;
  margin: 0 -2px 0 4px;
}

.ch-file-action:hover {
  background: #ecfbf7;
  color: #009b82;
}

.ch-file-action:active {
  transform: scale(0.93);
}

/* ───── Search bar inline (used in Files) ───── */
.ch-search {
  position: relative;
  margin: 12px 14px 4px;
}

.ch-search input {
  width: 100%;
  height: 36px;
  padding: 0 36px 0 32px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  font-size: 13px;
  background: #fff;
  outline: none;
  -webkit-appearance: none;
}

.ch-search > i {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #8898aa;
  font-size: 15px;
}

.ch-search .va-mob-filter-btn {
  position: absolute;
  right: 4px;
  top: 4px;
}

/* ───── Journal timeline ───── */
.ch-timeline {
  position: relative;
  padding: 12px 14px 24px;
}

.ch-month-head {
  font-size: 11.5px;
  font-weight: 700;
  color: #8898aa;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 14px 0 8px 4px;
  position: sticky;
  top: 0;
  background: #f6f9fc;
  z-index: 1;
}

.ch-tl-item {
  position: relative;
  display: flex;
  gap: 12px;
  padding-bottom: 10px;
  cursor: pointer;
}

.ch-tl-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 16px;
  flex-shrink: 0;
  z-index: 1;
  border: 3px solid #f6f9fc;
}

.ch-tl-line {
  position: absolute;
  left: 16px;
  top: 32px;
  bottom: 0;
  width: 2px;
  background: #e3e8ee;
  z-index: 0;
}

.ch-tl-item:last-child .ch-tl-line {
  display: none;
}

.ch-tl-card {
  flex: 1;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 10px;
  padding: 11px 12px;
  margin-top: 4px;
  transition: border-color 0.12s, transform 0.06s;
}

.ch-tl-item:active .ch-tl-card {
  transform: scale(0.99);
  background: #fafbfd;
}

.ch-tl-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.ch-tl-date {
  margin-left: auto;
  font-size: 11px;
  color: #8898aa;
}

.ch-tl-subject {
  font-size: 14px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.005em;
  margin-bottom: 4px;
}

.ch-tl-body {
  font-size: 12.5px;
  color: #3c4257;
  line-height: 1.45;
  margin-bottom: 8px;
}

.ch-tl-author {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-top: 7px;
  border-top: 1px solid #eef1f5;
  font-size: 11.5px;
  color: #8898aa;
}

.ch-tl-author .cl-userav {
  width: 18px;
  height: 18px;
  font-size: 8.5px;
}

/* ───── Bill access ───── */
.ch-access-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #ecfbf7;
  color: #009b82;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 18px;
}

/* ───── Empty state ───── */
.ch-empty {
  padding: 70px 24px;
  text-align: center;
}

.ch-empty-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, #fafbfd, #f6f9fc);
  border: 1px solid #e3e8ee;
  color: #8898aa;
  display: grid;
  place-items: center;
  font-size: 28px;
}

.ch-empty-title {
  font-size: 15.5px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.012em;
}

.ch-empty-body {
  font-size: 13px;
  color: #8898aa;
  margin-top: 4px;
  line-height: 1.5;
}

.ch-empty-body strong {
  color: #0a2540;
  font-weight: 600;
}

/* ===== Legacy child-panel chrome → guideline (client-children) =====
 * The edit form still emits jQuery-UI child tabs (.child_pannel /
 * .panel-heading / ul.ui-tabs-nav / .ac-list-form-header-child); map
 * them to the guideline Related/child look (prototype-children.css)
 * without rewriting the child emitter. */
.child_pannel.childCntClass {
  margin-top: 18px;
  background: #ffffff;
  border: 1px solid #e3e8ee;
  border-radius: 10px;
  overflow: hidden;
}

.child_pannel .panel-heading {
  padding: 12px 16px 0;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8898aa;
  background: transparent;
  border: none;
}

.child_pannel ul.ui-tabs-nav {
  display: flex;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 6px 12px 0;
  border-bottom: 1px solid #e3e8ee;
  overflow-x: auto;
}

.child_pannel ul.ui-tabs-nav::-webkit-scrollbar {
  display: none;
}

.child_pannel ul.ui-tabs-nav li {
  list-style: none;
  margin: 0;
  flex-shrink: 0;
}

.child_pannel ul.ui-tabs-nav li a {
  display: block;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 600;
  color: #5b6376;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  text-decoration: none;
  cursor: pointer;
}

.child_pannel ul.ui-tabs-nav li a:hover {
  color: #0a2540;
}

.child_pannel ul.ui-tabs-nav li.ui-state-active a {
  color: #009b82;
  border-bottom-color: #00d1b2;
}

/* Compact child toolbar + guideline "＋ New" button. */
.ac-list-form-header-child {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #fafbfd;
  border-bottom: 1px solid #eef1f5;
}

/* The legacy .button-link-blue forces 60×60 + text-indent:-9999px
 * (icon-button hack) → a blank mint square. Hard-reset to a labelled
 * guideline pill. */
.ac-list-form-header-child .add-button,
.ac-list-form-header-child a.add-button.button-link-blue,
.ac-list-form-header-child .add-btn,
.ac-list-form-header-child a.add-btn {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px;
  width: auto !important;
  height: 32px !important;
  min-width: 0 !important;
  padding: 0 14px 0 11px !important;
  background: #00d1b2 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  overflow: visible !important;
  box-shadow: 0 1px 2px rgba(0, 209, 178, 0.3);
  background-image: none !important;
}

.ac-list-form-header-child .add-button:hover,
.ac-list-form-header-child .add-btn:hover {
  background: #00b89a !important;
  color: #fff !important;
}

.ac-list-form-header-child .add-button span,
.ac-list-form-header-child .add-btn span {
  display: inline !important;
  text-indent: 0 !important;
  position: static !important;
  font-size: 13px !important;
  color: #fff !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  text-decoration: none !important;
}

.ac-list-form-header-child .add-btn i {
  font-size: 15px;
  line-height: 1;
}

/* No leading + glyph on child Add — guideline shows a plain mint pill */
/* The child-add toolbar also carries a child-select picker form
 * (form.va-mob-searchform > .ac-search-item > .select-label). Outside
 * .proto-form the _formv2 selectbox re-skin doesn't reach it, so the
 * legacy widget renders as a broken ~70px stacked box. Lay the form
 * out inline and re-skin the picker as a clean bordered control;
 * order it before the +Add button. */
.ac-list-form-header-child form.va-mob-searchform {
  order: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  min-width: 0;
}

.ac-list-form-header-child .add-button,
.ac-list-form-header-child a.add-button.button-link-blue,
.ac-list-form-header-child .add-btn {
  order: 1;
}

/* Child-list nav title: entity name + count pill, sits left of the
 * Add button. Count reuses the .ch-count pill skin defined above. */
.ac-list-form-header-child .ch-list-title {
  order: -1;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

.ac-list-form-header-child .ch-list-title-name {
  font-size: 14px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.005em;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* gap on the inline-flex handles spacing; clear the inherited margin
 * from the global .ch-count rule so we don't double-space here. */
.ac-list-form-header-child .ch-list-title .ch-count {
  vertical-align: baseline;
  margin-left: 0;
}

.ac-list-form-header-child .ac-search-item {
  flex: 0 1 240px;
  min-width: 0;
  margin: 0;
}

/* The child-add form reuses the list-search markup; its Search/Clear
 * action buttons and filter-toggle are list chrome, not part of the
 * guideline child-add toolbar (just picker + ＋Add). */
.ac-list-form-header-child form.va-mob-searchform .ac-action-buttons,
.ac-list-form-header-child form.va-mob-searchform .va-mob-filter-btn {
  display: none;
}

.ac-list-form-header-child .select-label.js-select-label {
  display: block;
  width: 100%;
  margin: 0;
  position: relative;
}

.ac-list-form-header-child .select-label-span {
  box-sizing: border-box;
  width: 100%;
  height: 34px;
  line-height: 34px;
  padding: 0 30px 0 12px;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 500;
  color: #0a2540;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  position: relative;
  transition: border-color 0.12s;
}

.ac-list-form-header-child .select-label-span.gray,
.ac-list-form-header-child .select-label-span.default {
  color: #aab4be;
  font-weight: 400;
}

.ac-list-form-header-child .select-label-span:hover {
  border-color: #00d1b2;
}

.ac-list-form-header-child .select-label-span::after {
  content: "›";
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-52%) rotate(90deg);
  font-size: 15px;
  color: #aab4be;
  pointer-events: none;
}

.ac-list-form-header-child .select-label.js-select-label ul.scrollable.select-element {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: auto;
  width: max-content;
  min-width: 100%;
  max-width: 320px;
  max-height: 280px;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 9px;
  box-shadow: 0 8px 28px rgba(10, 37, 64, 0.16);
  overflow-y: auto;
  z-index: 60;
}

.ac-list-form-header-child .select-label ul.select-element li {
  text-align: left;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #3c4257;
}

.ac-list-form-header-child .select-label ul.select-element li:hover,
.ac-list-form-header-child .select-label ul.select-element li.hovered {
  background: #fafbfd;
}

.ac-list-form-header-child .select-label ul.select-element li.selected {
  background: #ecfbf7;
  color: #009b82;
  font-weight: 600;
}

.ac-list-form-header-child .select-label ul.select-element li.default {
  color: #aab4be;
}

.childListWrapper {
  padding: 0;
}

.childListWrapper .va-mob.proto-app[data-parent] {
  position: relative;
  inset: auto;
  height: auto;
  background: transparent;
}

.childListWrapper .va-mob-pager {
  border: none;
  background: transparent;
}

/* _desktopv2.scss — desktop responsive layer (>=720px).
 *
 * Re-skins the SAME builder-emitted mobile markup into the guideline
 * desktop shell (tmp/GoatCheese theme guideline/new/desktop.css). No new
 * markup, no .dt-* classes emitted, same vanilla JS client. Everything
 * is inside the media query, so mobile (<720px) is byte-for-byte
 * unchanged. Ported metrics: 248px sidebar, 48px topbar (desktop.css
 * .dt-side / .dt-topbar / .dt-main). */
@media (min-width: 720px) {
  /* ---- Sidebar: the off-canvas mobile drawer, pinned permanent.
   * Width tightened from the original 248px → 200px to match the
   * design guideline's denser rail (target ~165–180px). 200px keeps
   * room for the count badge and longer entity labels. ---- */
  #appDrawer.proto-drawer {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 240px;
    transform: none !important;
    transition: none;
    box-shadow: none;
    border-right: 1px solid #e3e8ee;
    z-index: 40;
  }
  #appDrawer.proto-drawer .dr-head {
    border-bottom: 1px solid #eef1f5;
    padding: 12px 14px;
  }
  /* A permanent rail can't be dismissed. */
  #appDrawer.proto-drawer .dr-close {
    display: none;
  }
  #appDrawer.proto-drawer .dr-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 4px 8px 10px;
    scrollbar-width: none;
  }
  #appDrawer.proto-drawer .dr-scroll::-webkit-scrollbar {
    display: none;
  }
  /* Compact rail items so all 24 entities fit without scrolling. */
  #appDrawer.proto-drawer .ac-nav,
  #appDrawer.proto-drawer .ac-menu {
    padding: 0;
    margin: 0;
  }
  #appDrawer.proto-drawer .ac-menu > li {
    margin: 0;
    padding: 0;
  }
  /* Exclude the section-header dashboard shortcut (.dr-section-dash): it is
     an <a> under .ac-menu but must stay icon-sized, not stretch to full
     width — otherwise it eats the row and collapses the .dr-section-label. */
  #appDrawer.proto-drawer .ac-menu a:not(.dr-section-dash) {
    box-sizing: border-box;
    width: 100%;
    padding: 3px 9px !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    gap: 8px !important;
    border-radius: 5px;
    line-height: 1.35;
  }
  #appDrawer.proto-drawer .ac-menu a i {
    font-size: 15px;
    width: 18px;
  }
  #appDrawer.proto-drawer .ac-menu a .ac-alert-count {
    font-size: 10px;
    padding: 0 5px;
    margin-left: auto;
    margin-right: 4px;
  }
  #appDrawer.proto-drawer .menu-subtitle {
    padding: 6px 10px 0 !important;
    margin: 0 !important;
    font-size: 9.5px !important;
    letter-spacing: 0.07em;
    line-height: 1.2;
  }
  /* Sub-menu nested level: collapse the indent + side bar to a
   * subtle 6px inset so it doesn't waste horizontal room. */
  #appDrawer.proto-drawer .sub-menu {
    margin: 0 0 0 6px !important;
    padding: 0 0 0 6px !important;
    border-left-color: #eef1f5 !important;
  }
  #appDrawer.proto-drawer .sub-menu a {
    padding: 2px 8px !important;
    font-size: 12px !important;
  }
  #appDrawer.proto-drawer .dr-head {
    padding: 10px 12px;
  }
  /* No backdrop on desktop — the rail is always present. */
  #appDim.proto-dim {
    display: none !important;
  }
  /* ---- Main column, offset by the rail ---- */
  /* Legacy makes .center-panel position:fixed with no width, so it
   * shrink-wraps to the card width. Pin it to fill the viewport minus
   * the rail (works whether legacy sets fixed or not). */
  .center-panel {
    position: fixed !important;
    left: 240px !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    width: auto !important;
    transform: none !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #f6f9fc;
  }
  /* ---- Topbar: 48px, always shown on desktop (override the
   * list-page :has() hide); the hamburger is redundant beside a
   * permanent rail. ---- */
  body:has(.va-mob.proto-app[data-model]) .app-topbar,
  .app-topbar {
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 22px;
    background: #fff;
    border-bottom: 1px solid #e3e8ee;
    flex-shrink: 0;
  }
  /* No hamburgers on desktop: the rail is permanent. Hide the topbar
   * opener AND the per-list in-header one + its stray search glyph. */
  .app-topbar .menu-btn,
  .va-mob .va-mob-row1 .menu-btn,
  .va-mob .va-mob-search > i {
    display: none;
  }
  .app-topbar .app-topbar-title {
    font-size: 13px;
    font-weight: 600;
    color: #5b6376;
  }
  /* Breadcrumb chevron before the entity crumb. */
  .app-topbar .app-topbar-title::before {
    content: "Home  ›  ";
    color: #aab4be;
    font-weight: 500;
  }
  /* Base .content-wrapper carries a 70px top pad for the fixed mobile
   * topbar; on desktop the topbar is in-flow so kill it (higher
   * specificity than the base single-class rule). */
  .center-panel .content-wrapper {
    flex: 1;
    overflow: auto;
    min-height: 0;
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .center-panel .content-wrapper #tabsContain {
    padding-top: 0 !important;
  }
  /* ---- List flows inside the content column (not a full overlay).
   * No extra top gap above the page-head. ---- */
  .content-wrapper .va-mob.proto-app,
  .proto-screen .va-mob.proto-app {
    position: relative;
    inset: auto;
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: visible;
  }
  /* The child-list .va-mob inside a nested .proto-screen must flow
   * BELOW the screen's toolbar/sw-header, not absolutely overlap it. */
  .proto-screen > .va-mob.proto-app,
  .proto-screen .childListWrapper {
    position: relative;
    inset: auto;
    flex: 1 1 auto;
    min-height: 0;
  }
  /* Legacy controls bar is mobile-only chrome; never on desktop. */
  .va-mob .sw-header {
    display: none;
  }
  /* Inline (full-page) edit form: the mobile push-screen sticky nav
   * would pin to the page scroll and float OVER the child section
   * below. On desktop the inline edit nav is a static card header.
   * (The .proto-screen drawer case re-asserts sticky in D3.) */
  .proto-form .form-nav {
    position: static;
    border-radius: 9px 9px 0 0;
  }
}
/* ===== D2 — real desktop .dt-* table (P4) =====
 * The emitter now emits a true columnar <table.va-dt-table> sibling of
 * the mobile card list (reusing the same listTd cells + #formMs +
 * [th='sorted'] sort + pager, so the vanilla client drives both). On
 * desktop the card list is hidden and the table shown; on mobile the
 * table is hidden. Ported literally from
 * tmp/GoatCheese theme guideline/directions/desktop.css (.dt-card /
 * .dt-table / .dt-page-head / .dt-toolbar / .dt-table-foot). */
/* The desktop table never shows on mobile. */
.va-dt-only {
  display: none;
}

@media (min-width: 720px) {
  /* Header -> page-head + toolbar (reuse the single emitted header so
   * #formMs is not duplicated — contract-safe). */
  .va-mob .va-mob-header {
    background: transparent;
    border-bottom: none;
    padding: 22px 28px 14px;
  }
  .va-mob .va-mob-row1 {
    height: auto;
    gap: 14px;
    align-items: center;
  }
  .va-mob .va-mob-row1 .title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  .va-mob .va-mob-row1 .add-btn {
    height: 34px;
    padding: 0 14px;
    border-radius: 7px;
    font-size: 13px;
  }
  /* Desktop sorts via clickable column headers — the mobile sort-sheet
   * button + its bottom sheet are redundant chrome here. */
  .va-mob .va-mob-row1 .va-mob-sort-btn,
  .va-mob .va-mob-sortsheet {
    display: none;
  }
  .va-mob.proto-app {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .va-mob > .va-mob-header {
    display: contents;
  }
  .va-mob .va-mob-row1 {
    flex: 0 0 100%;
    padding: 22px 28px 0;
  }
  .va-mob .va-mob-search {
    flex: 0 0 auto;
    margin: 0 0 14px 28px;
    width: 320px;
    max-width: 320px;
  }
  .va-mob .va-mob-search .va-mob-searchform {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .va-mob .va-mob-search .va-mob-searchform input {
    flex: 1 1 auto;
    padding-right: 12px;
  }
  .va-mob .va-mob-chips {
    flex: 1 1 auto;
    margin: 0 28px 14px 4px;
    padding: 0;
    background: transparent;
    border-bottom: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
  }
  .va-mob > .content,
  .va-mob > .va-mob-pager,
  .va-mob > .va-mob-sortsheet,
  .va-mob > .ac-list,
  .va-mob > .tablesorter {
    flex: 0 0 100%;
    min-width: 0;
  }
  /* The list card wrapper that holds the dt-table on desktop —
   * collapse its height to content so there's no white air
   * between the last row and the pager. */
  .va-mob > .ac-list {
    display: block;
    height: auto !important;
    min-height: 0 !important;
    background: transparent;
  }
  .va-mob > .ac-list > .content {
    width: auto;
    /* Legacy `.content` is a white card with rounded corners, 1px
     * border, box-shadow, 100px padding-bottom. The dt-card inside
     * already provides the card surface, so neutralize the legacy
     * wrapper (no bg, no border, no shadow, no padding). */
    padding-bottom: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  /* Pager card sits directly on the dt-card (no top margin), same
   * horizontal inset so they read as one composed surface. */
  .va-mob > .va-mob-pager {
    margin-top: 0 !important;
  }
  /* Hide the card list, show the real table card — TOP-LEVEL lists
   * only. Child lists (.va-mob.proto-app[data-parent]) have no .dt-*
   * table, so they keep their card list on desktop (guideline child
   * lists are compact card rows inside the edit drawer). */
  .va-mob.proto-app:not([data-parent]) .content > .va-mob-list {
    display: none;
  }
  .va-mob:not([data-parent]) .content > .va-dt-only {
    display: block;
    margin: 0 28px 0;
  }
  .va-mob .dt-card {
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 9px 9px 0 0;
    border-bottom: none;
    /* When a child/list table carries too many columns to fit, scroll
     * horizontally instead of clipping the action column out of sight.
     * The .actionrow td below is sticky-right so the delete icon stays
     * on-screen regardless of scroll position. */
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
  }
  table.va-dt-table {
    width: 100%;
    border-collapse: collapse;
  }
  /* Per-cell truncation: text cells with long content collapse to an
   * ellipsis instead of pushing the row past the container edge. The
   * action cell (sticky below) opts out of clipping. */
  table.va-dt-table tbody td:not(.actionrow) {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  table.va-dt-table thead th {
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8898aa;
    padding: 11px 16px;
    background: #fafbfd;
    border-bottom: 1px solid #e3e8ee;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
  }
  table.va-dt-table thead th:hover {
    color: #3c4257;
  }
  table.va-dt-table thead th[sens] {
    color: #0a2540;
  }
  table.va-dt-table thead th[sens]::after {
    content: "↓";
    margin-left: 4px;
    color: #009b82;
    font-size: 11px;
  }
  table.va-dt-table thead th[sens=asc]::after {
    content: "↑";
  }
  table.va-dt-table tbody tr {
    border-bottom: 1px solid #eef1f5;
    cursor: pointer;
    transition: background 0.07s;
  }
  table.va-dt-table tbody tr:hover {
    background: #f6fbfa;
  }
  table.va-dt-table tbody tr:last-child {
    border-bottom: none;
  }
  table.va-dt-table tbody td {
    padding: 11px 16px;
    font-size: 13px;
    vertical-align: middle;
    color: #3c4257;
  }
  table.va-dt-table tbody td:first-child {
    font-weight: 600;
    color: #0a2540;
  }
  /* P3 list_pill / list_tag in the desktop cell. Layout only here —
   * the colour comes from the shared .cl-status-<v> / .cl-type-<v>
   * map in _clientv2 so desktop matches the Clients screenshot
   * (Won=green, Lead=blue, Qualified=purple, …) with a visible dot. */
  table.va-dt-table tbody td .cl-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px 3px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
  }
  table.va-dt-table tbody td .cl-status .cl-status-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
  }
  table.va-dt-table tbody td .cl-type {
    display: inline-block;
    padding: 1px 7px;
    border-radius: 3px;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  table.va-dt-table tbody td .cl-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    margin-right: 8px;
    vertical-align: -7px;
  }
  /* Sticky-right action cell: pinned to the visible right edge of the
   * scrollable .dt-card, so the delete icon stays reachable even when
   * the column overflow forces a horizontal scroll. Background is
   * opaque to occlude any data cell that scrolls underneath. */
  table.va-dt-table td.actionrow {
    width: 60px;
    min-width: 60px;
    text-align: right;
    white-space: nowrap;
    position: sticky;
    right: 0;
    background: #fff;
    z-index: 1;
    box-shadow: -6px 0 8px -6px rgba(10, 37, 64, 0.08);
  }
  table.va-dt-table tbody tr:hover td.actionrow {
    background: #f6fbfa;
  }
  table.va-dt-table td.actionrow a,
  table.va-dt-table td.actionrow .ac-delete-link {
    opacity: 0;
    transition: opacity 0.1s;
    color: #8898aa;
    font-size: 15px;
  }
  table.va-dt-table tbody tr:hover td.actionrow a,
  table.va-dt-table tbody tr:hover td.actionrow .ac-delete-link {
    opacity: 1;
  }
  /* Pager = the card's attached footer (one unit with the table).
   * Card-style framing (28px gutter + border + rounded corners) only
   * applies to the main list. Child lists sit flush inside the drawer
   * panel, so [data-parent] strips the margin/border. */
  .va-mob:not([data-parent]) .va-mob-pager {
    margin: 0 28px 28px;
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 0 0 9px 9px;
    padding: 9px 16px;
    font-size: 12px;
    color: #8898aa;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
  }
  .va-mob[data-parent] .va-mob-pager {
    margin: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 9px 16px;
    font-size: 12px;
    color: #8898aa;
  }
  .va-mob .va-mob-pager .pgr button {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    border: 1px solid #e3e8ee;
    background: #fff;
    color: #5b6376;
  }
  .va-mob .va-mob-pager .pgr button.disabled {
    opacity: 0.4;
  }
  /* Totals strip sits above the footer, right-aligned & muted. */
  .va-mob .bottomPagerRow .totalLine,
  .va-mob .totalLine {
    display: inline-block;
    margin-left: 16px;
    font-size: 12px;
    color: #5b6376;
    font-variant-numeric: tabular-nums;
  }
}
/* ===== D3 — edit as a right-side drawer (38vw, min 560px) =====
 * The .proto-screen push-stack is full-screen on mobile; on desktop
 * re-skin it to a right-side drawer + backdrop. screens.js is
 * unchanged (it sets body.screen-open on push / clears it on the last
 * pop) — pure SCSS. Close stays Back-button / Escape (mobile parity);
 * the backdrop is visual only (pointer-events:none) so it never
 * silently swallows clicks. */
@media (min-width: 720px) {
  body.screen-open::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(10, 37, 64, 0.32);
    z-index: 90;
    pointer-events: none;
  }
  .proto-screen {
    position: fixed !important;
    inset: auto !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: 38vw !important;
    min-width: 560px;
    max-width: 92vw;
    box-shadow: -8px 0 32px rgba(10, 37, 64, 0.18);
    /* screens.js sets inline z-index:30; override so the open
     * drawer sits ABOVE the body::after dim overlay (z:90). */
    z-index: 110 !important;
  }
  /* Stacked drawers sit directly on top of each other (same
   * footprint) — drop the mobile -20% peek of the layer beneath. */
  .proto-screen.under {
    transform: none;
  }
  .proto-screen.enter,
  .proto-screen.exit {
    transform: translateX(100%);
  }
  /* Inside the drawer the nav IS the drawer head and must stay pinned
   * while the body scrolls (overrides the inline static rule above —
   * higher specificity). */
  .proto-screen .proto-form .form-nav {
    position: sticky;
    top: 0;
    border-radius: 0;
  }
}
/* ===== D3b — narrow-desktop edit = full-cover =====
 * The 520px side-drawer only works when the viewport can show
 * rail(248) + a usable content band + drawer(520) — i.e. ~1080px+.
 * Below that (720–1080: tablet / split-screen) the open drawer would
 * obscure the list down to a ~30px sliver. There the edit becomes a
 * full-cover panel over the rail (focus mode); the backdrop is then
 * redundant. Pure SCSS, screens.js unchanged. */
@media (min-width: 720px) and (max-width: 1080px) {
  .proto-screen {
    width: 100vw;
    max-width: 100vw;
    left: 0;
    right: 0;
  }
  body.screen-open::after {
    display: none;
  }
}
/* ===== Region 4 — advanced-filter surface, desktop ===== *
 * Same builder-emitted markup; re-skinned from bottom sheet to an
 * anchored popover. filter.js sets inline top/left from the filter
 * button's rect; CSS owns size/elevation/radius and the block grid.
 * Pure SCSS — the markup is identical to mobile. */
@media (min-width: 720px) {
  /* The desktop "Filters" trigger IS .va-mob-filter-btn (icon-only on
   * mobile) — give it a label + box here. It sits in .va-mob-search. */
  .va-mob .va-mob-search .va-mob-filter-btn {
    position: static;
    width: auto;
    height: 32px;
    padding: 0 12px 0 10px;
    border: 1px solid #cdd5df;
    background: #fff;
    color: #5b6376;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
  }
  .va-mob .va-mob-search .va-mob-filter-btn::after {
    content: "Filters";
  }
  .va-mob .va-mob-search .va-mob-filter-btn:hover {
    background: #f6f9fc;
  }
  /* Active-filter count badge pinned on the funnel button (drawn by
   * list.js syncFilterBtn when any filter is set). */
  .va-mob .va-mob-search .va-mob-filter-btn {
    position: relative;
  }
  .va-mob .va-mob-search .va-mob-filter-btn .filter-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #00d1b2;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    pointer-events: none;
    box-shadow: 0 1px 2px rgba(0, 209, 178, 0.35);
  }
  /* Active-filters chip strip — replaces the .va-mob-chips presets
   * row when any filter is set. Each .cl-active-filter is a pill
   * with label:value and a × on the right; Clear all is appended. */
  .va-mob-chips.active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
  }
  .cl-active-filter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 4px 0 10px;
    border-radius: 999px;
    border: 1px solid #e3e8ee;
    background: #fff;
    color: #5b6376;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    line-height: 1;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
  }
  .cl-active-filter:hover {
    background: #f6f9fc;
  }
  .cl-active-filter-label {
    color: #8898aa;
    font-weight: 600;
  }
  .cl-active-filter-val {
    color: #0a2540;
  }
  .cl-active-filter-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #f6f9fc;
    color: #8898aa;
    font-size: 14px;
    line-height: 1;
    margin-left: 2px;
    transition: background 0.12s, color 0.12s;
  }
  .cl-active-filter:hover .cl-active-filter-x {
    background: #df1b41;
    color: #fff;
  }
  /* Status chip variants — colour-tinted to match the followup
   * state's pill (won/lost/qualified/lead/negotiation/on-hold). */
  .cl-active-filter--status.pill-won {
    background: #dcfce7;
    border-color: #bbf7d0;
    color: #166534;
  }
  .cl-active-filter--status.pill-lost {
    background: #fee2e2;
    border-color: #fecaca;
    color: #991b1b;
  }
  .cl-active-filter--status.pill-qualified {
    background: #dbeafe;
    border-color: #bfdbfe;
    color: #1e40af;
  }
  .cl-active-filter--status.pill-lead {
    background: #fef3c7;
    border-color: #fde68a;
    color: #92400e;
  }
  .cl-active-filter--status.pill-negotiation {
    background: #ede9fe;
    border-color: #ddd6fe;
    color: #5b21b6;
  }
  .cl-active-filter--status.pill-on-hold {
    background: #f3e8ff;
    border-color: #e9d5ff;
    color: #6b21a8;
  }
  .cl-active-filter--status .cl-active-filter-label,
  .cl-active-filter--status .cl-active-filter-val {
    color: inherit;
  }
  .cl-active-filter--status .cl-active-filter-x {
    background: rgba(255, 255, 255, 0.6);
    color: inherit;
  }
  .cl-active-filter-clear {
    appearance: none;
    background: transparent;
    border: 0;
    color: #df1b41;
    font-size: 12px;
    font-weight: 600;
    height: 28px;
    padding: 0 10px;
    border-radius: 6px;
    cursor: pointer;
    margin-left: 4px;
  }
  .cl-active-filter-clear:hover {
    background: rgba(226, 89, 80, 0.08);
  }
  /* Backdrop: a faint full-viewport scrim (popover stays anchored). */
  .va-filter-surface .va-filter-dim {
    background: rgba(10, 37, 64, 0.18);
  }
  /* Bottom sheet → anchored fixed-width card. filter.js sets top/left
   * (anchored mode) or adds .va-filter-centered (fallback modal). */
  .va-filter-panel {
    position: fixed;
    left: auto;
    right: auto;
    bottom: auto;
    width: 680px;
    max-width: calc(100vw - 32px);
    max-height: 78vh;
    border-radius: 12px;
    transform: translateY(-8px);
    opacity: 0;
    transition: opacity 0.16s ease, transform 0.16s ease;
    box-shadow: 0 16px 48px rgba(10, 37, 64, 0.24);
  }
  .va-filter-surface.open .va-filter-panel {
    transform: translateY(0);
    opacity: 1;
  }
  /* Narrow-desktop fallback: centered modal (filter.js decides). */
  .va-filter-panel.va-filter-centered {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -46%);
  }
  .va-filter-surface.open .va-filter-panel.va-filter-centered {
    transform: translate(-50%, -50%);
  }
  /* No drag handle on desktop (sortsheet does the same). */
  .va-filter-panel .sheet-handle {
    display: none;
  }
  /* Denser block grid: segmented blocks pair up 2-across; the Any
   * selects sit 3-across; SEARCH / SEARCH-IN / multi stay full-width. */
  .va-filter-panel .sheet-body {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px 18px;
    padding: 18px 22px;
  }
  .va-filter-panel .sheet-body > .va-fblock[data-block=search],
  .va-filter-panel .sheet-body > .va-fblock[data-block=searchin],
  .va-filter-panel .sheet-body > .va-fblock[data-block=multi],
  .va-filter-panel .sheet-body > .va-fgroup-cap {
    grid-column: 1/-1;
  }
  .va-filter-panel .sheet-body > .va-fblock[data-block=seg] {
    grid-column: span 1;
  }
  .va-filter-panel .sheet-body > .va-fblock[data-block=select] {
    grid-column: span 1;
  }
  .va-filter-foot {
    border-radius: 0 0 12px 12px;
  }
}
@media (min-width: 720px) {
  .proto-screen {
    overflow: hidden;
  }
  .proto-screen .sw-drawer > .sw-tabnav {
    flex-shrink: 0;
  }
  .proto-screen .sw-drawer > .sw-body {
    padding-bottom: 0;
  }
  .proto-screen .sw-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .proto-screen .sw-grid > .form-row {
    min-width: 0;
  }
  .proto-screen .sw-tabnav {
    overflow-x: visible;
  }
}
@media (min-width: 720px) {
  .proto-screen.welcome-screen {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;
    right: auto !important;
    left: auto !important;
    width: auto !important;
    max-width: none !important;
    box-shadow: none !important;
    z-index: auto !important;
    padding: 24px;
  }
}
/* Narrow-desktop (720-1080px): the full-cover drawer rule is also
 * overridden — welcome page does not cover other content. */
@media (min-width: 720px) and (max-width: 1080px) {
  .proto-screen.welcome-screen {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    left: auto !important;
    right: auto !important;
  }
}
/* Welcome-specific spacing inside the override */
.proto-screen.welcome-screen .welcome-greeting {
  margin-bottom: 20px;
}

.proto-screen.welcome-screen .welcome-greeting h1 {
  margin: 0 0 4px 0;
  font-size: 24px;
  font-weight: 600;
}

.proto-screen.welcome-screen .welcome-greeting .welcome-date {
  color: rgba(0, 0, 0, 0.5);
  font-size: 13px;
}

.proto-screen.welcome-screen .welcome-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.proto-screen.welcome-screen .welcome-stack .sw-drawer.proto-form {
  position: static;
  width: 100%;
  max-width: none;
  box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
  border: 1px solid rgba(10, 37, 64, 0.08);
  border-radius: 8px;
  background: #fff;
}

[class^=ri-],
[class*=" ri-"] {
  color: rgb(26.95, 199.55, 203.9);
  font-size: 1.8em;
}
[class^=ri-]:hover,
[class*=" ri-"]:hover {
  color: rgb(0, 114.95, 97.9);
}

.sw-header .header-controls [class^=ri-],
.sw-header .header-controls [class*=" ri-"] {
  color: inherit !important;
}
.sw-header .header-controls [class^=ri-]:hover,
.sw-header .header-controls [class*=" ri-"]:hover {
  color: inherit !important;
}

.va-mob [class^=ri-],
.va-mob [class*=" ri-"], .proto-drawer [class^=ri-],
.proto-drawer [class*=" ri-"], .proto-screen [class^=ri-],
.proto-screen [class*=" ri-"], .proto-sheet [class^=ri-],
.proto-sheet [class*=" ri-"],
table.va-dt-table [class^=ri-],
table.va-dt-table [class*=" ri-"], .app-topbar [class^=ri-],
.app-topbar [class*=" ri-"], .va-mob-chips [class^=ri-],
.va-mob-chips [class*=" ri-"], .dt-card [class^=ri-],
.dt-card [class*=" ri-"] {
  color: inherit;
  font-size: inherit;
}
.va-mob [class^=ri-]:hover,
.va-mob [class*=" ri-"]:hover, .proto-drawer [class^=ri-]:hover,
.proto-drawer [class*=" ri-"]:hover, .proto-screen [class^=ri-]:hover,
.proto-screen [class*=" ri-"]:hover, .proto-sheet [class^=ri-]:hover,
.proto-sheet [class*=" ri-"]:hover,
table.va-dt-table [class^=ri-]:hover,
table.va-dt-table [class*=" ri-"]:hover, .app-topbar [class^=ri-]:hover,
.app-topbar [class*=" ri-"]:hover, .va-mob-chips [class^=ri-]:hover,
.va-mob-chips [class*=" ri-"]:hover, .dt-card [class^=ri-]:hover,
.dt-card [class*=" ri-"]:hover {
  color: inherit;
}

@keyframes bg-login {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -300px;
  }
}
@keyframes online_users {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes pl-spin {
  to {
    transform: rotate(360deg);
  }
}
#pageLoader.page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 209, 178, 0.2);
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

#pageLoader .page-loader-logo {
  display: none;
  width: 80px;
  height: 80px;
  border-radius: 18px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  margin-bottom: 18px;
}

#pageLoader .page-loader-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid rgb(0, 25.08, 21.36);
  border-top-color: rgb(0, 37.62, 32.04);
  border-radius: 50%;
  animation: pl-spin 0.8s linear infinite;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  color: rgb(0, 58.52, 49.84);
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  text-size-adjust: 100%;
  background-color: rgb(244.8, 253.16, 251.92);
}

a {
  color: #00d1b2;
}

.icon {
  font-family: "remixicon";
  font-size: 1.5em;
  color: #fff;
}
.icon span {
  text-indent: -999em;
  display: block;
}

.ui-dialog {
  max-width: 60%;
  min-width: 320px;
  outline: none;
  background: rgb(204, 245.8, 239.6);
  z-index: 11000;
  border-radius: 6px;
}
.ui-dialog .ui-dialog-content {
  padding: 5px;
  border: 1px solid rgb(204, 245.8, 239.6);
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
.ui-dialog .search-entity-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 6px 0;
}
.ui-dialog .ui-dialog-titlebar {
  background: #00d1b2;
  padding: 10px;
  border-width: 0px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.ui-dialog .ui-dialog-titlebar button span {
  display: none;
  text-indent: -9999px;
}
.ui-dialog .ui-dialog-titlebar button:before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 5px;
  background: rgb(0, 37.62, 32.04);
  border-radius: 10px;
  transform: rotate(-45deg);
  left: 0;
  top: 7px;
}
.ui-dialog .ui-dialog-titlebar button:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 5px;
  background: #fff;
  border-radius: 10px;
  transform: rotate(45deg);
  right: 0;
  top: 7px;
}
.ui-dialog .ui-dialog-titlebar [role=button] {
  position: relative;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  text-indent: -9999px;
  border: none;
  background-color: #00d1b2;
}
.ui-dialog .ui-dialog-titlebar [role=button] span {
  display: none;
  text-indent: -9999px;
}
.ui-dialog .ui-dialog-titlebar [role=button]:before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 5px;
  background: #fff;
  border-radius: 10px;
  transform: rotate(-45deg);
  left: 0;
  top: 10px;
}
.ui-dialog .ui-dialog-titlebar [role=button]:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 5px;
  background: #fff;
  border-radius: 10px;
  transform: rotate(45deg);
  right: 0;
  top: 10px;
}
.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 50px);
  color: #fff;
  font-weight: 700;
}
.ui-dialog .ui-dialog-titlebar .ui-fullscreen {
  text-indent: -9999px;
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
}
.ui-dialog .ui-dialog-titlebar .ui-fullscreen:after {
  content: "\ed9c";
  font-family: "remixicon";
  text-indent: 0;
  display: block;
  position: absolute;
  top: 4px;
  left: 6px;
  color: white;
  font-size: 1.5em;
}
.ui-dialog .ui-dialog-buttonpane {
  text-align: center;
  padding-bottom: 20px;
}
.ui-dialog .ui-dialog-buttonpane button {
  border: none;
  margin: 0 5px;
  padding: 10px 20px;
  font-weight: bold;
  background-color: #00d1b2;
  border: 1px solid #00d1b2;
  border-radius: 4px;
  color: #fff;
}
.ui-dialog .ui-dialog-buttonpane button:hover {
  background-color: #00d1b2;
}
.ui-dialog #editDialog {
  width: 100%;
  max-width: 100%;
  overflow-y: scroll;
}
.ui-dialog #editDialog .sw-header {
  position: relative;
  height: 70px;
  display: flex;
  flex-direction: row;
}
.ui-dialog #editDialog .sw-header .trigger-menu {
  order: 0;
}
.ui-dialog #editDialog .sw-header .default-controls {
  order: 1;
  flex-grow: 1;
}
.ui-dialog #editDialog .sw-header .custom-controls {
  order: 999;
  margin-left: auto;
}
.ui-dialog #editPopupDialog {
  width: 100%;
  max-width: 100%;
  overflow-y: scroll;
}
.ui-dialog #editPopupDialog .sw-header {
  position: relative;
  height: 70px;
  display: flex;
  flex-direction: row;
}
.ui-dialog #editPopupDialog .sw-header .trigger-menu {
  order: 0;
}
.ui-dialog #editPopupDialog .sw-header .default-controls {
  order: 1;
  flex-grow: 1;
}
.ui-dialog #editPopupDialog .sw-header .custom-controls {
  order: 999;
  margin-left: auto;
}
.ui-dialog .content {
  padding-bottom: 100px;
}
.ui-dialog input[type=checkbox] {
  z-index: 0;
  width: 0;
}
.ui-dialog #editPopupDialog[data-media="1024"] .mainForm .divtr:not(.divbut),
.ui-dialog #editDialog[data-media="1024"] .mainForm .divtr:not(.divbut) {
  width: calc(33.33% - 40px);
}
.ui-dialog #editDialog[data-media="768"] .mainForm .divtr:not(.divbut),
.ui-dialog #editPopupDialog[data-media="768"] .mainForm .divtr:not(.divbut) {
  width: calc(50% - 40px);
}
.ui-dialog #editDialog[data-media="480"] .mainForm .divtr:not(.divbut),
.ui-dialog #editPopupDialog[data-media="480"] .mainForm .divtr:not(.divbut) {
  width: calc(100% - 40px);
}
.ui-dialog #editPopupDialog .sw-header,
.ui-dialog #editPopupDialog .sw-header {
  top: -20px;
  left: -20px;
  width: calc(100% + 40px);
}
.ui-dialog #editPopupDialog .navigation-wrapper,
.ui-dialog #editPopupDialog .navigation-wrapper {
  position: absolute;
  bottom: auto;
  top: 100%;
  padding: 10px 20px;
}
.ui-dialog #editPopupDialog .content,
.ui-dialog #editPopupDialog .content {
  padding-bottom: 0;
}
.ui-dialog #confirmDialog {
  text-align: center;
  padding-top: 20px;
}
.ui-dialog #confirmDialog #confirm_text {
  font-size: 18px;
}
.ui-dialog #confirmDialog #confirm_text:before {
  content: "\ea21";
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  font-family: "remixicon";
  font-size: 1.5em;
  color: #ffca57;
}
.ui-dialog #loadingDialog {
  text-align: center;
  padding-bottom: 40px;
}
.ui-dialog #loadingDialog div {
  margin-bottom: 20px;
}
.ui-dialog #loadingDialog .outer {
  fill: #fff;
}
.ui-dialog #loadingDialog .middle {
  fill: #fff;
}
.ui-dialog #loadingDialog p {
  text-transform: uppercase;
  font-size: 18px;
  font-weight: bold;
}

.center-panel .content-wrapper {
  box-sizing: border-box;
  padding-top: 70px;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
}
.center-panel .content-wrapper #tabsContain {
  box-sizing: border-box;
  width: 100%;
  padding: 15px 15px 75px;
}
.center-panel .content-wrapper .splash {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.center-panel .content-wrapper .splash h1 {
  font-size: 28px;
  margin-bottom: 10px;
}
.center-panel .content-wrapper .msSearchCtnr {
  width: 100%;
  padding: 5px;
  margin-bottom: 10px;
  background-color: rgb(244.8, 253.16, 251.92);
  border-radius: 5px;
}
.center-panel .content-wrapper .cntOngletSearchTabs {
  margin-top: 10px;
}
.center-panel .content-wrapper .cntOngletSearchTabs .button-link-blue.ui-state-active {
  background: #fff;
}
.center-panel .content-wrapper .cntOngletSearchTabs .msSearchCtnr button.ui-state-active {
  background: #fff;
}
.center-panel .content-wrapper .cntOngletSearchTabs .sw-header a.ui-state-active {
  background: #fff;
}
.center-panel .content-wrapper .cntOngletSearchTabs .sw-header button.ui-state-active {
  background: #fff;
}
.center-panel .content-wrapper .cntOngletSearchTabs + .msSearchCtnr {
  margin-top: 0;
}
.center-panel .content-wrapper .child_tab {
  margin-top: 20px;
}
.center-panel .content-wrapper .child_tab .content-child {
  background: rgb(214.2, 247.64, 242.68);
  padding: 20px;
}
.center-panel .content-wrapper .child_tab .content-child table.tablesorter {
  margin-top: 0;
}
.center-panel .content-wrapper .child_pannel {
  min-height: 40px;
  padding: 0px;
  border-radius: 6px;
  margin: 5px;
}
.center-panel .content-wrapper .childListWrapper {
  padding: 10px;
}
.center-panel .content-wrapper .ac-list-form-header-child {
  margin-bottom: 10px;
}
.center-panel .content-wrapper .childCntClass {
  background: #fff;
}
.center-panel .content-wrapper .childCntClass .msSearchCtnr {
  margin-top: 0;
  padding: 0;
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 60px);
  margin-left: 20px;
}
.center-panel .content-wrapper .childCntClass .swf-upload-button {
  width: 60px;
  height: 60px;
  display: inline-block;
  vertical-align: top;
}
.center-panel .content-wrapper .childCntClass .add-button {
  width: 60px;
  height: 60px;
}
.center-panel .content-wrapper .childCntClass .add-button:after {
  top: -5px;
  left: 6px;
}
.center-panel .content-wrapper .childCntClass .ac-list {
  margin-top: 5px;
}
.center-panel .content-wrapper .childCntClass .ac-list .content {
  padding-bottom: 0;
}
.center-panel .content-wrapper .childCntClass .pagination-wrapper {
  text-align: right;
  margin: 10px 0px 10px 0px;
}
.center-panel .content-wrapper .rightsTr {
  width: calc(100% - 40px);
  margin: 20px;
  text-align: right;
}
.center-panel .content-wrapper .rightsTr > label {
  display: none;
}
.center-panel .content-wrapper .rightsTr .rights-table {
  width: 100%;
  margin-top: 20px;
  text-align: center;
}
.center-panel .content-wrapper .rightsTr .rights-table thead tr th {
  padding: 10px;
  text-align: center;
}
.center-panel .content-wrapper .rightsTr .rights-table thead tr th:first-of-type {
  text-align: left;
}
.center-panel .content-wrapper .rightsTr .rights-table thead tr th:after {
  display: none;
}
.center-panel .content-wrapper .rightsTr .rights-table tbody tr {
  background: #fff;
}
.center-panel .content-wrapper .rightsTr .rights-table tbody tr td {
  width: 55px;
}
.center-panel .content-wrapper .rightsTr .rights-table tbody tr td:first-of-type {
  width: auto;
  text-align: left;
}
.center-panel .content-wrapper .rightsTr .rights-table tbody tr td label {
  top: 0;
}
.center-panel .content-wrapper .rightsTr .rights-table tbody tr td label:before {
  margin-right: 0;
}
.center-panel {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: calc(100% - 275px);
  height: 100%;
  transition: opacity 0.3s;
}

.left-panel {
  position: fixed;
  z-index: 15;
  top: 0;
  left: 0;
  height: 100%;
  transition: transform 0.3s;
  background: #fff;
  border-width: 0 1px 0 0;
  width: 250px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
}
.left-panel .top-nav {
  width: 250px;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  border-width: 0 0 1px;
}
.left-panel .top-nav .logo-wrapper {
  box-sizing: border-box;
  display: block;
  width: 100%;
}
.left-panel .top-nav .logo-wrapper img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
  max-height: 50px;
}
.left-panel .top-nav .nav {
  display: flex;
  align-items: center;
}
.left-panel .top-nav .nav li {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  width: 70px;
  background: #fff;
  vertical-align: top;
  transition: background 0.3s;
}
.left-panel .top-nav .nav li:first-child {
  width: auto;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.left-panel .top-nav .nav li:not(:first-child) {
  height: 70px;
  padding-top: 0;
}
.left-panel .top-nav .nav li:last-of-type {
  border: none;
}
.left-panel .top-nav .nav li a {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 60px;
}
.left-panel .top-nav .nav li a:hover {
  background: rgb(214.2, 247.64, 242.68);
}
.left-panel .top-nav .nav li a span {
  display: block;
}
.left-panel .top-nav .nav li a.icon span:after {
  color: #00d1b2;
  text-indent: 0;
  display: block;
  font-size: 2em;
  top: 0px;
  left: 10px;
  position: absolute;
}
.left-panel .top-nav .nav li .right {
  margin-left: auto;
}
.left-panel .top-nav .nav li a.support span:after {
  content: "\f048";
}
.left-panel .top-nav .nav li a.dashboard span:after {
  content: "\eeab";
}
.left-panel .top-nav .nav li a.user span:after {
  content: "\f02d";
}
.left-panel .top-nav .nav li a.home span:after {
  content: "\ee2b";
}
.left-panel .top-nav .nav li a.menu span:after {
  content: "\ef3e";
}
.left-panel .top-nav .nav {
  width: 100%;
}
.left-panel .top-nav .select-box-authy {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  font-weight: 300;
  margin-bottom: 0px;
}
.left-panel .top-nav .select-box-authy input {
  box-sizing: border-box;
  width: 100%;
  padding: 5px;
}
.left-panel .top-nav .select-box-authy .ui-helper-hidden-accessible {
  display: none;
}
.left-panel .top-nav .box-Authy {
  max-width: 70%;
  margin: 10px auto;
  display: block;
  max-width: 90%;
}
.left-panel .top-nav .language {
  display: inline-block;
  margin-left: 10px;
  padding: 11px 5px;
  background-color: #fff;
}
.left-panel .top-nav .language li span {
  font-weight: bold;
  padding: 5px;
  color: #fff;
  font-weight: bold;
}
.left-panel .ac-nav {
  padding-bottom: 50px;
  width: 250px;
}
.left-panel .ac-nav .ac-menu {
  list-style-type: none;
  margin: 0;
  padding: 0 8px;
}
.left-panel .ac-nav .ac-menu > li {
  margin: 1px 0;
}
.left-panel .ac-nav .ac-menu > li > a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgb(0, 58.52, 49.84);
  padding: 8px 12px;
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.9em;
  transition: background 0.2s, color 0.2s;
}
.left-panel .ac-nav .ac-menu > li > a::before {
  flex-shrink: 0;
}
.left-panel .ac-nav .ac-menu > li > a:hover {
  background: rgb(234.6, 251.32, 248.84);
  color: #00d1b2;
}
.left-panel .ac-nav .ac-menu > li > a.active {
  background: rgb(234.6, 251.32, 248.84);
  color: #00d1b2;
  font-weight: 600;
}
.left-panel .ac-nav .ac-menu a.disconnect {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgb(0, 58.52, 49.84);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 0.9em;
  font-weight: 400;
  margin-top: 8px;
  border-top: 1px solid rgb(214.2, 247.64, 242.68);
  transition: background 0.2s, color 0.2s;
}
.left-panel .ac-nav .ac-menu a.disconnect:hover {
  background: rgb(248.16, 231.48, 231.48);
  color: #c63b3b;
}
.left-panel .ac-nav .ac-menu ul.sub-menu {
  display: none;
  border-left: 2px solid rgb(214.2, 247.64, 242.68);
  margin: 2px 0 4px 20px;
  padding: 0;
}
.left-panel .ac-nav .ac-menu ul.sub-menu li {
  margin: 1px 0;
}
.left-panel .ac-nav .ac-menu ul.sub-menu li a {
  display: block;
  color: rgb(0, 58.52, 49.84);
  padding: 6px 12px 6px 12px;
  font-size: 0.875em;
  font-weight: 400;
  border-radius: 4px;
  transition: background 0.2s, color 0.2s;
}
.left-panel .ac-nav .ac-menu ul.sub-menu li a::before {
  margin-right: 5px;
}
.left-panel .ac-nav .ac-menu ul.sub-menu li a:hover {
  background: rgb(234.6, 251.32, 248.84);
  color: #00d1b2;
}
.left-panel .ac-nav .ac-menu ul.sub-menu li a.active {
  color: #00d1b2;
  font-weight: 600;
  background: rgb(234.6, 251.32, 248.84);
}
.left-panel .ac-nav .ac-menu ul.sub-menu li.menu-subtitle span {
  display: block;
  padding: 10px 12px 3px;
  font-size: 0.7em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgb(0, 150.48, 128.16);
  cursor: default;
  user-select: none;
}
.left-panel .left-panel-wrapper {
  position: relative;
  height: 100vh;
  overflow-x: hidden;
  width: 249px;
  border-right: 1px solid rgb(214.2, 247.64, 242.68);
}
.left-panel .left-panel-content {
  position: absolute;
  overflow-y: scroll;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-right: -20px;
  padding-right: 20px;
}

.breadcrumb {
  display: block;
  padding: 10px;
  border-bottom: 1px solid rgb(214.2, 247.64, 242.68);
  color: rgb(0, 37.62, 32.04);
}
.breadcrumb a {
  border-bottom: 1px solid transparent;
  display: inline-block;
  font-weight: bold;
  transition: border 0.3s;
  position: relative;
  margin-right: 11px;
}
.breadcrumb a:hover {
  border-bottom: 1px solid rgb(0, 37.62, 32.04);
}
.breadcrumb a:after {
  content: "·";
  position: absolute;
  right: -10px;
  animation: 0;
}
.breadcrumb a:visited {
  color: rgb(0, 37.62, 32.04);
}
.breadcrumb span {
  font-weight: 400;
  margin: 0 5px;
  display: inline-block;
}

.mainForm {
  padding: 5px;
}
.mainForm h1,
.mainForm h2,
.mainForm h3 {
  margin-top: 10px;
}
.mainForm .explain {
  margin-top: 5px;
  font-style: italic;
  font-size: 0.9em;
}
.mainForm .divbut.divtr {
  width: calc(100% - 20px) !important;
  text-align: right;
  margin: 30px 20px 20px 0;
}
.mainForm .divbut.divtr input[type=button] {
  display: inline-block;
  width: auto;
  padding: 5px 15px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  background: none;
  transition: background 0.3s, color 0.3s, border 0.3s;
  color: #fff;
  border: 3px solid #fff;
  cursor: default;
}
.mainForm .divbut.divtr input[type=button].can-save {
  background: #fff;
  color: #00d1b2;
  border: 2px solid #00d1b2;
  padding: 15px 20px;
}
.mainForm .divbut.divtr input[type=button].can-save.unsaved {
  color: #fff;
  cursor: pointer;
  transition: background 0.3s;
  background-color: #00d1b2;
}
.mainForm .divbut.divtr input[type=button].can-save:hover {
  background: #00d1b2;
  color: #fff;
  border: 2px solid #00d1b2;
  background: #00d1b2;
  color: #fff;
  border: 2px solid #00d1b2;
}
.mainForm .divtr {
  width: calc(25% - 40px);
  margin: 20px 20px 0;
  display: inline-block;
  vertical-align: top;
}
.mainForm .divtr.colspan4 {
  width: calc(100% - 40px);
}
.mainForm .divtr input:before {
  content: " ";
  display: table;
}
.mainForm .divtr input:after {
  content: " ";
  display: table;
  clear: both;
}
.mainForm .divtr input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 10px;
  font-size: 0.9em;
}
.mainForm .divtr input:focus {
  border-color: #00d1b2;
}
.mainForm .divtr input:disabled {
  background: rgb(214.2, 247.64, 242.68);
}
.mainForm .divtr textarea:before {
  content: " ";
  display: table;
}
.mainForm .divtr textarea:after {
  content: " ";
  display: table;
  clear: both;
}
.mainForm .divtr textarea {
  min-height: 133px;
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 10px;
}
.mainForm .divtr textarea:focus, .mainForm .divtr textarea:active {
  border-color: #00d1b2;
  outline-color: #00d1b2;
  outline-width: 1px;
}
.mainForm .divtr textarea:disabled {
  background: rgb(214.2, 247.64, 242.68);
}
.mainForm .divtr .divtd {
  margin-top: 5px;
}
.mainForm .divtr .divtd .select-label {
  box-sizing: border-box;
  width: 100%;
}
.mainForm .divtr label {
  font-weight: 700;
  display: inline-block;
}
.mainForm .divtr label a {
  color: #fff;
}
.mainForm .divStdform {
  box-sizing: border-box;
  width: 100%;
  background: #fff;
  padding: 0px;
  border-radius: 6px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.02);
}
.mainForm .divStdform .form-tab {
  display: none;
}
.mainForm .divStdform .form-tab.current {
  display: block;
}
.mainForm .divtr.readonly .divtd input {
  background: rgb(214.2, 247.64, 242.68);
}
.mainForm .divtr.readonly .divtd input:focus {
  border-color: #00d1b2;
}
.mainForm .divtr.istinymce {
  width: calc(100% - 40px);
  margin-right: 0;
}
.mainForm .divtr.rightsTr {
  width: calc(100% - 40px);
}

.panel-heading {
  background-color: rgb(204, 245.8, 239.6);
  border-radius: 6px 6px 0 0;
  color: rgb(0, 45.98, 39.16);
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.25;
  padding: 0.75em 1em;
}

input {
  box-sizing: border-box;
  font: inherit;
  margin: 0;
  overflow: visible;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 10px;
  background: #fff;
  transition: background 0.3s, border 0.3s;
  font-weight: 300;
  appearance: none;
  border-radius: 4px;
}
input:focus {
  outline: none;
}

textarea {
  box-sizing: border-box;
  font: inherit;
  margin: 0;
  overflow: auto;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 10px;
  background: #fff;
  transition: background 0.3s, border 0.3s;
  font-weight: 300;
  appearance: none;
  border-radius: 4px;
}

select {
  box-sizing: border-box;
  font: inherit;
  margin: 0;
  text-transform: none;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 10px;
  background: #fff;
  transition: background 0.3s, border 0.3s;
  font-weight: 300;
  appearance: none;
  border-radius: 4px;
}

@supports (-webkit-touch-callout: none) {
  input[type=date],
  input[type=datetime-local],
  input[type=time] {
    min-height: 42px;
    line-height: 1.2;
  }
  select:not([multiple]):not([size]) {
    min-height: 42px;
    line-height: 1.2;
  }
  input[type=date]::-webkit-date-and-time-value,
  input[type=datetime-local]::-webkit-date-and-time-value,
  input[type=time]::-webkit-date-and-time-value {
    min-height: 1.2em;
  }
}
input[type=checkbox] + label {
  cursor: pointer;
  position: relative;
}
input[type=checkbox] + label:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  width: 40px;
  height: 15px;
  background: #fff;
  border-radius: 15px;
}
input[type=checkbox] + label:after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 45%;
  left: 0;
  transform: translate(0, -40%);
  border-radius: 50%;
  transition: transform 0.3s, background 0.3s;
  background: rgb(0, 150.48, 128.16);
}

input[type=checkbox] {
  position: absolute;
  opacity: 0;
  z-index: -10;
}
input[type=checkbox]:checked + label:after {
  transform: translate(20px, -40%);
  background: #00d1b2;
}

a.add-button {
  box-sizing: border-box;
  display: inline-block;
  height: 50px;
  width: 50px;
  position: relative;
  margin-right: auto;
  background: #00d1b2 !important;
  text-indent: -9999px;
  border: none !important;
  transition: background 0.3s;
}
a.add-button:hover {
  background: #00d1b2 !important;
}
a.add-button:after {
  font-family: "remixicon";
  content: "\ea12";
  text-indent: 0;
  color: #fff;
  font-size: 3em;
  position: absolute;
  top: 0px;
  left: 10px;
  display: block;
  width: 25px;
  height: 25px;
}

.msSearchCtnr {
  box-sizing: border-box;
}
.msSearchCtnr .ac-search-item {
  height: 40px;
  vertical-align: middle;
  box-sizing: border-box;
  display: inline-block;
  width: calc(15.66% - 10px);
  margin: 0 5px;
  margin-top: 5px;
}
.msSearchCtnr .ac-search-item .select-label {
  width: 100%;
}
.msSearchCtnr .ac-search-item input {
  box-sizing: border-box;
  height: 40px;
  line-height: 40px;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
}
.msSearchCtnr .ac-action-buttons {
  text-align: right;
  display: inline-block;
}
.msSearchCtnr button {
  position: relative;
  height: 40px;
  line-height: 40px;
  padding: 0 15px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  font-weight: 400;
  color: #fff;
  border: 1px solid #00d1b2;
  border-radius: 4px;
  background-color: #00d1b2;
  transition: background 0.3s;
}
.msSearchCtnr button:hover {
  background: #00d1b2;
  color: #fff;
}
.msSearchCtnr button.icon {
  width: 40px;
  height: 40px;
}
.msSearchCtnr button.icon.search span {
  width: 25px;
  height: 25px;
}
.msSearchCtnr button.icon.search span:after {
  font-family: "remixicon";
  content: "\f0cd";
  color: #fff;
  font-size: 1em;
  position: absolute;
  top: -1px;
  left: 7px;
  text-indent: 0;
}
.msSearchCtnr button.icon.refresh span {
  width: 25px;
  height: 25px;
}
.msSearchCtnr button.icon.refresh span:after {
  font-family: "remixicon";
  content: "\f064";
  color: #fff;
  font-size: 1em;
  position: absolute;
  top: -1px;
  left: 7px;
  text-indent: 0;
}
.msSearchCtnr button.current:before {
  transform: scaleY(1);
}

.sw-message {
  position: fixed;
  z-index: 5000;
  right: 0;
  bottom: 0;
  width: 100%;
  overflow: hidden;
  text-align: left;
  background: #fff;
  border-top: 1px;
  border-style: solid;
  border-color: rgba(0, 209, 178, 0.42);
}
.sw-message li {
  box-sizing: border-box;
  width: 100%;
  display: block;
  margin: 0;
  padding: 20px;
  color: #fff;
  transform: translate(0, 0);
  transition: transform 0.3s;
  text-align: center;
}
.sw-message li.success {
  color: #00d1b2;
  font-weight: bold;
}
.sw-message li.success span {
  font-weight: bold;
}
.sw-message li.success::before {
  content: "\eca0";
  font-family: "remixicon";
  text-indent: 0;
  display: inline-block;
  color: #00d1b2;
  vertical-align: bottom;
  font-size: 18px;
  margin-right: 5px;
}
.sw-message li.error {
  color: #d45e5e;
  font-weight: bold;
}
.sw-message li.error::before {
  content: "\ed18";
  font-family: "remixicon";
  text-indent: 0;
  display: inline-block;
  color: #d45e5e;
  vertical-align: bottom;
  font-size: 18px;
  margin-right: 5px;
}
.sw-message li.new {
  transform: translate(0, 100%);
}

/* Legacy desktop top-toolbar. The markup was renamed to
 * .legacy-list-toolbar in Form.php; the new edit-drawer scaffold
 * reuses the .sw-header classname. :not(.sw-drawer *) prevents the
 * legacy fixed top-bar rules from cascading into the drawer header. */
.sw-header:not(.sw-drawer *) {
  position: fixed;
  z-index: 5000;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  height: 69px;
  background-color: #fff;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  border-width: 0 0 1px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
  width: 100%;
  box-sizing: border-box;
}
.sw-header:not(.sw-drawer *) .trigger-menu {
  order: 0;
  margin-left: 0;
}
.sw-header:not(.sw-drawer *) .custom-controls {
  order: 999;
  margin-left: auto;
  display: flex;
  gap: 8px;
  padding: 8px 10px 0;
  align-items: center;
}
.sw-header:not(.sw-drawer *) .custom-controls > label.header-controls {
  height: 70px;
  min-height: 70px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  background-color: #00d1b2;
  color: #fff;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  box-sizing: border-box;
  position: relative;
  white-space: nowrap;
  cursor: pointer;
}
.sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls {
  height: 52px;
  min-height: 52px;
  min-width: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgb(0, 183.92, 156.64);
  background: linear-gradient(180deg, rgb(20.4, 212.68, 184.16) 0%, #00d1b2 100%);
  color: #fff;
  font-size: 0.92em;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(0, 209, 178, 0.22);
  transition: transform 0.18s ease, box-shadow 0.22s ease, filter 0.22s ease;
}
.sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 10px 18px rgba(0, 209, 178, 0.28);
}
.sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls:active, .sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls.ui-state-active {
  transform: translateY(0);
  filter: brightness(0.95);
  box-shadow: 0 3px 8px rgba(0, 209, 178, 0.18);
}
.sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls:focus-visible {
  outline: 2px solid rgba(0, 209, 178, 0.35);
  outline-offset: 2px;
}
.sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls [class^=ri-],
.sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls [class*=" ri-"] {
  color: inherit;
  font-size: 1.1em;
  line-height: 1;
  transition: color 0.2s ease;
}
.sw-header:not(.sw-drawer *) input[type=checkbox] + label {
  color: #fff;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  font-weight: bold;
  height: 50px;
  padding-left: 10px;
  border-left: 1px solid #fff;
  padding-top: 17px;
  padding-right: 10px;
}
.sw-header:not(.sw-drawer *) input[type=checkbox] + label:after {
  left: 10px;
  top: 48%;
}
.sw-header:not(.sw-drawer *) a {
  box-sizing: border-box;
  transform: translateZ(0);
  backface-visibility: hidden;
  position: relative;
  color: #fff;
  border: none;
  display: flex;
  height: 70px;
  vertical-align: top;
  font-weight: 700;
  min-width: 70px;
  background-color: #00d1b2;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: background 0.3s;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding: 5px;
}
.sw-header:not(.sw-drawer *) a:focus {
  outline: none;
}
.sw-header:not(.sw-drawer *) a:hover {
  background: rgb(0, 50.16, 42.72);
}
.sw-header:not(.sw-drawer *) button {
  box-sizing: border-box;
  transform: translateZ(0);
  backface-visibility: hidden;
  position: relative;
  color: #00d1b2;
  border: none;
  position: relative;
  display: inline-block;
  height: 50px;
  vertical-align: top;
  font-weight: 700;
  padding: 0px 10px;
  min-width: 50px;
  background-color: rgb(234.6, 251.32, 248.84);
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  border-bottom: 1px solid rgb(214.2, 247.64, 242.68);
  transition: background 0.3s;
}
.sw-header:not(.sw-drawer *) button:hover {
  background: rgb(0, 150.48, 128.16);
  color: #00d1b2;
}
.sw-header:not(.sw-drawer *) a.current:before {
  transform: scaleY(1);
}
.sw-header:not(.sw-drawer *) button.current:before {
  transform: scaleY(1);
}
.sw-header:not(.sw-drawer *) .default-controls {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-grow: 1;
}
.sw-header:not(.sw-drawer *) a.toggle-menu {
  text-align: center;
  width: 70px;
  display: none;
  text-indent: -9999px;
}
.sw-header:not(.sw-drawer *) a.toggle-menu span {
  width: 25px;
  height: 25px;
}
.sw-header:not(.sw-drawer *) a.toggle-menu span:after {
  font-family: "remixicon";
  content: "\ef3e";
  text-indent: 0;
  position: absolute;
  font-size: 2.2em;
  top: 12px;
  left: 16px;
}
.sw-header:not(.sw-drawer *) a.icon.duplicate {
  margin: 13px 11px 0;
  padding: 0;
}
.sw-header:not(.sw-drawer *) a.icon.duplicate:before {
  display: none;
}
.sw-header:not(.sw-drawer *) button.icon.duplicate {
  margin: 13px 11px 0;
  padding: 0;
}
.sw-header:not(.sw-drawer *) button.icon.duplicate:before {
  display: none;
}

.search-entity-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 8px 0;
  margin-bottom: 8px;
}
.search-entity-header .search-entity-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}
.search-entity-header .search-active-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.search-entity-header .search-active-tags .search-tag {
  display: inline-block;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 500;
  background: hsl(196, 60%, 92%);
  color: hsl(196, 60%, 30%);
  border-radius: 12px;
  white-space: nowrap;
  line-height: 1.6;
}
.search-entity-header button.icon.filter {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  padding: 0;
  position: relative;
}
.search-entity-header button.icon.filter:before {
  font-family: "remixicon";
  content: "\ed27";
  color: #00d1b2;
  font-size: 1.2em;
  line-height: 1;
  display: block;
}
.search-entity-header button.icon.filter span {
  display: none;
}
.search-entity-header button.icon.filter:hover:before {
  color: #00d1b2;
}

.content {
  padding-bottom: 100px;
  overflow-x: auto;
  border-radius: 6px;
  border: 1px solid rgba(24, 28, 33, 0.06);
  color: rgb(0, 58.52, 49.84);
  background-color: #fff;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.03);
}

.tablesorter {
  width: 100%;
  overflow-x: hidden;
}
.tablesorter thead th {
  position: relative;
  color: #00d1b2;
  text-align: center;
  font-weight: 600;
  padding: 0.5em 0.75em;
  cursor: pointer;
  border: 1px solid rgb(244.8, 253.16, 251.92);
  vertical-align: top;
  border-width: 0 0 2px;
  overflow: hidden;
}
.tablesorter thead th:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  top: 50%;
  right: 10px;
  border-top: 5px solid #00d1b2;
  transform: translate(0, calc(-50% + 3.5px));
  transition: border 0.3s;
}
.tablesorter thead th:after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  top: 50%;
  right: 10px;
  border-bottom: 5px solid #00d1b2;
  transform: translate(0, calc(-50% - 3.5px));
  transition: border 0.3s;
}
.tablesorter thead th .sorted {
  background: rgb(234.6, 251.32, 248.84) !important;
  border-color: rgb(0, 50.16, 42.72);
}
.tablesorter thead th.actionrow:after,
.tablesorter thead th.no-sort:after,
.tablesorter thead th.delete:after {
  display: none;
}
.tablesorter thead th.actionrow:before,
.tablesorter thead th.no-sort:before,
.tablesorter thead th.delete:before {
  display: none;
}
.tablesorter thead th[sens=desc]:before {
  border-top: 5px solid #fff;
}
.tablesorter thead th[sens=desc]:after {
  border-bottom: 5px solid #00d1b2;
}
.tablesorter thead th[sens=asc]:before {
  border-top: 5px solid #00d1b2;
}
.tablesorter thead th[sens=asc]:after {
  border-bottom: 5px solid #fff;
}
.tablesorter thead th.delete {
  padding: 0;
  width: 16px;
}
.tablesorter tbody tr {
  cursor: pointer;
  background: #fff;
}
.tablesorter tbody tr td {
  padding: 0.1em;
  background: #fff;
  transition: background 0.3s;
  border: 1px solid rgb(229.5, 250.4, 247.3);
  border: 1px solid rgb(229.5, 250.4, 247.3);
  text-align: center;
  overflow: hidden;
}
.tablesorter tbody tr td span {
  position: relative;
}
.tablesorter tbody tr td a {
  color: #00d1b2;
}
.tablesorter tbody tr td:last-of-type {
  background: none;
}
.tablesorter tbody tr td .ac-delete-link {
  display: inline-block;
  width: 23px;
}
.tablesorter tbody tr td .ac-delete-link i {
  color: #d45e5e;
}
.tablesorter tbody tr td .ac-delete-link i:hover {
  color: rgb(26.95, 199.55, 203.9);
}
.tablesorter tbody tr td p.no-results {
  padding: 7px;
  position: relative;
}
.tablesorter tbody tr td p.no-results span {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 29px);
  margin-left: 30px;
}
.tablesorter tbody tr td p.no-results:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  background: url("../../img/remix/information-line.svg") no-repeat;
  background: url("../../img/remix/information-line.svg") no-repeat;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 5px;
}
.tablesorter tbody tr td.actionrow {
  width: 1px;
  white-space: nowrap;
  text-align: center;
  padding: 0;
}
.tablesorter tbody tr td.actionrow a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px;
}
.tablesorter tbody tr td.actionrow label {
  margin: 0 5px;
}
.tablesorter tbody tr td.actionrow label:before {
  margin-right: 0;
}
.tablesorter tbody tr td.total {
  color: #00d1b2;
  font-weight: bold;
}
.tablesorter tbody tr:nth-of-type(2n) td {
  background: rgb(244.8, 253.16, 251.92);
}
.tablesorter tbody tr:hover td:not([t=empty]) {
  background-color: rgb(234.6, 251.32, 248.84);
  color: #00d1b2;
}
.tablesorter tbody tr:hover td[t=empty] {
  cursor: default;
}
.tablesorter tfoot tr {
  cursor: pointer;
  background: #fff;
}
.tablesorter tfoot tr td {
  border: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 8px 5px;
  background: #fff;
  transition: background 0.3s;
}
.tablesorter tfoot tr td:last-of-type {
  background: none;
}
.tablesorter tr td.right {
  text-align: right;
}
.tablesorter tr td.center {
  text-align: center;
}
.tablesorter tfoot.totalRow tr td {
  border: 0px none;
  padding: 5px 10px 4px;
}

.navigation-wrapper {
  box-sizing: border-box;
  text-align: right;
  background: #fff;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  border-top: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 2px;
}
.navigation-wrapper .scroll-top {
  display: inline-block;
  vertical-align: middle;
  background: #fff;
  border: none;
}
.navigation-wrapper .scroll-top span {
  display: block;
  text-indent: -9999px;
  width: 24px;
  height: 24px;
}
.navigation-wrapper .scroll-top span:after {
  font-family: "remixicon";
  content: "\ea72";
  text-indent: 0;
}
.navigation-wrapper .pagination-wrapper {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 43px);
}
.navigation-wrapper .pagination-wrapper input {
  text-align: center;
}
.navigation-wrapper .pagination-wrapper input:not([value="1"]) {
  background-color: rgb(26.95, 199.55, 203.9);
  color: white;
}

.featured-input {
  box-sizing: border-box;
  width: 100%;
  padding: 0 0 20px 0;
  background: rgb(234.6, 251.32, 248.84);
  margin: 0 0 20px 0;
}

.ui-datepicker {
  background: #fff;
}
.ui-datepicker .ui-datepicker-header {
  position: relative;
  background: #00d1b2;
  text-align: left;
  padding: 3px 0;
  font-size: 0.9em;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
  display: block;
  margin: 0 auto;
  width: calc(100% - 74px);
  text-align: center;
  font-size: 1.5em;
  color: #fff;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-title select {
  box-sizing: border-box;
  padding: 5px;
  outline: none;
  background: none;
  font-weight: 700;
  border: none;
  text-align: center;
  cursor: pointer;
  text-align-last: center;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-title select option {
  color: rgb(0, 25.08, 21.36);
}
.ui-datepicker .ui-datepicker-header a.ui-corner-all {
  position: absolute;
  display: block;
  top: 0;
  width: 35px;
  height: 34px;
  background: #00d1b2;
  text-indent: -9999px;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-header a.ui-corner-all span {
  position: absolute;
  top: 15px;
  background: url("../img/sprite-sw.png") no-repeat;
  background-position: 0 0;
  width: 11px;
  height: 7px;
}
.ui-datepicker .ui-datepicker-header a.ui-corner-all.ui-datepicker-prev {
  left: 0;
}
.ui-datepicker .ui-datepicker-header a.ui-corner-all.ui-datepicker-prev span {
  left: 12px;
  transform: rotate(90deg);
}
.ui-datepicker .ui-datepicker-header a.ui-corner-all.ui-datepicker-next {
  right: 0;
}
.ui-datepicker .ui-datepicker-header a.ui-corner-all.ui-datepicker-next span {
  right: 12px;
  transform: rotate(-90deg);
}
.ui-datepicker .ui-datepicker-calendar {
  border: 1px solid rgb(209.1, 246.72, 241.14);
}
.ui-datepicker .ui-datepicker-calendar thead th {
  padding: 5px 8px;
  text-align: center;
}
.ui-datepicker .ui-datepicker-calendar tbody td {
  padding: 10px 10px;
  cursor: pointer;
  text-align: center;
  font-size: 0.9em;
}
.ui-datepicker .ui-datepicker-calendar tbody td a {
  color: rgb(0, 37.62, 32.04);
  font-weight: 400;
}
.ui-datepicker .ui-datepicker-calendar tbody td:hover {
  background: rgb(234.6, 251.32, 248.84);
}
.ui-datepicker .ui-datepicker-calendar tbody td:hover a {
  color: rgb(0, 25.08, 21.36);
}
.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-current-day {
  background: rgb(214.2, 247.64, 242.68);
}
.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-current-day a {
  color: #fff;
}
.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-other-month {
  background: rgb(244.8, 253.16, 251.92);
}
.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-other-month a {
  color: rgb(0, 79.42, 67.64);
}
.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-other-month:hover a {
  color: #fff;
}
.ui-datepicker .ui-datepicker-calendar tbody .ui-datepicker-today {
  background-color: aliceblue !important;
}
.ui-datepicker .ui-datepicker-calendar tbody .ui-datepicker-today a {
  font-weight: bold;
}
.ui-datepicker .ui-datepicker-calendar tbody .ui-datepicker-unselectable {
  background: rgb(244.8, 253.16, 251.92);
  color: rgb(0, 117.04, 99.68);
}

a {
  background-color: transparent;
  text-decoration: none;
  padding: 0;
  margin: 0;
}
a:active {
  outline-width: 0;
}
a:hover {
  outline-width: 0;
}

b {
  font-weight: inherit;
  font-weight: bolder;
}

strong {
  font-weight: inherit;
  font-weight: bolder;
}

h1 {
  font-size: 2em;
  margin: 0.67em;
  padding: 0;
  margin: 0;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

button {
  font: inherit;
  margin: 0;
  cursor: pointer;
  outline: none;
  overflow: visible;
  text-transform: none;
  outline: none;
}
button:focus {
  outline: none;
}

[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
  color: rgb(0, 79.42, 67.64);
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-placeholder {
  color: rgb(0, 79.42, 67.64);
  opacity: 1;
}

ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  padding: 0;
  margin: 0;
}

h2 {
  padding: 0;
  margin: 0;
}

h3 {
  padding: 0;
  margin: 0;
}

h4 {
  padding: 0;
  margin: 0;
}

h5 {
  padding: 0;
  margin: 0;
}

h6 {
  padding: 0;
  margin: 0;
}

p {
  padding: 0;
  margin: 0;
}

.ui-helper-hidden-accessible {
  display: none;
}

body.ac-no-overflow {
  overflow: hidden;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.select-label {
  border-radius: 4px;
}
.select-label .gray {
  color: rgb(0, 31.35, 26.7);
  min-height: 16px;
}
.select-label ul li.null {
  color: rgb(0, 133.76, 113.92);
}

.hand {
  cursor: pointer;
}

.icon.duplicate {
  text-align: left;
  display: inline-block;
  vertical-align: middle;
  background: url("../img/remix/file-copy-2-line.svg") no-repeat;
  width: 23px;
  height: 22px;
}

.icon.print {
  text-align: left;
  display: inline-block;
  vertical-align: middle;
  background: url("../img/remix/printer-line.svg") no-repeat;
  width: 24px;
  height: 24px;
}

.button-link-blue.current:before {
  transform: scaleY(1);
}

.ac-light-blue.current:before {
  transform: scaleY(1);
}

.ac-light-red.current:before {
  transform: scaleY(1);
}

.ui-button.current:before {
  transform: scaleY(1);
}

.button-link-gray {
  position: relative;
  background-color: rgb(0, 37.62, 32.04);
  color: #fff;
  border: none;
  transition: background 0.3s;
}
.button-link-gray:hover {
  background-color: rgb(0, 50.16, 42.72);
}

.pagination-wrapper p {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.9em;
}
.pagination-wrapper p span {
  font-weight: 700;
}
.pagination-wrapper div {
  display: inline-block;
  margin-left: 10px;
}
.pagination-wrapper div input {
  width: 35px;
  padding: 5px;
  font-size: 0.9em;
  margin: 0 5px;
}
.pagination-wrapper div p {
  margin-right: 5px;
}
.pagination-wrapper div a {
  display: inline-block;
  vertical-align: middle;
  padding: 10px;
  color: rgb(0, 37.62, 32.04);
  font-size: 14px;
  font-weight: 700;
  transition: background 0.3s, color 0.3s;
  padding: 10px 13px;
  border: none;
  background: none;
}
.pagination-wrapper div a span {
  width: 24px;
  height: 24px;
  text-indent: 9999px;
  display: block;
  position: relative;
}
.pagination-wrapper div a.prev > span:after {
  content: "\ea64";
  font-family: "remixicon";
  font-size: 2.5em;
  text-indent: 0;
  color: #00d1b2;
  position: absolute;
  top: -13px;
  right: -10px;
}
.pagination-wrapper div a.next > span:after {
  content: "\ea6e";
  font-family: "remixicon";
  font-size: 2.5em;
  text-indent: 0;
  color: #00d1b2;
  position: absolute;
  top: -13px;
  right: 5px;
}

.custom-controls.has-controls {
  width: calc(100% - 50px);
}

.custom-controls.has-controls.dashboard {
  width: 100%;
}

.ac-login .sw-message {
  width: 100%;
}

.login-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(img/bg-login.jpg) repeat;
  animation: bg-login 30s linear infinite;
}
.login-wrapper .login-content {
  position: absolute;
  width: 400px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.login-wrapper .login-content .ac-client-logo {
  position: relative;
  width: 100%;
  height: 200px;
  margin-bottom: 20px;
}
.login-wrapper .login-content .ac-client-logo img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: 65%;
  display: block;
}
.login-wrapper .login-content #login-form .input-wrapper {
  text-align: center;
}
.login-wrapper .login-content #login-form .input-wrapper input {
  width: 100%;
  margin-bottom: 20px;
}
.login-wrapper .login-content #login-form .input-wrapper .loader {
  width: 75px;
}
.login-wrapper .login-content #login-form .note {
  font-size: small;
}
.login-wrapper .login-content #login-form a {
  border-bottom: 1px solid transparent;
  display: block;
  color: rgb(0, 37.62, 32.04);
  font-size: 16px;
  transition: border 0.3s;
}
.login-wrapper .login-content #login-form a:hover {
  font-weight: bolder;
}
.login-wrapper .login-content #login-form .checkbox-wrapper {
  margin-bottom: 20px;
}
.login-wrapper .login-content #login-form .checkbox-wrapper input {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.login-wrapper .login-content #login-form .checkbox-wrapper input:checked + label:after {
  transform: translate(15px, -40%);
  background: rgb(0, 25.08, 21.36);
  left: 0;
}
.login-wrapper .login-content #login-form .checkbox-wrapper label {
  position: relative;
  top: 8px;
  cursor: pointer;
}
.login-wrapper .login-content #login-form .checkbox-wrapper label span {
  color: #fff;
  font-weight: 700;
  display: inline-block;
  vertical-align: middle;
}
.login-wrapper .login-content #login-form .checkbox-wrapper label:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
  width: 30px;
  height: 10px;
  background: rgb(0, 50.16, 42.72);
  border-radius: 15px;
}
.login-wrapper .login-content #login-form .checkbox-wrapper label:after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  top: 50%;
  left: -1px;
  transform: translate(0, -40%);
  border-radius: 50%;
  transition: transform 0.3s, background 0.3s;
  background: rgb(0, 25.08, 21.36);
}
.login-wrapper .login-content #login-form button {
  margin: 10px 0 15px;
  display: inline-block;
  border: 3px solid #00d1b2;
  border-radius: 4px;
  padding: 15px 30px;
  text-transform: uppercase;
  font-size: 18px;
  color: #00d1b2;
  background: none;
  font-weight: 800;
  transition: color 0.3s, background 0.3s;
}
.login-wrapper .login-content #login-form button:disabled {
  border: 2px solid rgb(0, 150.48, 128.16);
  color: rgb(0, 150.48, 128.16);
}
.login-wrapper .login-content #login-form button:disabled:hover {
  border: 2px solid rgb(0, 150.48, 128.16);
  color: rgb(0, 150.48, 128.16);
  background: transparent;
}
.login-wrapper .login-content #login-form button:hover {
  color: #fff;
  background: #00d1b2;
}
.login-wrapper .login-content #login-form button:active {
  color: #fff;
  background: #00d1b2;
}
.login-wrapper .copyright {
  font-size: 12px;
  color: rgb(0, 37.62, 32.04);
  position: absolute;
  font-weight: 300;
  bottom: 20px;
  left: 20px;
}
.login-wrapper .copyright strong {
  font-weight: 700;
}

.hide {
  display: none !important;
}

.cntOnglet {
  display: flex;
  font-size: 1rem;
  justify-content: space-between;
}

.ui-tabs-nav {
  justify-content: left;
  justify-content: left;
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  border: 1px solid rgb(204, 245.8, 239.6);
  border-width: 0 0 1px 0;
  align-items: center;
  margin-top: 10px;
}
.ui-tabs-nav li {
  display: block;
}
.ui-tabs-nav li:last-of-type {
  margin-right: 0;
}
.ui-tabs-nav li a {
  border: 1px solid rgb(204, 245.8, 239.6);
  border-width: 0 0 1px 0;
  display: block;
  color: rgb(0, 37.62, 32.04);
  padding: 0.5em 1em;
  margin-bottom: -1px;
  transition: background 0.3s, color 0.3s;
  font-weight: 700;
  outline: none;
  align-items: center;
}
.ui-tabs-nav li a:hover {
  border-bottom-color: #00d1b2;
}
.ui-tabs-nav li.selected a {
  border-bottom-color: #00d1b2;
  border-bottom-width: 3px;
  border-bottom-width: 3px;
  color: #00d1b2;
}
.ui-tabs-nav li.ui-state-active a {
  border-bottom-color: #00d1b2;
  border-bottom-width: 3px;
  border-bottom-width: 3px;
  color: #00d1b2;
}

.divbut.divtr.bulk-update {
  width: 100%;
  margin-right: 0;
}

#alertDialog {
  text-align: center;
  padding: 40px 20px;
}
#alertDialog p {
  font-size: 18px;
}
#alertDialog p:before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  background: url("../img/sprite-sw.png") no-repeat;
  margin-right: 10px;
  background-position: -226px 0;
  width: 19px;
  height: 19px;
}
#alertDialog {
  /* Upload progress / error message skin, used by is_file_upload_table
   * and upload_child emitters. .upl-progress contains a bar + percent
   * label; .upl-errors lists per-file failure messages. */
}
#alertDialog .upl-progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  text-align: left;
  max-width: 360px;
  margin: 4px auto 0;
}
#alertDialog .upl-bar {
  height: 8px;
  border-radius: 999px;
  background: #e6edf2;
  overflow: hidden;
}
#alertDialog .upl-bar-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #00d1b2, #00b89c);
  transition: width 0.18s ease-out;
}
#alertDialog .upl-pct {
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  color: #4a5763;
  text-align: right;
}
#alertDialog .upl-errors {
  text-align: left;
  max-width: 420px;
  margin: 4px auto 0;
}
#alertDialog .upl-errors .upl-err-title {
  font-size: 14px;
  font-weight: 600;
  color: #ef4444;
  margin-bottom: 6px;
}
#alertDialog .upl-errors ul {
  list-style: disc;
  padding-left: 20px;
  margin: 0;
  font-size: 13px;
  color: #4a5763;
}
#alertDialog .upl-errors li {
  margin: 2px 0;
}

.ui-widget-overlay {
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.dashboard .center-panel .content-wrapper {
  height: calc(100% - 70px);
}

.ac-left-action-buttons {
  display: inline-block;
}

.required {
  background-color: aliceblue;
}

.custom-controls-add {
  vertical-align: top;
  text-align: right;
  float: right;
}

#filelist {
  left: 50px;
  position: absolute;
  top: 2px;
  width: 200px;
}

#previous_item {
  width: 50px;
}

#next_item {
  width: 50px;
}

.selectedCount {
  margin-right: 30px;
}

.toggle-menu {
  float: left;
}

#editPopupDialog .formContent {
  padding: 20px;
}

.stdlist {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 50px;
  display: table;
  border-collapse: collapse;
}
.stdlist .thead {
  display: table-row;
}
.stdlist .th {
  display: table-cell;
  position: relative;
  color: #fff;
  background: rgb(0, 25.08, 21.36);
  text-align: left;
  font-size: 16px;
  font-weight: 300;
  padding: 10px;
  padding-right: 22px;
  border: 1px solid rgb(0, 25.08, 21.36);
  cursor: pointer;
  transition: background 0.3s;
}
.stdlist .tr {
  display: table-row;
}
.stdlist .tr:hover .td {
  filter: none;
}
.stdlist .tr.yellow div {
  background: #fff;
}
.stdlist .tr.red div {
  background: rgb(242.46, 211.88, 211.88);
}
.stdlist .td {
  display: table-cell;
  font-size: 16px;
  border: 1px solid rgb(214.2, 247.64, 242.68);
  padding: 8px 5px;
  background: #fff;
  transition: background 0.3s;
}

.fullwidth {
  width: 100% !important;
  max-width: 100%;
}

.message-header {
  font-size: 20px;
  padding: 20px;
  color: #c63b3b;
}

.onglet-child {
  width: 50%;
  background: #fff;
}

.save-button button {
  float: left;
}

#divCntProjects {
  min-height: 260px;
}

.info {
  padding: 3px 10px;
  font-weight: bold;
}

.error {
  padding: 3px 15px;
  color: #d45e5e;
}

.debug {
  padding: 2px 20px;
  color: rgb(0, 79.42, 67.64);
}
.debug::before {
  content: "• ";
}

.task {
  padding: 5px;
  background: rgb(224.4, 249.48, 245.76);
  margin: 10px;
}

.expired-session-msg-ctnr {
  width: 100%;
  padding-top: 100px;
  background-color: rgb(224.4, 249.48, 245.76);
  border: 1px solid rgb(209.1, 246.72, 241.14);
}

.expired-session-msg {
  margin: auto;
  font-size: 20px;
  text-align: center;
  padding: 20px;
  height: calc(100% - 120px);
}

body.toggle-left-panel .sw-header .custom-controls.has-controls {
  width: calc(100% - 100px);
}
body.toggle-left-panel .sw-header .custom-controls.dashboard {
  width: calc(100% - 50px);
}
body.toggle-left-panel .left-panel {
  transform: translate(-100%, 0);
}
body.toggle-left-panel .center-panel {
  width: 100%;
  transform: translate(0, 0);
}
body.toggle-left-panel .center-panel .content-wrapper #tabsContain .sw-header .toggle-menu {
  display: inline-block;
}

@media screen and (max-width: 1024px) {
  .msSearchCtnr .ac-search-item {
    width: calc(25% - 10px);
  }
  body .left-panel .left-panel-content {
    width: 100%;
  }
  #tabsContain .tablesorter {
    width: auto;
    min-width: 100%;
    overflow: visible;
  }
  #tabsContain .tablesorter tbody tr td {
    padding: 14px 10px;
  }
  #tabsContain .tablesorter thead th:first-child,
  #tabsContain .tablesorter tbody td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background-color: #fff;
    box-shadow: 6px 0 8px -6px rgba(0, 0, 0, 0.28);
  }
  #tabsContain .tablesorter thead th.actionrow,
  #tabsContain .tablesorter tbody td.actionrow {
    position: sticky;
    right: 0;
    z-index: 2;
    background-color: #fff;
    box-shadow: -6px 0 8px -6px rgba(0, 0, 0, 0.28);
  }
  #tabsContain .tablesorter thead th {
    z-index: 3;
  }
  #tabsContain .tablesorter thead th:first-child,
  #tabsContain .tablesorter thead th.actionrow {
    z-index: 4;
  }
  .content {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .tablesorter td.actionrow a,
  .tablesorter .ac-delete-link {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .navigation-wrapper {
    width: 100%;
    right: 0;
    z-index: 5;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    font-size: 12px;
    white-space: nowrap;
    overflow-x: auto;
  }
  .navigation-wrapper .scroll-top {
    flex: 0 0 auto;
    padding: 0;
    line-height: 1;
  }
  .navigation-wrapper .scroll-top span {
    text-indent: 0;
    width: auto;
    height: auto;
    font-size: 0;
  }
  .navigation-wrapper .scroll-top span:after {
    font-family: "remixicon";
    content: "\ea72";
    font-size: 22px;
    color: #00d1b2;
    text-indent: 0;
  }
  .navigation-wrapper .pagination-wrapper {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
  }
  .navigation-wrapper .pagination-wrapper .count {
    margin: 0;
    font-size: 0;
  }
  .navigation-wrapper .pagination-wrapper .count:before {
    content: "Total ";
    font-size: 12px;
  }
  .navigation-wrapper .pagination-wrapper .count span {
    font-size: 12px;
    font-weight: 700;
  }
  .navigation-wrapper .pagination-wrapper .count span:first-child {
    display: none;
  }
  .navigation-wrapper .pagination-wrapper .selectedCount {
    margin: 0;
    font-size: 12px;
  }
  .navigation-wrapper .pagination-wrapper > div {
    display: flex;
    align-items: center;
    margin: 0;
  }
  .mainForm .divtr {
    width: calc(33.33% - 40px);
  }
}
@media screen and (max-width: 768px) {
  .navigation-wrapper {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
  .msSearchCtnr .ac-search-item {
    width: calc(100% - 10px);
  }
  /* Legacy mobile bottom-nav. The markup was renamed to
   * .legacy-list-toolbar in Form.php; the new edit-drawer scaffold
   * reuses the .sw-header classname for a totally different
   * purpose, so :not(.sw-drawer .sw-header) prevents the legacy
   * mobile rules from cascading into the drawer header strip. */
  .sw-header:not(.sw-drawer *) {
    --mobile-header-height: 64px;
    --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
    position: fixed;
    bottom: 0;
    top: unset;
    right: 0;
    height: calc(var(--mobile-header-height) + var(--mobile-safe-bottom));
    padding-bottom: var(--mobile-safe-bottom);
    z-index: 10;
    display: flex;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border-top: 1px solid rgb(214.2, 247.64, 242.68);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
  }
  .sw-header:not(.sw-drawer *) a, .sw-header:not(.sw-drawer *) button {
    height: var(--mobile-header-height);
    min-height: var(--mobile-header-height);
    flex: 0 0 auto;
    min-width: 56px;
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-top: 3px solid transparent;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    font-size: 11px;
    transition: background 0.2s, border-color 0.2s;
  }
  .sw-header:not(.sw-drawer *) a.current, .sw-header:not(.sw-drawer *) button.current {
    border-top-color: #00d1b2;
    background: rgba(0, 209, 178, 0.06);
  }
  .sw-header:not(.sw-drawer *) a.current:before, .sw-header:not(.sw-drawer *) button.current:before {
    transform: none;
  }
  .sw-header:not(.sw-drawer *) a:hover, .sw-header:not(.sw-drawer *) button:hover {
    background: rgba(0, 209, 178, 0.08);
  }
  .sw-header:not(.sw-drawer *) a.toggle-menu {
    width: 56px;
    display: flex;
    text-indent: -9999px;
    background: transparent;
    color: rgb(0, 37.62, 32.04);
    border-top-color: transparent;
  }
  .sw-header:not(.sw-drawer *) a.toggle-menu span:after {
    font-size: 1.8em;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .sw-header:not(.sw-drawer *) a.toggle-menu:hover {
    background: rgba(0, 0, 0, 0.04);
    color: #00d1b2;
  }
  .sw-header:not(.sw-drawer *) .default-controls {
    order: -1;
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
  }
  .sw-header:not(.sw-drawer *) .custom-controls {
    width: auto;
    order: unset;
    margin-left: auto;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    flex: 1;
    min-width: 0;
    height: var(--mobile-header-height);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-direction: row;
    gap: 0;
    padding: 0;
  }
  .sw-header:not(.sw-drawer *) .custom-controls a,
  .sw-header:not(.sw-drawer *) .custom-controls button {
    height: var(--mobile-header-height);
    min-height: var(--mobile-header-height);
  }
  .sw-header:not(.sw-drawer *) .custom-controls > .header-controls {
    height: var(--mobile-header-height);
    min-height: var(--mobile-header-height);
    min-width: 50px;
    max-width: 1px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-top: 3px solid transparent;
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-radius: 0;
  }
  .sw-header:not(.sw-drawer *) .custom-controls > label.header-controls {
    position: relative;
    color: rgb(0, 37.62, 32.04);
  }
  .sw-header:not(.sw-drawer *) .custom-controls > label.header-controls input[type=checkbox] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
  }
  .sw-header:not(.sw-drawer *) .custom-controls > a.button-link-blue.header-controls {
    height: calc(var(--mobile-header-height) - 8px);
    min-height: calc(var(--mobile-header-height) - 8px);
    margin: 4px 4px;
    padding: 0 10px;
    border-radius: 10px;
    box-shadow: none;
    font-size: 0.86em;
    gap: 6px;
  }
  .sw-header:not(.sw-drawer *) .custom-controls::-webkit-scrollbar {
    display: none;
  }
  .sw-header:not(.sw-drawer *) .custom-controls.has-controls {
    width: auto;
  }
  .sw-header:not(.sw-drawer *) a.add-button::after {
    top: 7px;
    left: 11px;
  }
  .login-wrapper .login-content {
    width: 90%;
    top: 50px;
    transform: translate(0, 0);
    left: 5%;
  }
  .login-wrapper .login-content .ac-client-logo {
    height: 150px;
  }
  .login-wrapper .copyright {
    left: 50%;
    transform: translate(-50%, 0);
    text-align: center;
  }
  body .left-panel {
    width: 100%;
    transform: translate(-100%, 0);
  }
  body .left-panel .left-panel-wrapper {
    width: 100%;
  }
  body .left-panel .top-nav {
    width: 100%;
  }
  body .left-panel .ac-nav {
    width: 100%;
  }
  body .center-panel .content-wrapper {
    padding-top: 5px;
  }
  body .center-panel .content-wrapper #tabsContain {
    padding: 4px;
  }
  #tabsContain .tablesorter tbody tr td {
    padding: 5px 2px;
  }
  #tabsContain .tablesorter thead tr th {
    padding: 5px 2px;
  }
  #tabsContain .dashboard-wrapper {
    padding: 40px 20px;
    margin-top: 30px;
  }
  #tabsContain .dashboard-wrapper h2 {
    font-size: 22px;
  }
  .mainForm .divtr {
    width: calc(50% - 40px);
  }
  .mainForm .divtr.istinymce {
    width: calc(100% - 20px);
  }
  .ui-dialog {
    max-width: 100%;
    width: 100%;
  }
  .childListWrapper {
    padding: 5px;
    margin-bottom: 70px;
  }
}
@media screen and (max-width: 575px) {
  .mainForm .divtr {
    width: calc(100% - 20px);
    margin: 10px 10px;
  }
}
@media screen and (max-width: 1280px) {
  .sw-message {
    width: 100%;
    background: #fff;
  }
  .sw-header a.toggle-menu {
    display: inline-block;
  }
  .sw-header button.toggle-menu {
    display: inline-block;
  }
  body .left-panel {
    transform: translate(-100%, 0);
  }
  body .center-panel {
    width: 100%;
    transform: translate(0, 0);
  }
  body.toggle-left-panel .left-panel {
    transform: translate(0, 0);
  }
  body.toggle-left-panel .center-panel {
    width: 100%;
    transform: translate(0, 0);
  }
}
@media screen and (max-height: 600px) {
  .login-wrapper {
    position: static;
  }
  .login-wrapper .login-content {
    position: relative;
    top: 20px;
    width: 90%;
    transform: translate(0, 0);
    left: 5%;
  }
  .login-wrapper .copyright {
    position: static;
    bottom: auto;
    left: auto;
    display: block;
    text-align: center;
    transform: translate(0, 0);
    margin-top: 50px;
  }
}
@media screen and (min-width: 1280px) {
  body .center-panel {
    width: calc(100% - 250px);
    transform: translate(250px, 0);
  }
}
.ui-dialog[aria-describedby=alertDialog] .ui-widget-header {
  background: #d45e5e;
}

.ui-dialog[aria-describedby=alertDialog] .ui-dialog-titlebar-close {
  background-color: #d45e5e;
}

.cards {
  display: flex;
  column-gap: 1rem;
  row-gap: 1rem;
}

.card {
  max-width: 320px;
  padding: 1rem;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 20px 20px 30px rgba(0, 0, 0, 0.05);
  margin-bottom: 10px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card.full {
  max-width: 100%;
  margin-bottom: 1rem;
}
.card .image {
  max-width: 320px;
}
.card .title {
  font-weight: 600;
  color: rgb(31, 41, 55);
}
.card .description {
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: rgb(75, 85, 99);
}
.card .description a {
  --tw-text-opacity: 1;
  color: rgb(59, 130, 246);
}
.card .description a:hover {
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
}
.card .actions {
  display: flex;
  align-items: flex-end;
  margin-top: auto;
  justify-content: flex-end;
  flex-shrink: 0;
  flex-direction: column;
}
.card .comment {
  font-style: italic;
  margin-top: 10px;
  font-weight: bold;
  text-align: center;
}

.loader {
  width: 150px;
}

.buform .clinlineform {
  min-width: 260px;
}
.buform .select-label {
  width: 100%;
  min-width: 260px;
}
.buform .select-label-span {
  height: 32px;
  line-height: 32px;
  min-width: 260px;
  padding-top: 0;
  padding-bottom: 0;
}
.buform .select-label.js-select-label {
  position: relative;
}
.buform .select-label.js-select-label.show {
  z-index: 12050;
}
.buform .select-label.js-select-label.show ul, .buform .select-label.js-select-label.show ul.scrollable.select-element {
  z-index: 12051;
  width: max-content;
  min-width: 100%;
  max-width: min(560px, 92vw);
}
.buform .select-label ul li {
  overflow: visible;
  white-space: normal;
  text-overflow: initial;
  line-height: 1.35;
}
.buform .tablesorter,
.buform .tablesorter tbody,
.buform .tablesorter tr,
.buform .tablesorter td,
.buform .tablesorter th,
.buform .ac-list,
.buform .content {
  overflow: visible;
}

/*/var/www/clients/client1/web134/web/.admin/public/css/remix/remixicon.css*//*
* Remix Icon v2.5.0
* https://remixicon.com
* https://github.com/Remix-Design/RemixIcon
*
* Copyright RemixIcon.com
* Released under the Apache License Version 2.0
*
* Date: 2020-05-23
*/
@font-face {
  font-family: "remixicon";
  src: url('./remix/remixicon.eot?t=1590207869815'); /* IE9*/
  src: url('./remix/remixicon.eot?t=1590207869815#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url("./remix/remixicon.woff2?t=1590207869815") format("woff2"),
  url("./remix/remixicon.woff?t=1590207869815") format("woff"),
  url('./remix/remixicon.ttf?t=1590207869815') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
  url('./remix/remixicon.svg?t=1590207869815#remixicon') format('svg'); /* iOS 4.1- */
  font-display: swap;
}

[class^="ri-"], [class*=" ri-"] {
  font-family: 'remixicon' !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ri-lg { font-size: 1.3333em; line-height: 0.75em; vertical-align: -.0667em; }
.ri-xl { font-size: 1.5em; line-height: 0.6666em; vertical-align: -.075em; }
.ri-xxs { font-size: .5em; }
.ri-xs { font-size: .75em; }
.ri-sm { font-size: .875em }
.ri-1x { font-size: 1em; }
.ri-2x { font-size: 2em; }
.ri-3x { font-size: 3em; }
.ri-4x { font-size: 4em; }
.ri-5x { font-size: 5em; }
.ri-6x { font-size: 6em; }
.ri-7x { font-size: 7em; }
.ri-8x { font-size: 8em; }
.ri-9x { font-size: 9em; }
.ri-10x { font-size: 10em; }
.ri-fw { text-align: center; width: 1.25em; }

.ri-24-hours-fill:before { content: "\ea01"; }
.ri-24-hours-line:before { content: "\ea02"; }
.ri-4k-fill:before { content: "\ea03"; }
.ri-4k-line:before { content: "\ea04"; }
.ri-a-b:before { content: "\ea05"; }
.ri-account-box-fill:before { content: "\ea06"; }
.ri-account-box-line:before { content: "\ea07"; }
.ri-account-circle-fill:before { content: "\ea08"; }
.ri-account-circle-line:before { content: "\ea09"; }
.ri-account-pin-box-fill:before { content: "\ea0a"; }
.ri-account-pin-box-line:before { content: "\ea0b"; }
.ri-account-pin-circle-fill:before { content: "\ea0c"; }
.ri-account-pin-circle-line:before { content: "\ea0d"; }
.ri-add-box-fill:before { content: "\ea0e"; }
.ri-add-box-line:before { content: "\ea0f"; }
.ri-add-circle-fill:before { content: "\ea10"; }
.ri-add-circle-line:before { content: "\ea11"; }
.ri-add-fill:before { content: "\ea12"; }
.ri-add-line:before { content: "\ea13"; }
.ri-admin-fill:before { content: "\ea14"; }
.ri-admin-line:before { content: "\ea15"; }
.ri-advertisement-fill:before { content: "\ea16"; }
.ri-advertisement-line:before { content: "\ea17"; }
.ri-airplay-fill:before { content: "\ea18"; }
.ri-airplay-line:before { content: "\ea19"; }
.ri-alarm-fill:before { content: "\ea1a"; }
.ri-alarm-line:before { content: "\ea1b"; }
.ri-alarm-warning-fill:before { content: "\ea1c"; }
.ri-alarm-warning-line:before { content: "\ea1d"; }
.ri-album-fill:before { content: "\ea1e"; }
.ri-album-line:before { content: "\ea1f"; }
.ri-alert-fill:before { content: "\ea20"; }
.ri-alert-line:before { content: "\ea21"; }
.ri-aliens-fill:before { content: "\ea22"; }
.ri-aliens-line:before { content: "\ea23"; }
.ri-align-bottom:before { content: "\ea24"; }
.ri-align-center:before { content: "\ea25"; }
.ri-align-justify:before { content: "\ea26"; }
.ri-align-left:before { content: "\ea27"; }
.ri-align-right:before { content: "\ea28"; }
.ri-align-top:before { content: "\ea29"; }
.ri-align-vertically:before { content: "\ea2a"; }
.ri-alipay-fill:before { content: "\ea2b"; }
.ri-alipay-line:before { content: "\ea2c"; }
.ri-amazon-fill:before { content: "\ea2d"; }
.ri-amazon-line:before { content: "\ea2e"; }
.ri-anchor-fill:before { content: "\ea2f"; }
.ri-anchor-line:before { content: "\ea30"; }
.ri-ancient-gate-fill:before { content: "\ea31"; }
.ri-ancient-gate-line:before { content: "\ea32"; }
.ri-ancient-pavilion-fill:before { content: "\ea33"; }
.ri-ancient-pavilion-line:before { content: "\ea34"; }
.ri-android-fill:before { content: "\ea35"; }
.ri-android-line:before { content: "\ea36"; }
.ri-angularjs-fill:before { content: "\ea37"; }
.ri-angularjs-line:before { content: "\ea38"; }
.ri-anticlockwise-2-fill:before { content: "\ea39"; }
.ri-anticlockwise-2-line:before { content: "\ea3a"; }
.ri-anticlockwise-fill:before { content: "\ea3b"; }
.ri-anticlockwise-line:before { content: "\ea3c"; }
.ri-app-store-fill:before { content: "\ea3d"; }
.ri-app-store-line:before { content: "\ea3e"; }
.ri-apple-fill:before { content: "\ea3f"; }
.ri-apple-line:before { content: "\ea40"; }
.ri-apps-2-fill:before { content: "\ea41"; }
.ri-apps-2-line:before { content: "\ea42"; }
.ri-apps-fill:before { content: "\ea43"; }
.ri-apps-line:before { content: "\ea44"; }
.ri-archive-drawer-fill:before { content: "\ea45"; }
.ri-archive-drawer-line:before { content: "\ea46"; }
.ri-archive-fill:before { content: "\ea47"; }
.ri-archive-line:before { content: "\ea48"; }
.ri-arrow-down-circle-fill:before { content: "\ea49"; }
.ri-arrow-down-circle-line:before { content: "\ea4a"; }
.ri-arrow-down-fill:before { content: "\ea4b"; }
.ri-arrow-down-line:before { content: "\ea4c"; }
.ri-arrow-down-s-fill:before { content: "\ea4d"; }
.ri-arrow-down-s-line:before { content: "\ea4e"; }
.ri-arrow-drop-down-fill:before { content: "\ea4f"; }
.ri-arrow-drop-down-line:before { content: "\ea50"; }
.ri-arrow-drop-left-fill:before { content: "\ea51"; }
.ri-arrow-drop-left-line:before { content: "\ea52"; }
.ri-arrow-drop-right-fill:before { content: "\ea53"; }
.ri-arrow-drop-right-line:before { content: "\ea54"; }
.ri-arrow-drop-up-fill:before { content: "\ea55"; }
.ri-arrow-drop-up-line:before { content: "\ea56"; }
.ri-arrow-go-back-fill:before { content: "\ea57"; }
.ri-arrow-go-back-line:before { content: "\ea58"; }
.ri-arrow-go-forward-fill:before { content: "\ea59"; }
.ri-arrow-go-forward-line:before { content: "\ea5a"; }
.ri-arrow-left-circle-fill:before { content: "\ea5b"; }
.ri-arrow-left-circle-line:before { content: "\ea5c"; }
.ri-arrow-left-down-fill:before { content: "\ea5d"; }
.ri-arrow-left-down-line:before { content: "\ea5e"; }
.ri-arrow-left-fill:before { content: "\ea5f"; }
.ri-arrow-left-line:before { content: "\ea60"; }
.ri-arrow-left-right-fill:before { content: "\ea61"; }
.ri-arrow-left-right-line:before { content: "\ea62"; }
.ri-arrow-left-s-fill:before { content: "\ea63"; }
.ri-arrow-left-s-line:before { content: "\ea64"; }
.ri-arrow-left-up-fill:before { content: "\ea65"; }
.ri-arrow-left-up-line:before { content: "\ea66"; }
.ri-arrow-right-circle-fill:before { content: "\ea67"; }
.ri-arrow-right-circle-line:before { content: "\ea68"; }
.ri-arrow-right-down-fill:before { content: "\ea69"; }
.ri-arrow-right-down-line:before { content: "\ea6a"; }
.ri-arrow-right-fill:before { content: "\ea6b"; }
.ri-arrow-right-line:before { content: "\ea6c"; }
.ri-arrow-right-s-fill:before { content: "\ea6d"; }
.ri-arrow-right-s-line:before { content: "\ea6e"; }
.ri-arrow-right-up-fill:before { content: "\ea6f"; }
.ri-arrow-right-up-line:before { content: "\ea70"; }
.ri-arrow-up-circle-fill:before { content: "\ea71"; }
.ri-arrow-up-circle-line:before { content: "\ea72"; }
.ri-arrow-up-down-fill:before { content: "\ea73"; }
.ri-arrow-up-down-line:before { content: "\ea74"; }
.ri-arrow-up-fill:before { content: "\ea75"; }
.ri-arrow-up-line:before { content: "\ea76"; }
.ri-arrow-up-s-fill:before { content: "\ea77"; }
.ri-arrow-up-s-line:before { content: "\ea78"; }
.ri-artboard-2-fill:before { content: "\ea79"; }
.ri-artboard-2-line:before { content: "\ea7a"; }
.ri-artboard-fill:before { content: "\ea7b"; }
.ri-artboard-line:before { content: "\ea7c"; }
.ri-article-fill:before { content: "\ea7d"; }
.ri-article-line:before { content: "\ea7e"; }
.ri-aspect-ratio-fill:before { content: "\ea7f"; }
.ri-aspect-ratio-line:before { content: "\ea80"; }
.ri-asterisk:before { content: "\ea81"; }
.ri-at-fill:before { content: "\ea82"; }
.ri-at-line:before { content: "\ea83"; }
.ri-attachment-2:before { content: "\ea84"; }
.ri-attachment-fill:before { content: "\ea85"; }
.ri-attachment-line:before { content: "\ea86"; }
.ri-auction-fill:before { content: "\ea87"; }
.ri-auction-line:before { content: "\ea88"; }
.ri-award-fill:before { content: "\ea89"; }
.ri-award-line:before { content: "\ea8a"; }
.ri-baidu-fill:before { content: "\ea8b"; }
.ri-baidu-line:before { content: "\ea8c"; }
.ri-ball-pen-fill:before { content: "\ea8d"; }
.ri-ball-pen-line:before { content: "\ea8e"; }
.ri-bank-card-2-fill:before { content: "\ea8f"; }
.ri-bank-card-2-line:before { content: "\ea90"; }
.ri-bank-card-fill:before { content: "\ea91"; }
.ri-bank-card-line:before { content: "\ea92"; }
.ri-bank-fill:before { content: "\ea93"; }
.ri-bank-line:before { content: "\ea94"; }
.ri-bar-chart-2-fill:before { content: "\ea95"; }
.ri-bar-chart-2-line:before { content: "\ea96"; }
.ri-bar-chart-box-fill:before { content: "\ea97"; }
.ri-bar-chart-box-line:before { content: "\ea98"; }
.ri-bar-chart-fill:before { content: "\ea99"; }
.ri-bar-chart-grouped-fill:before { content: "\ea9a"; }
.ri-bar-chart-grouped-line:before { content: "\ea9b"; }
.ri-bar-chart-horizontal-fill:before { content: "\ea9c"; }
.ri-bar-chart-horizontal-line:before { content: "\ea9d"; }
.ri-bar-chart-line:before { content: "\ea9e"; }
.ri-barcode-box-fill:before { content: "\ea9f"; }
.ri-barcode-box-line:before { content: "\eaa0"; }
.ri-barcode-fill:before { content: "\eaa1"; }
.ri-barcode-line:before { content: "\eaa2"; }
.ri-barricade-fill:before { content: "\eaa3"; }
.ri-barricade-line:before { content: "\eaa4"; }
.ri-base-station-fill:before { content: "\eaa5"; }
.ri-base-station-line:before { content: "\eaa6"; }
.ri-basketball-fill:before { content: "\eaa7"; }
.ri-basketball-line:before { content: "\eaa8"; }
.ri-battery-2-charge-fill:before { content: "\eaa9"; }
.ri-battery-2-charge-line:before { content: "\eaaa"; }
.ri-battery-2-fill:before { content: "\eaab"; }
.ri-battery-2-line:before { content: "\eaac"; }
.ri-battery-charge-fill:before { content: "\eaad"; }
.ri-battery-charge-line:before { content: "\eaae"; }
.ri-battery-fill:before { content: "\eaaf"; }
.ri-battery-line:before { content: "\eab0"; }
.ri-battery-low-fill:before { content: "\eab1"; }
.ri-battery-low-line:before { content: "\eab2"; }
.ri-battery-saver-fill:before { content: "\eab3"; }
.ri-battery-saver-line:before { content: "\eab4"; }
.ri-battery-share-fill:before { content: "\eab5"; }
.ri-battery-share-line:before { content: "\eab6"; }
.ri-bear-smile-fill:before { content: "\eab7"; }
.ri-bear-smile-line:before { content: "\eab8"; }
.ri-behance-fill:before { content: "\eab9"; }
.ri-behance-line:before { content: "\eaba"; }
.ri-bell-fill:before { content: "\eabb"; }
.ri-bell-line:before { content: "\eabc"; }
.ri-bike-fill:before { content: "\eabd"; }
.ri-bike-line:before { content: "\eabe"; }
.ri-bilibili-fill:before { content: "\eabf"; }
.ri-bilibili-line:before { content: "\eac0"; }
.ri-bill-fill:before { content: "\eac1"; }
.ri-bill-line:before { content: "\eac2"; }
.ri-billiards-fill:before { content: "\eac3"; }
.ri-billiards-line:before { content: "\eac4"; }
.ri-bit-coin-fill:before { content: "\eac5"; }
.ri-bit-coin-line:before { content: "\eac6"; }
.ri-blaze-fill:before { content: "\eac7"; }
.ri-blaze-line:before { content: "\eac8"; }
.ri-bluetooth-connect-fill:before { content: "\eac9"; }
.ri-bluetooth-connect-line:before { content: "\eaca"; }
.ri-bluetooth-fill:before { content: "\eacb"; }
.ri-bluetooth-line:before { content: "\eacc"; }
.ri-blur-off-fill:before { content: "\eacd"; }
.ri-blur-off-line:before { content: "\eace"; }
.ri-body-scan-fill:before { content: "\eacf"; }
.ri-body-scan-line:before { content: "\ead0"; }
.ri-bold:before { content: "\ead1"; }
.ri-book-2-fill:before { content: "\ead2"; }
.ri-book-2-line:before { content: "\ead3"; }
.ri-book-3-fill:before { content: "\ead4"; }
.ri-book-3-line:before { content: "\ead5"; }
.ri-book-fill:before { content: "\ead6"; }
.ri-book-line:before { content: "\ead7"; }
.ri-book-mark-fill:before { content: "\ead8"; }
.ri-book-mark-line:before { content: "\ead9"; }
.ri-book-open-fill:before { content: "\eada"; }
.ri-book-open-line:before { content: "\eadb"; }
.ri-book-read-fill:before { content: "\eadc"; }
.ri-book-read-line:before { content: "\eadd"; }
.ri-booklet-fill:before { content: "\eade"; }
.ri-booklet-line:before { content: "\eadf"; }
.ri-bookmark-2-fill:before { content: "\eae0"; }
.ri-bookmark-2-line:before { content: "\eae1"; }
.ri-bookmark-3-fill:before { content: "\eae2"; }
.ri-bookmark-3-line:before { content: "\eae3"; }
.ri-bookmark-fill:before { content: "\eae4"; }
.ri-bookmark-line:before { content: "\eae5"; }
.ri-boxing-fill:before { content: "\eae6"; }
.ri-boxing-line:before { content: "\eae7"; }
.ri-braces-fill:before { content: "\eae8"; }
.ri-braces-line:before { content: "\eae9"; }
.ri-brackets-fill:before { content: "\eaea"; }
.ri-brackets-line:before { content: "\eaeb"; }
.ri-briefcase-2-fill:before { content: "\eaec"; }
.ri-briefcase-2-line:before { content: "\eaed"; }
.ri-briefcase-3-fill:before { content: "\eaee"; }
.ri-briefcase-3-line:before { content: "\eaef"; }
.ri-briefcase-4-fill:before { content: "\eaf0"; }
.ri-briefcase-4-line:before { content: "\eaf1"; }
.ri-briefcase-5-fill:before { content: "\eaf2"; }
.ri-briefcase-5-line:before { content: "\eaf3"; }
.ri-briefcase-fill:before { content: "\eaf4"; }
.ri-briefcase-line:before { content: "\eaf5"; }
.ri-bring-forward:before { content: "\eaf6"; }
.ri-bring-to-front:before { content: "\eaf7"; }
.ri-broadcast-fill:before { content: "\eaf8"; }
.ri-broadcast-line:before { content: "\eaf9"; }
.ri-brush-2-fill:before { content: "\eafa"; }
.ri-brush-2-line:before { content: "\eafb"; }
.ri-brush-3-fill:before { content: "\eafc"; }
.ri-brush-3-line:before { content: "\eafd"; }
.ri-brush-4-fill:before { content: "\eafe"; }
.ri-brush-4-line:before { content: "\eaff"; }
.ri-brush-fill:before { content: "\eb00"; }
.ri-brush-line:before { content: "\eb01"; }
.ri-bubble-chart-fill:before { content: "\eb02"; }
.ri-bubble-chart-line:before { content: "\eb03"; }
.ri-bug-2-fill:before { content: "\eb04"; }
.ri-bug-2-line:before { content: "\eb05"; }
.ri-bug-fill:before { content: "\eb06"; }
.ri-bug-line:before { content: "\eb07"; }
.ri-building-2-fill:before { content: "\eb08"; }
.ri-building-2-line:before { content: "\eb09"; }
.ri-building-3-fill:before { content: "\eb0a"; }
.ri-building-3-line:before { content: "\eb0b"; }
.ri-building-4-fill:before { content: "\eb0c"; }
.ri-building-4-line:before { content: "\eb0d"; }
.ri-building-fill:before { content: "\eb0e"; }
.ri-building-line:before { content: "\eb0f"; }
.ri-bus-2-fill:before { content: "\eb10"; }
.ri-bus-2-line:before { content: "\eb11"; }
.ri-bus-fill:before { content: "\eb12"; }
.ri-bus-line:before { content: "\eb13"; }
.ri-bus-wifi-fill:before { content: "\eb14"; }
.ri-bus-wifi-line:before { content: "\eb15"; }
.ri-cactus-fill:before { content: "\eb16"; }
.ri-cactus-line:before { content: "\eb17"; }
.ri-cake-2-fill:before { content: "\eb18"; }
.ri-cake-2-line:before { content: "\eb19"; }
.ri-cake-3-fill:before { content: "\eb1a"; }
.ri-cake-3-line:before { content: "\eb1b"; }
.ri-cake-fill:before { content: "\eb1c"; }
.ri-cake-line:before { content: "\eb1d"; }
.ri-calculator-fill:before { content: "\eb1e"; }
.ri-calculator-line:before { content: "\eb1f"; }
.ri-calendar-2-fill:before { content: "\eb20"; }
.ri-calendar-2-line:before { content: "\eb21"; }
.ri-calendar-check-fill:before { content: "\eb22"; }
.ri-calendar-check-line:before { content: "\eb23"; }
.ri-calendar-event-fill:before { content: "\eb24"; }
.ri-calendar-event-line:before { content: "\eb25"; }
.ri-calendar-fill:before { content: "\eb26"; }
.ri-calendar-line:before { content: "\eb27"; }
.ri-calendar-todo-fill:before { content: "\eb28"; }
.ri-calendar-todo-line:before { content: "\eb29"; }
.ri-camera-2-fill:before { content: "\eb2a"; }
.ri-camera-2-line:before { content: "\eb2b"; }
.ri-camera-3-fill:before { content: "\eb2c"; }
.ri-camera-3-line:before { content: "\eb2d"; }
.ri-camera-fill:before { content: "\eb2e"; }
.ri-camera-lens-fill:before { content: "\eb2f"; }
.ri-camera-lens-line:before { content: "\eb30"; }
.ri-camera-line:before { content: "\eb31"; }
.ri-camera-off-fill:before { content: "\eb32"; }
.ri-camera-off-line:before { content: "\eb33"; }
.ri-camera-switch-fill:before { content: "\eb34"; }
.ri-camera-switch-line:before { content: "\eb35"; }
.ri-capsule-fill:before { content: "\eb36"; }
.ri-capsule-line:before { content: "\eb37"; }
.ri-car-fill:before { content: "\eb38"; }
.ri-car-line:before { content: "\eb39"; }
.ri-car-washing-fill:before { content: "\eb3a"; }
.ri-car-washing-line:before { content: "\eb3b"; }
.ri-caravan-fill:before { content: "\eb3c"; }
.ri-caravan-line:before { content: "\eb3d"; }
.ri-cast-fill:before { content: "\eb3e"; }
.ri-cast-line:before { content: "\eb3f"; }
.ri-cellphone-fill:before { content: "\eb40"; }
.ri-cellphone-line:before { content: "\eb41"; }
.ri-celsius-fill:before { content: "\eb42"; }
.ri-celsius-line:before { content: "\eb43"; }
.ri-centos-fill:before { content: "\eb44"; }
.ri-centos-line:before { content: "\eb45"; }
.ri-character-recognition-fill:before { content: "\eb46"; }
.ri-character-recognition-line:before { content: "\eb47"; }
.ri-charging-pile-2-fill:before { content: "\eb48"; }
.ri-charging-pile-2-line:before { content: "\eb49"; }
.ri-charging-pile-fill:before { content: "\eb4a"; }
.ri-charging-pile-line:before { content: "\eb4b"; }
.ri-chat-1-fill:before { content: "\eb4c"; }
.ri-chat-1-line:before { content: "\eb4d"; }
.ri-chat-2-fill:before { content: "\eb4e"; }
.ri-chat-2-line:before { content: "\eb4f"; }
.ri-chat-3-fill:before { content: "\eb50"; }
.ri-chat-3-line:before { content: "\eb51"; }
.ri-chat-4-fill:before { content: "\eb52"; }
.ri-chat-4-line:before { content: "\eb53"; }
.ri-chat-check-fill:before { content: "\eb54"; }
.ri-chat-check-line:before { content: "\eb55"; }
.ri-chat-delete-fill:before { content: "\eb56"; }
.ri-chat-delete-line:before { content: "\eb57"; }
.ri-chat-download-fill:before { content: "\eb58"; }
.ri-chat-download-line:before { content: "\eb59"; }
.ri-chat-follow-up-fill:before { content: "\eb5a"; }
.ri-chat-follow-up-line:before { content: "\eb5b"; }
.ri-chat-forward-fill:before { content: "\eb5c"; }
.ri-chat-forward-line:before { content: "\eb5d"; }
.ri-chat-heart-fill:before { content: "\eb5e"; }
.ri-chat-heart-line:before { content: "\eb5f"; }
.ri-chat-history-fill:before { content: "\eb60"; }
.ri-chat-history-line:before { content: "\eb61"; }
.ri-chat-new-fill:before { content: "\eb62"; }
.ri-chat-new-line:before { content: "\eb63"; }
.ri-chat-off-fill:before { content: "\eb64"; }
.ri-chat-off-line:before { content: "\eb65"; }
.ri-chat-poll-fill:before { content: "\eb66"; }
.ri-chat-poll-line:before { content: "\eb67"; }
.ri-chat-private-fill:before { content: "\eb68"; }
.ri-chat-private-line:before { content: "\eb69"; }
.ri-chat-quote-fill:before { content: "\eb6a"; }
.ri-chat-quote-line:before { content: "\eb6b"; }
.ri-chat-settings-fill:before { content: "\eb6c"; }
.ri-chat-settings-line:before { content: "\eb6d"; }
.ri-chat-smile-2-fill:before { content: "\eb6e"; }
.ri-chat-smile-2-line:before { content: "\eb6f"; }
.ri-chat-smile-3-fill:before { content: "\eb70"; }
.ri-chat-smile-3-line:before { content: "\eb71"; }
.ri-chat-smile-fill:before { content: "\eb72"; }
.ri-chat-smile-line:before { content: "\eb73"; }
.ri-chat-upload-fill:before { content: "\eb74"; }
.ri-chat-upload-line:before { content: "\eb75"; }
.ri-chat-voice-fill:before { content: "\eb76"; }
.ri-chat-voice-line:before { content: "\eb77"; }
.ri-check-double-fill:before { content: "\eb78"; }
.ri-check-double-line:before { content: "\eb79"; }
.ri-check-fill:before { content: "\eb7a"; }
.ri-check-line:before { content: "\eb7b"; }
.ri-checkbox-blank-circle-fill:before { content: "\eb7c"; }
.ri-checkbox-blank-circle-line:before { content: "\eb7d"; }
.ri-checkbox-blank-fill:before { content: "\eb7e"; }
.ri-checkbox-blank-line:before { content: "\eb7f"; }
.ri-checkbox-circle-fill:before { content: "\eb80"; }
.ri-checkbox-circle-line:before { content: "\eb81"; }
.ri-checkbox-fill:before { content: "\eb82"; }
.ri-checkbox-indeterminate-fill:before { content: "\eb83"; }
.ri-checkbox-indeterminate-line:before { content: "\eb84"; }
.ri-checkbox-line:before { content: "\eb85"; }
.ri-checkbox-multiple-blank-fill:before { content: "\eb86"; }
.ri-checkbox-multiple-blank-line:before { content: "\eb87"; }
.ri-checkbox-multiple-fill:before { content: "\eb88"; }
.ri-checkbox-multiple-line:before { content: "\eb89"; }
.ri-china-railway-fill:before { content: "\eb8a"; }
.ri-china-railway-line:before { content: "\eb8b"; }
.ri-chrome-fill:before { content: "\eb8c"; }
.ri-chrome-line:before { content: "\eb8d"; }
.ri-clapperboard-fill:before { content: "\eb8e"; }
.ri-clapperboard-line:before { content: "\eb8f"; }
.ri-clipboard-fill:before { content: "\eb90"; }
.ri-clipboard-line:before { content: "\eb91"; }
.ri-clockwise-2-fill:before { content: "\eb92"; }
.ri-clockwise-2-line:before { content: "\eb93"; }
.ri-clockwise-fill:before { content: "\eb94"; }
.ri-clockwise-line:before { content: "\eb95"; }
.ri-close-circle-fill:before { content: "\eb96"; }
.ri-close-circle-line:before { content: "\eb97"; }
.ri-close-fill:before { content: "\eb98"; }
.ri-close-line:before { content: "\eb99"; }
.ri-closed-captioning-fill:before { content: "\eb9a"; }
.ri-closed-captioning-line:before { content: "\eb9b"; }
.ri-cloud-fill:before { content: "\eb9c"; }
.ri-cloud-line:before { content: "\eb9d"; }
.ri-cloud-off-fill:before { content: "\eb9e"; }
.ri-cloud-off-line:before { content: "\eb9f"; }
.ri-cloud-windy-fill:before { content: "\eba0"; }
.ri-cloud-windy-line:before { content: "\eba1"; }
.ri-cloudy-2-fill:before { content: "\eba2"; }
.ri-cloudy-2-line:before { content: "\eba3"; }
.ri-cloudy-fill:before { content: "\eba4"; }
.ri-cloudy-line:before { content: "\eba5"; }
.ri-code-box-fill:before { content: "\eba6"; }
.ri-code-box-line:before { content: "\eba7"; }
.ri-code-fill:before { content: "\eba8"; }
.ri-code-line:before { content: "\eba9"; }
.ri-code-s-fill:before { content: "\ebaa"; }
.ri-code-s-line:before { content: "\ebab"; }
.ri-code-s-slash-fill:before { content: "\ebac"; }
.ri-code-s-slash-line:before { content: "\ebad"; }
.ri-code-view:before { content: "\ebae"; }
.ri-codepen-fill:before { content: "\ebaf"; }
.ri-codepen-line:before { content: "\ebb0"; }
.ri-coin-fill:before { content: "\ebb1"; }
.ri-coin-line:before { content: "\ebb2"; }
.ri-coins-fill:before { content: "\ebb3"; }
.ri-coins-line:before { content: "\ebb4"; }
.ri-collage-fill:before { content: "\ebb5"; }
.ri-collage-line:before { content: "\ebb6"; }
.ri-command-fill:before { content: "\ebb7"; }
.ri-command-line:before { content: "\ebb8"; }
.ri-community-fill:before { content: "\ebb9"; }
.ri-community-line:before { content: "\ebba"; }
.ri-compass-2-fill:before { content: "\ebbb"; }
.ri-compass-2-line:before { content: "\ebbc"; }
.ri-compass-3-fill:before { content: "\ebbd"; }
.ri-compass-3-line:before { content: "\ebbe"; }
.ri-compass-4-fill:before { content: "\ebbf"; }
.ri-compass-4-line:before { content: "\ebc0"; }
.ri-compass-discover-fill:before { content: "\ebc1"; }
.ri-compass-discover-line:before { content: "\ebc2"; }
.ri-compass-fill:before { content: "\ebc3"; }
.ri-compass-line:before { content: "\ebc4"; }
.ri-compasses-2-fill:before { content: "\ebc5"; }
.ri-compasses-2-line:before { content: "\ebc6"; }
.ri-compasses-fill:before { content: "\ebc7"; }
.ri-compasses-line:before { content: "\ebc8"; }
.ri-computer-fill:before { content: "\ebc9"; }
.ri-computer-line:before { content: "\ebca"; }
.ri-contacts-book-2-fill:before { content: "\ebcb"; }
.ri-contacts-book-2-line:before { content: "\ebcc"; }
.ri-contacts-book-fill:before { content: "\ebcd"; }
.ri-contacts-book-line:before { content: "\ebce"; }
.ri-contacts-book-upload-fill:before { content: "\ebcf"; }
.ri-contacts-book-upload-line:before { content: "\ebd0"; }
.ri-contacts-fill:before { content: "\ebd1"; }
.ri-contacts-line:before { content: "\ebd2"; }
.ri-contrast-2-fill:before { content: "\ebd3"; }
.ri-contrast-2-line:before { content: "\ebd4"; }
.ri-contrast-drop-2-fill:before { content: "\ebd5"; }
.ri-contrast-drop-2-line:before { content: "\ebd6"; }
.ri-contrast-drop-fill:before { content: "\ebd7"; }
.ri-contrast-drop-line:before { content: "\ebd8"; }
.ri-contrast-fill:before { content: "\ebd9"; }
.ri-contrast-line:before { content: "\ebda"; }
.ri-copper-coin-fill:before { content: "\ebdb"; }
.ri-copper-coin-line:before { content: "\ebdc"; }
.ri-copper-diamond-fill:before { content: "\ebdd"; }
.ri-copper-diamond-line:before { content: "\ebde"; }
.ri-copyleft-fill:before { content: "\ebdf"; }
.ri-copyleft-line:before { content: "\ebe0"; }
.ri-copyright-fill:before { content: "\ebe1"; }
.ri-copyright-line:before { content: "\ebe2"; }
.ri-coreos-fill:before { content: "\ebe3"; }
.ri-coreos-line:before { content: "\ebe4"; }
.ri-coupon-2-fill:before { content: "\ebe5"; }
.ri-coupon-2-line:before { content: "\ebe6"; }
.ri-coupon-3-fill:before { content: "\ebe7"; }
.ri-coupon-3-line:before { content: "\ebe8"; }
.ri-coupon-4-fill:before { content: "\ebe9"; }
.ri-coupon-4-line:before { content: "\ebea"; }
.ri-coupon-5-fill:before { content: "\ebeb"; }
.ri-coupon-5-line:before { content: "\ebec"; }
.ri-coupon-fill:before { content: "\ebed"; }
.ri-coupon-line:before { content: "\ebee"; }
.ri-cpu-fill:before { content: "\ebef"; }
.ri-cpu-line:before { content: "\ebf0"; }
.ri-creative-commons-by-fill:before { content: "\ebf1"; }
.ri-creative-commons-by-line:before { content: "\ebf2"; }
.ri-creative-commons-fill:before { content: "\ebf3"; }
.ri-creative-commons-line:before { content: "\ebf4"; }
.ri-creative-commons-nc-fill:before { content: "\ebf5"; }
.ri-creative-commons-nc-line:before { content: "\ebf6"; }
.ri-creative-commons-nd-fill:before { content: "\ebf7"; }
.ri-creative-commons-nd-line:before { content: "\ebf8"; }
.ri-creative-commons-sa-fill:before { content: "\ebf9"; }
.ri-creative-commons-sa-line:before { content: "\ebfa"; }
.ri-creative-commons-zero-fill:before { content: "\ebfb"; }
.ri-creative-commons-zero-line:before { content: "\ebfc"; }
.ri-criminal-fill:before { content: "\ebfd"; }
.ri-criminal-line:before { content: "\ebfe"; }
.ri-crop-2-fill:before { content: "\ebff"; }
.ri-crop-2-line:before { content: "\ec00"; }
.ri-crop-fill:before { content: "\ec01"; }
.ri-crop-line:before { content: "\ec02"; }
.ri-css3-fill:before { content: "\ec03"; }
.ri-css3-line:before { content: "\ec04"; }
.ri-cup-fill:before { content: "\ec05"; }
.ri-cup-line:before { content: "\ec06"; }
.ri-currency-fill:before { content: "\ec07"; }
.ri-currency-line:before { content: "\ec08"; }
.ri-cursor-fill:before { content: "\ec09"; }
.ri-cursor-line:before { content: "\ec0a"; }
.ri-customer-service-2-fill:before { content: "\ec0b"; }
.ri-customer-service-2-line:before { content: "\ec0c"; }
.ri-customer-service-fill:before { content: "\ec0d"; }
.ri-customer-service-line:before { content: "\ec0e"; }
.ri-dashboard-2-fill:before { content: "\ec0f"; }
.ri-dashboard-2-line:before { content: "\ec10"; }
.ri-dashboard-3-fill:before { content: "\ec11"; }
.ri-dashboard-3-line:before { content: "\ec12"; }
.ri-dashboard-fill:before { content: "\ec13"; }
.ri-dashboard-line:before { content: "\ec14"; }
.ri-database-2-fill:before { content: "\ec15"; }
.ri-database-2-line:before { content: "\ec16"; }
.ri-database-fill:before { content: "\ec17"; }
.ri-database-line:before { content: "\ec18"; }
.ri-delete-back-2-fill:before { content: "\ec19"; }
.ri-delete-back-2-line:before { content: "\ec1a"; }
.ri-delete-back-fill:before { content: "\ec1b"; }
.ri-delete-back-line:before { content: "\ec1c"; }
.ri-delete-bin-2-fill:before { content: "\ec1d"; }
.ri-delete-bin-2-line:before { content: "\ec1e"; }
.ri-delete-bin-3-fill:before { content: "\ec1f"; }
.ri-delete-bin-3-line:before { content: "\ec20"; }
.ri-delete-bin-4-fill:before { content: "\ec21"; }
.ri-delete-bin-4-line:before { content: "\ec22"; }
.ri-delete-bin-5-fill:before { content: "\ec23"; }
.ri-delete-bin-5-line:before { content: "\ec24"; }
.ri-delete-bin-6-fill:before { content: "\ec25"; }
.ri-delete-bin-6-line:before { content: "\ec26"; }
.ri-delete-bin-7-fill:before { content: "\ec27"; }
.ri-delete-bin-7-line:before { content: "\ec28"; }
.ri-delete-bin-fill:before { content: "\ec29"; }
.ri-delete-bin-line:before { content: "\ec2a"; }
.ri-delete-column:before { content: "\ec2b"; }
.ri-delete-row:before { content: "\ec2c"; }
.ri-device-fill:before { content: "\ec2d"; }
.ri-device-line:before { content: "\ec2e"; }
.ri-device-recover-fill:before { content: "\ec2f"; }
.ri-device-recover-line:before { content: "\ec30"; }
.ri-dingding-fill:before { content: "\ec31"; }
.ri-dingding-line:before { content: "\ec32"; }
.ri-direction-fill:before { content: "\ec33"; }
.ri-direction-line:before { content: "\ec34"; }
.ri-disc-fill:before { content: "\ec35"; }
.ri-disc-line:before { content: "\ec36"; }
.ri-discord-fill:before { content: "\ec37"; }
.ri-discord-line:before { content: "\ec38"; }
.ri-discuss-fill:before { content: "\ec39"; }
.ri-discuss-line:before { content: "\ec3a"; }
.ri-dislike-fill:before { content: "\ec3b"; }
.ri-dislike-line:before { content: "\ec3c"; }
.ri-disqus-fill:before { content: "\ec3d"; }
.ri-disqus-line:before { content: "\ec3e"; }
.ri-divide-fill:before { content: "\ec3f"; }
.ri-divide-line:before { content: "\ec40"; }
.ri-donut-chart-fill:before { content: "\ec41"; }
.ri-donut-chart-line:before { content: "\ec42"; }
.ri-door-closed-fill:before { content: "\ec43"; }
.ri-door-closed-line:before { content: "\ec44"; }
.ri-door-fill:before { content: "\ec45"; }
.ri-door-line:before { content: "\ec46"; }
.ri-door-lock-box-fill:before { content: "\ec47"; }
.ri-door-lock-box-line:before { content: "\ec48"; }
.ri-door-lock-fill:before { content: "\ec49"; }
.ri-door-lock-line:before { content: "\ec4a"; }
.ri-door-open-fill:before { content: "\ec4b"; }
.ri-door-open-line:before { content: "\ec4c"; }
.ri-dossier-fill:before { content: "\ec4d"; }
.ri-dossier-line:before { content: "\ec4e"; }
.ri-douban-fill:before { content: "\ec4f"; }
.ri-douban-line:before { content: "\ec50"; }
.ri-double-quotes-l:before { content: "\ec51"; }
.ri-double-quotes-r:before { content: "\ec52"; }
.ri-download-2-fill:before { content: "\ec53"; }
.ri-download-2-line:before { content: "\ec54"; }
.ri-download-cloud-2-fill:before { content: "\ec55"; }
.ri-download-cloud-2-line:before { content: "\ec56"; }
.ri-download-cloud-fill:before { content: "\ec57"; }
.ri-download-cloud-line:before { content: "\ec58"; }
.ri-download-fill:before { content: "\ec59"; }
.ri-download-line:before { content: "\ec5a"; }
.ri-draft-fill:before { content: "\ec5b"; }
.ri-draft-line:before { content: "\ec5c"; }
.ri-drag-drop-fill:before { content: "\ec5d"; }
.ri-drag-drop-line:before { content: "\ec5e"; }
.ri-drag-move-2-fill:before { content: "\ec5f"; }
.ri-drag-move-2-line:before { content: "\ec60"; }
.ri-drag-move-fill:before { content: "\ec61"; }
.ri-drag-move-line:before { content: "\ec62"; }
.ri-dribbble-fill:before { content: "\ec63"; }
.ri-dribbble-line:before { content: "\ec64"; }
.ri-drive-fill:before { content: "\ec65"; }
.ri-drive-line:before { content: "\ec66"; }
.ri-drizzle-fill:before { content: "\ec67"; }
.ri-drizzle-line:before { content: "\ec68"; }
.ri-drop-fill:before { content: "\ec69"; }
.ri-drop-line:before { content: "\ec6a"; }
.ri-dropbox-fill:before { content: "\ec6b"; }
.ri-dropbox-line:before { content: "\ec6c"; }
.ri-dual-sim-1-fill:before { content: "\ec6d"; }
.ri-dual-sim-1-line:before { content: "\ec6e"; }
.ri-dual-sim-2-fill:before { content: "\ec6f"; }
.ri-dual-sim-2-line:before { content: "\ec70"; }
.ri-dv-fill:before { content: "\ec71"; }
.ri-dv-line:before { content: "\ec72"; }
.ri-dvd-fill:before { content: "\ec73"; }
.ri-dvd-line:before { content: "\ec74"; }
.ri-e-bike-2-fill:before { content: "\ec75"; }
.ri-e-bike-2-line:before { content: "\ec76"; }
.ri-e-bike-fill:before { content: "\ec77"; }
.ri-e-bike-line:before { content: "\ec78"; }
.ri-earth-fill:before { content: "\ec79"; }
.ri-earth-line:before { content: "\ec7a"; }
.ri-earthquake-fill:before { content: "\ec7b"; }
.ri-earthquake-line:before { content: "\ec7c"; }
.ri-edge-fill:before { content: "\ec7d"; }
.ri-edge-line:before { content: "\ec7e"; }
.ri-edit-2-fill:before { content: "\ec7f"; }
.ri-edit-2-line:before { content: "\ec80"; }
.ri-edit-box-fill:before { content: "\ec81"; }
.ri-edit-box-line:before { content: "\ec82"; }
.ri-edit-circle-fill:before { content: "\ec83"; }
.ri-edit-circle-line:before { content: "\ec84"; }
.ri-edit-fill:before { content: "\ec85"; }
.ri-edit-line:before { content: "\ec86"; }
.ri-eject-fill:before { content: "\ec87"; }
.ri-eject-line:before { content: "\ec88"; }
.ri-emotion-2-fill:before { content: "\ec89"; }
.ri-emotion-2-line:before { content: "\ec8a"; }
.ri-emotion-fill:before { content: "\ec8b"; }
.ri-emotion-happy-fill:before { content: "\ec8c"; }
.ri-emotion-happy-line:before { content: "\ec8d"; }
.ri-emotion-laugh-fill:before { content: "\ec8e"; }
.ri-emotion-laugh-line:before { content: "\ec8f"; }
.ri-emotion-line:before { content: "\ec90"; }
.ri-emotion-normal-fill:before { content: "\ec91"; }
.ri-emotion-normal-line:before { content: "\ec92"; }
.ri-emotion-sad-fill:before { content: "\ec93"; }
.ri-emotion-sad-line:before { content: "\ec94"; }
.ri-emotion-unhappy-fill:before { content: "\ec95"; }
.ri-emotion-unhappy-line:before { content: "\ec96"; }
.ri-empathize-fill:before { content: "\ec97"; }
.ri-empathize-line:before { content: "\ec98"; }
.ri-emphasis-cn:before { content: "\ec99"; }
.ri-emphasis:before { content: "\ec9a"; }
.ri-english-input:before { content: "\ec9b"; }
.ri-equalizer-fill:before { content: "\ec9c"; }
.ri-equalizer-line:before { content: "\ec9d"; }
.ri-eraser-fill:before { content: "\ec9e"; }
.ri-eraser-line:before { content: "\ec9f"; }
.ri-error-warning-fill:before { content: "\eca0"; }
.ri-error-warning-line:before { content: "\eca1"; }
.ri-evernote-fill:before { content: "\eca2"; }
.ri-evernote-line:before { content: "\eca3"; }
.ri-exchange-box-fill:before { content: "\eca4"; }
.ri-exchange-box-line:before { content: "\eca5"; }
.ri-exchange-cny-fill:before { content: "\eca6"; }
.ri-exchange-cny-line:before { content: "\eca7"; }
.ri-exchange-dollar-fill:before { content: "\eca8"; }
.ri-exchange-dollar-line:before { content: "\eca9"; }
.ri-exchange-fill:before { content: "\ecaa"; }
.ri-exchange-funds-fill:before { content: "\ecab"; }
.ri-exchange-funds-line:before { content: "\ecac"; }
.ri-exchange-line:before { content: "\ecad"; }
.ri-external-link-fill:before { content: "\ecae"; }
.ri-external-link-line:before { content: "\ecaf"; }
.ri-eye-2-fill:before { content: "\ecb0"; }
.ri-eye-2-line:before { content: "\ecb1"; }
.ri-eye-close-fill:before { content: "\ecb2"; }
.ri-eye-close-line:before { content: "\ecb3"; }
.ri-eye-fill:before { content: "\ecb4"; }
.ri-eye-line:before { content: "\ecb5"; }
.ri-eye-off-fill:before { content: "\ecb6"; }
.ri-eye-off-line:before { content: "\ecb7"; }
.ri-facebook-box-fill:before { content: "\ecb8"; }
.ri-facebook-box-line:before { content: "\ecb9"; }
.ri-facebook-circle-fill:before { content: "\ecba"; }
.ri-facebook-circle-line:before { content: "\ecbb"; }
.ri-facebook-fill:before { content: "\ecbc"; }
.ri-facebook-line:before { content: "\ecbd"; }
.ri-fahrenheit-fill:before { content: "\ecbe"; }
.ri-fahrenheit-line:before { content: "\ecbf"; }
.ri-feedback-fill:before { content: "\ecc0"; }
.ri-feedback-line:before { content: "\ecc1"; }
.ri-file-2-fill:before { content: "\ecc2"; }
.ri-file-2-line:before { content: "\ecc3"; }
.ri-file-3-fill:before { content: "\ecc4"; }
.ri-file-3-line:before { content: "\ecc5"; }
.ri-file-4-fill:before { content: "\ecc6"; }
.ri-file-4-line:before { content: "\ecc7"; }
.ri-file-add-fill:before { content: "\ecc8"; }
.ri-file-add-line:before { content: "\ecc9"; }
.ri-file-chart-2-fill:before { content: "\ecca"; }
.ri-file-chart-2-line:before { content: "\eccb"; }
.ri-file-chart-fill:before { content: "\eccc"; }
.ri-file-chart-line:before { content: "\eccd"; }
.ri-file-cloud-fill:before { content: "\ecce"; }
.ri-file-cloud-line:before { content: "\eccf"; }
.ri-file-code-fill:before { content: "\ecd0"; }
.ri-file-code-line:before { content: "\ecd1"; }
.ri-file-copy-2-fill:before { content: "\ecd2"; }
.ri-file-copy-2-line:before { content: "\ecd3"; }
.ri-file-copy-fill:before { content: "\ecd4"; }
.ri-file-copy-line:before { content: "\ecd5"; }
.ri-file-damage-fill:before { content: "\ecd6"; }
.ri-file-damage-line:before { content: "\ecd7"; }
.ri-file-download-fill:before { content: "\ecd8"; }
.ri-file-download-line:before { content: "\ecd9"; }
.ri-file-edit-fill:before { content: "\ecda"; }
.ri-file-edit-line:before { content: "\ecdb"; }
.ri-file-excel-2-fill:before { content: "\ecdc"; }
.ri-file-excel-2-line:before { content: "\ecdd"; }
.ri-file-excel-fill:before { content: "\ecde"; }
.ri-file-excel-line:before { content: "\ecdf"; }
.ri-file-fill:before { content: "\ece0"; }
.ri-file-forbid-fill:before { content: "\ece1"; }
.ri-file-forbid-line:before { content: "\ece2"; }
.ri-file-gif-fill:before { content: "\ece3"; }
.ri-file-gif-line:before { content: "\ece4"; }
.ri-file-history-fill:before { content: "\ece5"; }
.ri-file-history-line:before { content: "\ece6"; }
.ri-file-hwp-fill:before { content: "\ece7"; }
.ri-file-hwp-line:before { content: "\ece8"; }
.ri-file-info-fill:before { content: "\ece9"; }
.ri-file-info-line:before { content: "\ecea"; }
.ri-file-line:before { content: "\eceb"; }
.ri-file-list-2-fill:before { content: "\ecec"; }
.ri-file-list-2-line:before { content: "\eced"; }
.ri-file-list-3-fill:before { content: "\ecee"; }
.ri-file-list-3-line:before { content: "\ecef"; }
.ri-file-list-fill:before { content: "\ecf0"; }
.ri-file-list-line:before { content: "\ecf1"; }
.ri-file-lock-fill:before { content: "\ecf2"; }
.ri-file-lock-line:before { content: "\ecf3"; }
.ri-file-mark-fill:before { content: "\ecf4"; }
.ri-file-mark-line:before { content: "\ecf5"; }
.ri-file-music-fill:before { content: "\ecf6"; }
.ri-file-music-line:before { content: "\ecf7"; }
.ri-file-paper-2-fill:before { content: "\ecf8"; }
.ri-file-paper-2-line:before { content: "\ecf9"; }
.ri-file-paper-fill:before { content: "\ecfa"; }
.ri-file-paper-line:before { content: "\ecfb"; }
.ri-file-pdf-fill:before { content: "\ecfc"; }
.ri-file-pdf-line:before { content: "\ecfd"; }
.ri-file-ppt-2-fill:before { content: "\ecfe"; }
.ri-file-ppt-2-line:before { content: "\ecff"; }
.ri-file-ppt-fill:before { content: "\ed00"; }
.ri-file-ppt-line:before { content: "\ed01"; }
.ri-file-reduce-fill:before { content: "\ed02"; }
.ri-file-reduce-line:before { content: "\ed03"; }
.ri-file-search-fill:before { content: "\ed04"; }
.ri-file-search-line:before { content: "\ed05"; }
.ri-file-settings-fill:before { content: "\ed06"; }
.ri-file-settings-line:before { content: "\ed07"; }
.ri-file-shield-2-fill:before { content: "\ed08"; }
.ri-file-shield-2-line:before { content: "\ed09"; }
.ri-file-shield-fill:before { content: "\ed0a"; }
.ri-file-shield-line:before { content: "\ed0b"; }
.ri-file-shred-fill:before { content: "\ed0c"; }
.ri-file-shred-line:before { content: "\ed0d"; }
.ri-file-text-fill:before { content: "\ed0e"; }
.ri-file-text-line:before { content: "\ed0f"; }
.ri-file-transfer-fill:before { content: "\ed10"; }
.ri-file-transfer-line:before { content: "\ed11"; }
.ri-file-unknow-fill:before { content: "\ed12"; }
.ri-file-unknow-line:before { content: "\ed13"; }
.ri-file-upload-fill:before { content: "\ed14"; }
.ri-file-upload-line:before { content: "\ed15"; }
.ri-file-user-fill:before { content: "\ed16"; }
.ri-file-user-line:before { content: "\ed17"; }
.ri-file-warning-fill:before { content: "\ed18"; }
.ri-file-warning-line:before { content: "\ed19"; }
.ri-file-word-2-fill:before { content: "\ed1a"; }
.ri-file-word-2-line:before { content: "\ed1b"; }
.ri-file-word-fill:before { content: "\ed1c"; }
.ri-file-word-line:before { content: "\ed1d"; }
.ri-file-zip-fill:before { content: "\ed1e"; }
.ri-file-zip-line:before { content: "\ed1f"; }
.ri-film-fill:before { content: "\ed20"; }
.ri-film-line:before { content: "\ed21"; }
.ri-filter-2-fill:before { content: "\ed22"; }
.ri-filter-2-line:before { content: "\ed23"; }
.ri-filter-3-fill:before { content: "\ed24"; }
.ri-filter-3-line:before { content: "\ed25"; }
.ri-filter-fill:before { content: "\ed26"; }
.ri-filter-line:before { content: "\ed27"; }
.ri-filter-off-fill:before { content: "\ed28"; }
.ri-filter-off-line:before { content: "\ed29"; }
.ri-find-replace-fill:before { content: "\ed2a"; }
.ri-find-replace-line:before { content: "\ed2b"; }
.ri-finder-fill:before { content: "\ed2c"; }
.ri-finder-line:before { content: "\ed2d"; }
.ri-fingerprint-2-fill:before { content: "\ed2e"; }
.ri-fingerprint-2-line:before { content: "\ed2f"; }
.ri-fingerprint-fill:before { content: "\ed30"; }
.ri-fingerprint-line:before { content: "\ed31"; }
.ri-fire-fill:before { content: "\ed32"; }
.ri-fire-line:before { content: "\ed33"; }
.ri-firefox-fill:before { content: "\ed34"; }
.ri-firefox-line:before { content: "\ed35"; }
.ri-first-aid-kit-fill:before { content: "\ed36"; }
.ri-first-aid-kit-line:before { content: "\ed37"; }
.ri-flag-2-fill:before { content: "\ed38"; }
.ri-flag-2-line:before { content: "\ed39"; }
.ri-flag-fill:before { content: "\ed3a"; }
.ri-flag-line:before { content: "\ed3b"; }
.ri-flashlight-fill:before { content: "\ed3c"; }
.ri-flashlight-line:before { content: "\ed3d"; }
.ri-flask-fill:before { content: "\ed3e"; }
.ri-flask-line:before { content: "\ed3f"; }
.ri-flight-land-fill:before { content: "\ed40"; }
.ri-flight-land-line:before { content: "\ed41"; }
.ri-flight-takeoff-fill:before { content: "\ed42"; }
.ri-flight-takeoff-line:before { content: "\ed43"; }
.ri-flood-fill:before { content: "\ed44"; }
.ri-flood-line:before { content: "\ed45"; }
.ri-flow-chart:before { content: "\ed46"; }
.ri-flutter-fill:before { content: "\ed47"; }
.ri-flutter-line:before { content: "\ed48"; }
.ri-focus-2-fill:before { content: "\ed49"; }
.ri-focus-2-line:before { content: "\ed4a"; }
.ri-focus-3-fill:before { content: "\ed4b"; }
.ri-focus-3-line:before { content: "\ed4c"; }
.ri-focus-fill:before { content: "\ed4d"; }
.ri-focus-line:before { content: "\ed4e"; }
.ri-foggy-fill:before { content: "\ed4f"; }
.ri-foggy-line:before { content: "\ed50"; }
.ri-folder-2-fill:before { content: "\ed51"; }
.ri-folder-2-line:before { content: "\ed52"; }
.ri-folder-3-fill:before { content: "\ed53"; }
.ri-folder-3-line:before { content: "\ed54"; }
.ri-folder-4-fill:before { content: "\ed55"; }
.ri-folder-4-line:before { content: "\ed56"; }
.ri-folder-5-fill:before { content: "\ed57"; }
.ri-folder-5-line:before { content: "\ed58"; }
.ri-folder-add-fill:before { content: "\ed59"; }
.ri-folder-add-line:before { content: "\ed5a"; }
.ri-folder-chart-2-fill:before { content: "\ed5b"; }
.ri-folder-chart-2-line:before { content: "\ed5c"; }
.ri-folder-chart-fill:before { content: "\ed5d"; }
.ri-folder-chart-line:before { content: "\ed5e"; }
.ri-folder-download-fill:before { content: "\ed5f"; }
.ri-folder-download-line:before { content: "\ed60"; }
.ri-folder-fill:before { content: "\ed61"; }
.ri-folder-forbid-fill:before { content: "\ed62"; }
.ri-folder-forbid-line:before { content: "\ed63"; }
.ri-folder-history-fill:before { content: "\ed64"; }
.ri-folder-history-line:before { content: "\ed65"; }
.ri-folder-info-fill:before { content: "\ed66"; }
.ri-folder-info-line:before { content: "\ed67"; }
.ri-folder-keyhole-fill:before { content: "\ed68"; }
.ri-folder-keyhole-line:before { content: "\ed69"; }
.ri-folder-line:before { content: "\ed6a"; }
.ri-folder-lock-fill:before { content: "\ed6b"; }
.ri-folder-lock-line:before { content: "\ed6c"; }
.ri-folder-music-fill:before { content: "\ed6d"; }
.ri-folder-music-line:before { content: "\ed6e"; }
.ri-folder-open-fill:before { content: "\ed6f"; }
.ri-folder-open-line:before { content: "\ed70"; }
.ri-folder-received-fill:before { content: "\ed71"; }
.ri-folder-received-line:before { content: "\ed72"; }
.ri-folder-reduce-fill:before { content: "\ed73"; }
.ri-folder-reduce-line:before { content: "\ed74"; }
.ri-folder-settings-fill:before { content: "\ed75"; }
.ri-folder-settings-line:before { content: "\ed76"; }
.ri-folder-shared-fill:before { content: "\ed77"; }
.ri-folder-shared-line:before { content: "\ed78"; }
.ri-folder-shield-2-fill:before { content: "\ed79"; }
.ri-folder-shield-2-line:before { content: "\ed7a"; }
.ri-folder-shield-fill:before { content: "\ed7b"; }
.ri-folder-shield-line:before { content: "\ed7c"; }
.ri-folder-transfer-fill:before { content: "\ed7d"; }
.ri-folder-transfer-line:before { content: "\ed7e"; }
.ri-folder-unknow-fill:before { content: "\ed7f"; }
.ri-folder-unknow-line:before { content: "\ed80"; }
.ri-folder-upload-fill:before { content: "\ed81"; }
.ri-folder-upload-line:before { content: "\ed82"; }
.ri-folder-user-fill:before { content: "\ed83"; }
.ri-folder-user-line:before { content: "\ed84"; }
.ri-folder-warning-fill:before { content: "\ed85"; }
.ri-folder-warning-line:before { content: "\ed86"; }
.ri-folder-zip-fill:before { content: "\ed87"; }
.ri-folder-zip-line:before { content: "\ed88"; }
.ri-folders-fill:before { content: "\ed89"; }
.ri-folders-line:before { content: "\ed8a"; }
.ri-font-color:before { content: "\ed8b"; }
.ri-font-size-2:before { content: "\ed8c"; }
.ri-font-size:before { content: "\ed8d"; }
.ri-football-fill:before { content: "\ed8e"; }
.ri-football-line:before { content: "\ed8f"; }
.ri-footprint-fill:before { content: "\ed90"; }
.ri-footprint-line:before { content: "\ed91"; }
.ri-forbid-2-fill:before { content: "\ed92"; }
.ri-forbid-2-line:before { content: "\ed93"; }
.ri-forbid-fill:before { content: "\ed94"; }
.ri-forbid-line:before { content: "\ed95"; }
.ri-format-clear:before { content: "\ed96"; }
.ri-fridge-fill:before { content: "\ed97"; }
.ri-fridge-line:before { content: "\ed98"; }
.ri-fullscreen-exit-fill:before { content: "\ed99"; }
.ri-fullscreen-exit-line:before { content: "\ed9a"; }
.ri-fullscreen-fill:before { content: "\ed9b"; }
.ri-fullscreen-line:before { content: "\ed9c"; }
.ri-function-fill:before { content: "\ed9d"; }
.ri-function-line:before { content: "\ed9e"; }
.ri-functions:before { content: "\ed9f"; }
.ri-funds-box-fill:before { content: "\eda0"; }
.ri-funds-box-line:before { content: "\eda1"; }
.ri-funds-fill:before { content: "\eda2"; }
.ri-funds-line:before { content: "\eda3"; }
.ri-gallery-fill:before { content: "\eda4"; }
.ri-gallery-line:before { content: "\eda5"; }
.ri-gallery-upload-fill:before { content: "\eda6"; }
.ri-gallery-upload-line:before { content: "\eda7"; }
.ri-game-fill:before { content: "\eda8"; }
.ri-game-line:before { content: "\eda9"; }
.ri-gamepad-fill:before { content: "\edaa"; }
.ri-gamepad-line:before { content: "\edab"; }
.ri-gas-station-fill:before { content: "\edac"; }
.ri-gas-station-line:before { content: "\edad"; }
.ri-gatsby-fill:before { content: "\edae"; }
.ri-gatsby-line:before { content: "\edaf"; }
.ri-genderless-fill:before { content: "\edb0"; }
.ri-genderless-line:before { content: "\edb1"; }
.ri-ghost-2-fill:before { content: "\edb2"; }
.ri-ghost-2-line:before { content: "\edb3"; }
.ri-ghost-fill:before { content: "\edb4"; }
.ri-ghost-line:before { content: "\edb5"; }
.ri-ghost-smile-fill:before { content: "\edb6"; }
.ri-ghost-smile-line:before { content: "\edb7"; }
.ri-gift-2-fill:before { content: "\edb8"; }
.ri-gift-2-line:before { content: "\edb9"; }
.ri-gift-fill:before { content: "\edba"; }
.ri-gift-line:before { content: "\edbb"; }
.ri-git-branch-fill:before { content: "\edbc"; }
.ri-git-branch-line:before { content: "\edbd"; }
.ri-git-commit-fill:before { content: "\edbe"; }
.ri-git-commit-line:before { content: "\edbf"; }
.ri-git-merge-fill:before { content: "\edc0"; }
.ri-git-merge-line:before { content: "\edc1"; }
.ri-git-pull-request-fill:before { content: "\edc2"; }
.ri-git-pull-request-line:before { content: "\edc3"; }
.ri-git-repository-commits-fill:before { content: "\edc4"; }
.ri-git-repository-commits-line:before { content: "\edc5"; }
.ri-git-repository-fill:before { content: "\edc6"; }
.ri-git-repository-line:before { content: "\edc7"; }
.ri-git-repository-private-fill:before { content: "\edc8"; }
.ri-git-repository-private-line:before { content: "\edc9"; }
.ri-github-fill:before { content: "\edca"; }
.ri-github-line:before { content: "\edcb"; }
.ri-gitlab-fill:before { content: "\edcc"; }
.ri-gitlab-line:before { content: "\edcd"; }
.ri-global-fill:before { content: "\edce"; }
.ri-global-line:before { content: "\edcf"; }
.ri-globe-fill:before { content: "\edd0"; }
.ri-globe-line:before { content: "\edd1"; }
.ri-goblet-fill:before { content: "\edd2"; }
.ri-goblet-line:before { content: "\edd3"; }
.ri-google-fill:before { content: "\edd4"; }
.ri-google-line:before { content: "\edd5"; }
.ri-google-play-fill:before { content: "\edd6"; }
.ri-google-play-line:before { content: "\edd7"; }
.ri-government-fill:before { content: "\edd8"; }
.ri-government-line:before { content: "\edd9"; }
.ri-gps-fill:before { content: "\edda"; }
.ri-gps-line:before { content: "\eddb"; }
.ri-gradienter-fill:before { content: "\eddc"; }
.ri-gradienter-line:before { content: "\eddd"; }
.ri-grid-fill:before { content: "\edde"; }
.ri-grid-line:before { content: "\eddf"; }
.ri-group-2-fill:before { content: "\ede0"; }
.ri-group-2-line:before { content: "\ede1"; }
.ri-group-fill:before { content: "\ede2"; }
.ri-group-line:before { content: "\ede3"; }
.ri-guide-fill:before { content: "\ede4"; }
.ri-guide-line:before { content: "\ede5"; }
.ri-h-1:before { content: "\ede6"; }
.ri-h-2:before { content: "\ede7"; }
.ri-h-3:before { content: "\ede8"; }
.ri-h-4:before { content: "\ede9"; }
.ri-h-5:before { content: "\edea"; }
.ri-h-6:before { content: "\edeb"; }
.ri-hail-fill:before { content: "\edec"; }
.ri-hail-line:before { content: "\eded"; }
.ri-hammer-fill:before { content: "\edee"; }
.ri-hammer-line:before { content: "\edef"; }
.ri-hand-coin-fill:before { content: "\edf0"; }
.ri-hand-coin-line:before { content: "\edf1"; }
.ri-hand-heart-fill:before { content: "\edf2"; }
.ri-hand-heart-line:before { content: "\edf3"; }
.ri-hand-sanitizer-fill:before { content: "\edf4"; }
.ri-hand-sanitizer-line:before { content: "\edf5"; }
.ri-handbag-fill:before { content: "\edf6"; }
.ri-handbag-line:before { content: "\edf7"; }
.ri-hard-drive-2-fill:before { content: "\edf8"; }
.ri-hard-drive-2-line:before { content: "\edf9"; }
.ri-hard-drive-fill:before { content: "\edfa"; }
.ri-hard-drive-line:before { content: "\edfb"; }
.ri-hashtag:before { content: "\edfc"; }
.ri-haze-2-fill:before { content: "\edfd"; }
.ri-haze-2-line:before { content: "\edfe"; }
.ri-haze-fill:before { content: "\edff"; }
.ri-haze-line:before { content: "\ee00"; }
.ri-hd-fill:before { content: "\ee01"; }
.ri-hd-line:before { content: "\ee02"; }
.ri-heading:before { content: "\ee03"; }
.ri-headphone-fill:before { content: "\ee04"; }
.ri-headphone-line:before { content: "\ee05"; }
.ri-health-book-fill:before { content: "\ee06"; }
.ri-health-book-line:before { content: "\ee07"; }
.ri-heart-2-fill:before { content: "\ee08"; }
.ri-heart-2-line:before { content: "\ee09"; }
.ri-heart-3-fill:before { content: "\ee0a"; }
.ri-heart-3-line:before { content: "\ee0b"; }
.ri-heart-add-fill:before { content: "\ee0c"; }
.ri-heart-add-line:before { content: "\ee0d"; }
.ri-heart-fill:before { content: "\ee0e"; }
.ri-heart-line:before { content: "\ee0f"; }
.ri-heart-pulse-fill:before { content: "\ee10"; }
.ri-heart-pulse-line:before { content: "\ee11"; }
.ri-hearts-fill:before { content: "\ee12"; }
.ri-hearts-line:before { content: "\ee13"; }
.ri-heavy-showers-fill:before { content: "\ee14"; }
.ri-heavy-showers-line:before { content: "\ee15"; }
.ri-history-fill:before { content: "\ee16"; }
.ri-history-line:before { content: "\ee17"; }
.ri-home-2-fill:before { content: "\ee18"; }
.ri-home-2-line:before { content: "\ee19"; }
.ri-home-3-fill:before { content: "\ee1a"; }
.ri-home-3-line:before { content: "\ee1b"; }
.ri-home-4-fill:before { content: "\ee1c"; }
.ri-home-4-line:before { content: "\ee1d"; }
.ri-home-5-fill:before { content: "\ee1e"; }
.ri-home-5-line:before { content: "\ee1f"; }
.ri-home-6-fill:before { content: "\ee20"; }
.ri-home-6-line:before { content: "\ee21"; }
.ri-home-7-fill:before { content: "\ee22"; }
.ri-home-7-line:before { content: "\ee23"; }
.ri-home-8-fill:before { content: "\ee24"; }
.ri-home-8-line:before { content: "\ee25"; }
.ri-home-fill:before { content: "\ee26"; }
.ri-home-gear-fill:before { content: "\ee27"; }
.ri-home-gear-line:before { content: "\ee28"; }
.ri-home-heart-fill:before { content: "\ee29"; }
.ri-home-heart-line:before { content: "\ee2a"; }
.ri-home-line:before { content: "\ee2b"; }
.ri-home-smile-2-fill:before { content: "\ee2c"; }
.ri-home-smile-2-line:before { content: "\ee2d"; }
.ri-home-smile-fill:before { content: "\ee2e"; }
.ri-home-smile-line:before { content: "\ee2f"; }
.ri-home-wifi-fill:before { content: "\ee30"; }
.ri-home-wifi-line:before { content: "\ee31"; }
.ri-honor-of-kings-fill:before { content: "\ee32"; }
.ri-honor-of-kings-line:before { content: "\ee33"; }
.ri-honour-fill:before { content: "\ee34"; }
.ri-honour-line:before { content: "\ee35"; }
.ri-hospital-fill:before { content: "\ee36"; }
.ri-hospital-line:before { content: "\ee37"; }
.ri-hotel-bed-fill:before { content: "\ee38"; }
.ri-hotel-bed-line:before { content: "\ee39"; }
.ri-hotel-fill:before { content: "\ee3a"; }
.ri-hotel-line:before { content: "\ee3b"; }
.ri-hotspot-fill:before { content: "\ee3c"; }
.ri-hotspot-line:before { content: "\ee3d"; }
.ri-hq-fill:before { content: "\ee3e"; }
.ri-hq-line:before { content: "\ee3f"; }
.ri-html5-fill:before { content: "\ee40"; }
.ri-html5-line:before { content: "\ee41"; }
.ri-ie-fill:before { content: "\ee42"; }
.ri-ie-line:before { content: "\ee43"; }
.ri-image-2-fill:before { content: "\ee44"; }
.ri-image-2-line:before { content: "\ee45"; }
.ri-image-add-fill:before { content: "\ee46"; }
.ri-image-add-line:before { content: "\ee47"; }
.ri-image-edit-fill:before { content: "\ee48"; }
.ri-image-edit-line:before { content: "\ee49"; }
.ri-image-fill:before { content: "\ee4a"; }
.ri-image-line:before { content: "\ee4b"; }
.ri-inbox-archive-fill:before { content: "\ee4c"; }
.ri-inbox-archive-line:before { content: "\ee4d"; }
.ri-inbox-fill:before { content: "\ee4e"; }
.ri-inbox-line:before { content: "\ee4f"; }
.ri-inbox-unarchive-fill:before { content: "\ee50"; }
.ri-inbox-unarchive-line:before { content: "\ee51"; }
.ri-increase-decrease-fill:before { content: "\ee52"; }
.ri-increase-decrease-line:before { content: "\ee53"; }
.ri-indent-decrease:before { content: "\ee54"; }
.ri-indent-increase:before { content: "\ee55"; }
.ri-indeterminate-circle-fill:before { content: "\ee56"; }
.ri-indeterminate-circle-line:before { content: "\ee57"; }
.ri-information-fill:before { content: "\ee58"; }
.ri-information-line:before { content: "\ee59"; }
.ri-infrared-thermometer-fill:before { content: "\ee5a"; }
.ri-infrared-thermometer-line:before { content: "\ee5b"; }
.ri-ink-bottle-fill:before { content: "\ee5c"; }
.ri-ink-bottle-line:before { content: "\ee5d"; }
.ri-input-cursor-move:before { content: "\ee5e"; }
.ri-input-method-fill:before { content: "\ee5f"; }
.ri-input-method-line:before { content: "\ee60"; }
.ri-insert-column-left:before { content: "\ee61"; }
.ri-insert-column-right:before { content: "\ee62"; }
.ri-insert-row-bottom:before { content: "\ee63"; }
.ri-insert-row-top:before { content: "\ee64"; }
.ri-instagram-fill:before { content: "\ee65"; }
.ri-instagram-line:before { content: "\ee66"; }
.ri-install-fill:before { content: "\ee67"; }
.ri-install-line:before { content: "\ee68"; }
.ri-invision-fill:before { content: "\ee69"; }
.ri-invision-line:before { content: "\ee6a"; }
.ri-italic:before { content: "\ee6b"; }
.ri-kakao-talk-fill:before { content: "\ee6c"; }
.ri-kakao-talk-line:before { content: "\ee6d"; }
.ri-key-2-fill:before { content: "\ee6e"; }
.ri-key-2-line:before { content: "\ee6f"; }
.ri-key-fill:before { content: "\ee70"; }
.ri-key-line:before { content: "\ee71"; }
.ri-keyboard-box-fill:before { content: "\ee72"; }
.ri-keyboard-box-line:before { content: "\ee73"; }
.ri-keyboard-fill:before { content: "\ee74"; }
.ri-keyboard-line:before { content: "\ee75"; }
.ri-keynote-fill:before { content: "\ee76"; }
.ri-keynote-line:before { content: "\ee77"; }
.ri-knife-blood-fill:before { content: "\ee78"; }
.ri-knife-blood-line:before { content: "\ee79"; }
.ri-knife-fill:before { content: "\ee7a"; }
.ri-knife-line:before { content: "\ee7b"; }
.ri-landscape-fill:before { content: "\ee7c"; }
.ri-landscape-line:before { content: "\ee7d"; }
.ri-layout-2-fill:before { content: "\ee7e"; }
.ri-layout-2-line:before { content: "\ee7f"; }
.ri-layout-3-fill:before { content: "\ee80"; }
.ri-layout-3-line:before { content: "\ee81"; }
.ri-layout-4-fill:before { content: "\ee82"; }
.ri-layout-4-line:before { content: "\ee83"; }
.ri-layout-5-fill:before { content: "\ee84"; }
.ri-layout-5-line:before { content: "\ee85"; }
.ri-layout-6-fill:before { content: "\ee86"; }
.ri-layout-6-line:before { content: "\ee87"; }
.ri-layout-bottom-2-fill:before { content: "\ee88"; }
.ri-layout-bottom-2-line:before { content: "\ee89"; }
.ri-layout-bottom-fill:before { content: "\ee8a"; }
.ri-layout-bottom-line:before { content: "\ee8b"; }
.ri-layout-column-fill:before { content: "\ee8c"; }
.ri-layout-column-line:before { content: "\ee8d"; }
.ri-layout-fill:before { content: "\ee8e"; }
.ri-layout-grid-fill:before { content: "\ee8f"; }
.ri-layout-grid-line:before { content: "\ee90"; }
.ri-layout-left-2-fill:before { content: "\ee91"; }
.ri-layout-left-2-line:before { content: "\ee92"; }
.ri-layout-left-fill:before { content: "\ee93"; }
.ri-layout-left-line:before { content: "\ee94"; }
.ri-layout-line:before { content: "\ee95"; }
.ri-layout-masonry-fill:before { content: "\ee96"; }
.ri-layout-masonry-line:before { content: "\ee97"; }
.ri-layout-right-2-fill:before { content: "\ee98"; }
.ri-layout-right-2-line:before { content: "\ee99"; }
.ri-layout-right-fill:before { content: "\ee9a"; }
.ri-layout-right-line:before { content: "\ee9b"; }
.ri-layout-row-fill:before { content: "\ee9c"; }
.ri-layout-row-line:before { content: "\ee9d"; }
.ri-layout-top-2-fill:before { content: "\ee9e"; }
.ri-layout-top-2-line:before { content: "\ee9f"; }
.ri-layout-top-fill:before { content: "\eea0"; }
.ri-layout-top-line:before { content: "\eea1"; }
.ri-leaf-fill:before { content: "\eea2"; }
.ri-leaf-line:before { content: "\eea3"; }
.ri-lifebuoy-fill:before { content: "\eea4"; }
.ri-lifebuoy-line:before { content: "\eea5"; }
.ri-lightbulb-fill:before { content: "\eea6"; }
.ri-lightbulb-flash-fill:before { content: "\eea7"; }
.ri-lightbulb-flash-line:before { content: "\eea8"; }
.ri-lightbulb-line:before { content: "\eea9"; }
.ri-line-chart-fill:before { content: "\eeaa"; }
.ri-line-chart-line:before { content: "\eeab"; }
.ri-line-fill:before { content: "\eeac"; }
.ri-line-height:before { content: "\eead"; }
.ri-line-line:before { content: "\eeae"; }
.ri-link-m:before { content: "\eeaf"; }
.ri-link-unlink-m:before { content: "\eeb0"; }
.ri-link-unlink:before { content: "\eeb1"; }
.ri-link:before { content: "\eeb2"; }
.ri-linkedin-box-fill:before { content: "\eeb3"; }
.ri-linkedin-box-line:before { content: "\eeb4"; }
.ri-linkedin-fill:before { content: "\eeb5"; }
.ri-linkedin-line:before { content: "\eeb6"; }
.ri-links-fill:before { content: "\eeb7"; }
.ri-links-line:before { content: "\eeb8"; }
.ri-list-check-2:before { content: "\eeb9"; }
.ri-list-check:before { content: "\eeba"; }
.ri-list-ordered:before { content: "\eebb"; }
.ri-list-settings-fill:before { content: "\eebc"; }
.ri-list-settings-line:before { content: "\eebd"; }
.ri-list-unordered:before { content: "\eebe"; }
.ri-live-fill:before { content: "\eebf"; }
.ri-live-line:before { content: "\eec0"; }
.ri-loader-2-fill:before { content: "\eec1"; }
.ri-loader-2-line:before { content: "\eec2"; }
.ri-loader-3-fill:before { content: "\eec3"; }
.ri-loader-3-line:before { content: "\eec4"; }
.ri-loader-4-fill:before { content: "\eec5"; }
.ri-loader-4-line:before { content: "\eec6"; }
.ri-loader-5-fill:before { content: "\eec7"; }
.ri-loader-5-line:before { content: "\eec8"; }
.ri-loader-fill:before { content: "\eec9"; }
.ri-loader-line:before { content: "\eeca"; }
.ri-lock-2-fill:before { content: "\eecb"; }
.ri-lock-2-line:before { content: "\eecc"; }
.ri-lock-fill:before { content: "\eecd"; }
.ri-lock-line:before { content: "\eece"; }
.ri-lock-password-fill:before { content: "\eecf"; }
.ri-lock-password-line:before { content: "\eed0"; }
.ri-lock-unlock-fill:before { content: "\eed1"; }
.ri-lock-unlock-line:before { content: "\eed2"; }
.ri-login-box-fill:before { content: "\eed3"; }
.ri-login-box-line:before { content: "\eed4"; }
.ri-login-circle-fill:before { content: "\eed5"; }
.ri-login-circle-line:before { content: "\eed6"; }
.ri-logout-box-fill:before { content: "\eed7"; }
.ri-logout-box-line:before { content: "\eed8"; }
.ri-logout-box-r-fill:before { content: "\eed9"; }
.ri-logout-box-r-line:before { content: "\eeda"; }
.ri-logout-circle-fill:before { content: "\eedb"; }
.ri-logout-circle-line:before { content: "\eedc"; }
.ri-logout-circle-r-fill:before { content: "\eedd"; }
.ri-logout-circle-r-line:before { content: "\eede"; }
.ri-luggage-cart-fill:before { content: "\eedf"; }
.ri-luggage-cart-line:before { content: "\eee0"; }
.ri-luggage-deposit-fill:before { content: "\eee1"; }
.ri-luggage-deposit-line:before { content: "\eee2"; }
.ri-lungs-fill:before { content: "\eee3"; }
.ri-lungs-line:before { content: "\eee4"; }
.ri-mac-fill:before { content: "\eee5"; }
.ri-mac-line:before { content: "\eee6"; }
.ri-macbook-fill:before { content: "\eee7"; }
.ri-macbook-line:before { content: "\eee8"; }
.ri-magic-fill:before { content: "\eee9"; }
.ri-magic-line:before { content: "\eeea"; }
.ri-mail-add-fill:before { content: "\eeeb"; }
.ri-mail-add-line:before { content: "\eeec"; }
.ri-mail-check-fill:before { content: "\eeed"; }
.ri-mail-check-line:before { content: "\eeee"; }
.ri-mail-close-fill:before { content: "\eeef"; }
.ri-mail-close-line:before { content: "\eef0"; }
.ri-mail-download-fill:before { content: "\eef1"; }
.ri-mail-download-line:before { content: "\eef2"; }
.ri-mail-fill:before { content: "\eef3"; }
.ri-mail-forbid-fill:before { content: "\eef4"; }
.ri-mail-forbid-line:before { content: "\eef5"; }
.ri-mail-line:before { content: "\eef6"; }
.ri-mail-lock-fill:before { content: "\eef7"; }
.ri-mail-lock-line:before { content: "\eef8"; }
.ri-mail-open-fill:before { content: "\eef9"; }
.ri-mail-open-line:before { content: "\eefa"; }
.ri-mail-send-fill:before { content: "\eefb"; }
.ri-mail-send-line:before { content: "\eefc"; }
.ri-mail-settings-fill:before { content: "\eefd"; }
.ri-mail-settings-line:before { content: "\eefe"; }
.ri-mail-star-fill:before { content: "\eeff"; }
.ri-mail-star-line:before { content: "\ef00"; }
.ri-mail-unread-fill:before { content: "\ef01"; }
.ri-mail-unread-line:before { content: "\ef02"; }
.ri-mail-volume-fill:before { content: "\ef03"; }
.ri-mail-volume-line:before { content: "\ef04"; }
.ri-map-2-fill:before { content: "\ef05"; }
.ri-map-2-line:before { content: "\ef06"; }
.ri-map-fill:before { content: "\ef07"; }
.ri-map-line:before { content: "\ef08"; }
.ri-map-pin-2-fill:before { content: "\ef09"; }
.ri-map-pin-2-line:before { content: "\ef0a"; }
.ri-map-pin-3-fill:before { content: "\ef0b"; }
.ri-map-pin-3-line:before { content: "\ef0c"; }
.ri-map-pin-4-fill:before { content: "\ef0d"; }
.ri-map-pin-4-line:before { content: "\ef0e"; }
.ri-map-pin-5-fill:before { content: "\ef0f"; }
.ri-map-pin-5-line:before { content: "\ef10"; }
.ri-map-pin-add-fill:before { content: "\ef11"; }
.ri-map-pin-add-line:before { content: "\ef12"; }
.ri-map-pin-fill:before { content: "\ef13"; }
.ri-map-pin-line:before { content: "\ef14"; }
.ri-map-pin-range-fill:before { content: "\ef15"; }
.ri-map-pin-range-line:before { content: "\ef16"; }
.ri-map-pin-time-fill:before { content: "\ef17"; }
.ri-map-pin-time-line:before { content: "\ef18"; }
.ri-map-pin-user-fill:before { content: "\ef19"; }
.ri-map-pin-user-line:before { content: "\ef1a"; }
.ri-mark-pen-fill:before { content: "\ef1b"; }
.ri-mark-pen-line:before { content: "\ef1c"; }
.ri-markdown-fill:before { content: "\ef1d"; }
.ri-markdown-line:before { content: "\ef1e"; }
.ri-markup-fill:before { content: "\ef1f"; }
.ri-markup-line:before { content: "\ef20"; }
.ri-mastercard-fill:before { content: "\ef21"; }
.ri-mastercard-line:before { content: "\ef22"; }
.ri-mastodon-fill:before { content: "\ef23"; }
.ri-mastodon-line:before { content: "\ef24"; }
.ri-medal-2-fill:before { content: "\ef25"; }
.ri-medal-2-line:before { content: "\ef26"; }
.ri-medal-fill:before { content: "\ef27"; }
.ri-medal-line:before { content: "\ef28"; }
.ri-medicine-bottle-fill:before { content: "\ef29"; }
.ri-medicine-bottle-line:before { content: "\ef2a"; }
.ri-medium-fill:before { content: "\ef2b"; }
.ri-medium-line:before { content: "\ef2c"; }
.ri-men-fill:before { content: "\ef2d"; }
.ri-men-line:before { content: "\ef2e"; }
.ri-mental-health-fill:before { content: "\ef2f"; }
.ri-mental-health-line:before { content: "\ef30"; }
.ri-menu-2-fill:before { content: "\ef31"; }
.ri-menu-2-line:before { content: "\ef32"; }
.ri-menu-3-fill:before { content: "\ef33"; }
.ri-menu-3-line:before { content: "\ef34"; }
.ri-menu-4-fill:before { content: "\ef35"; }
.ri-menu-4-line:before { content: "\ef36"; }
.ri-menu-5-fill:before { content: "\ef37"; }
.ri-menu-5-line:before { content: "\ef38"; }
.ri-menu-add-fill:before { content: "\ef39"; }
.ri-menu-add-line:before { content: "\ef3a"; }
.ri-menu-fill:before { content: "\ef3b"; }
.ri-menu-fold-fill:before { content: "\ef3c"; }
.ri-menu-fold-line:before { content: "\ef3d"; }
.ri-menu-line:before { content: "\ef3e"; }
.ri-menu-unfold-fill:before { content: "\ef3f"; }
.ri-menu-unfold-line:before { content: "\ef40"; }
.ri-merge-cells-horizontal:before { content: "\ef41"; }
.ri-merge-cells-vertical:before { content: "\ef42"; }
.ri-message-2-fill:before { content: "\ef43"; }
.ri-message-2-line:before { content: "\ef44"; }
.ri-message-3-fill:before { content: "\ef45"; }
.ri-message-3-line:before { content: "\ef46"; }
.ri-message-fill:before { content: "\ef47"; }
.ri-message-line:before { content: "\ef48"; }
.ri-messenger-fill:before { content: "\ef49"; }
.ri-messenger-line:before { content: "\ef4a"; }
.ri-meteor-fill:before { content: "\ef4b"; }
.ri-meteor-line:before { content: "\ef4c"; }
.ri-mic-2-fill:before { content: "\ef4d"; }
.ri-mic-2-line:before { content: "\ef4e"; }
.ri-mic-fill:before { content: "\ef4f"; }
.ri-mic-line:before { content: "\ef50"; }
.ri-mic-off-fill:before { content: "\ef51"; }
.ri-mic-off-line:before { content: "\ef52"; }
.ri-mickey-fill:before { content: "\ef53"; }
.ri-mickey-line:before { content: "\ef54"; }
.ri-microscope-fill:before { content: "\ef55"; }
.ri-microscope-line:before { content: "\ef56"; }
.ri-microsoft-fill:before { content: "\ef57"; }
.ri-microsoft-line:before { content: "\ef58"; }
.ri-mind-map:before { content: "\ef59"; }
.ri-mini-program-fill:before { content: "\ef5a"; }
.ri-mini-program-line:before { content: "\ef5b"; }
.ri-mist-fill:before { content: "\ef5c"; }
.ri-mist-line:before { content: "\ef5d"; }
.ri-money-cny-box-fill:before { content: "\ef5e"; }
.ri-money-cny-box-line:before { content: "\ef5f"; }
.ri-money-cny-circle-fill:before { content: "\ef60"; }
.ri-money-cny-circle-line:before { content: "\ef61"; }
.ri-money-dollar-box-fill:before { content: "\ef62"; }
.ri-money-dollar-box-line:before { content: "\ef63"; }
.ri-money-dollar-circle-fill:before { content: "\ef64"; }
.ri-money-dollar-circle-line:before { content: "\ef65"; }
.ri-money-euro-box-fill:before { content: "\ef66"; }
.ri-money-euro-box-line:before { content: "\ef67"; }
.ri-money-euro-circle-fill:before { content: "\ef68"; }
.ri-money-euro-circle-line:before { content: "\ef69"; }
.ri-money-pound-box-fill:before { content: "\ef6a"; }
.ri-money-pound-box-line:before { content: "\ef6b"; }
.ri-money-pound-circle-fill:before { content: "\ef6c"; }
.ri-money-pound-circle-line:before { content: "\ef6d"; }
.ri-moon-clear-fill:before { content: "\ef6e"; }
.ri-moon-clear-line:before { content: "\ef6f"; }
.ri-moon-cloudy-fill:before { content: "\ef70"; }
.ri-moon-cloudy-line:before { content: "\ef71"; }
.ri-moon-fill:before { content: "\ef72"; }
.ri-moon-foggy-fill:before { content: "\ef73"; }
.ri-moon-foggy-line:before { content: "\ef74"; }
.ri-moon-line:before { content: "\ef75"; }
.ri-more-2-fill:before { content: "\ef76"; }
.ri-more-2-line:before { content: "\ef77"; }
.ri-more-fill:before { content: "\ef78"; }
.ri-more-line:before { content: "\ef79"; }
.ri-motorbike-fill:before { content: "\ef7a"; }
.ri-motorbike-line:before { content: "\ef7b"; }
.ri-mouse-fill:before { content: "\ef7c"; }
.ri-mouse-line:before { content: "\ef7d"; }
.ri-movie-2-fill:before { content: "\ef7e"; }
.ri-movie-2-line:before { content: "\ef7f"; }
.ri-movie-fill:before { content: "\ef80"; }
.ri-movie-line:before { content: "\ef81"; }
.ri-music-2-fill:before { content: "\ef82"; }
.ri-music-2-line:before { content: "\ef83"; }
.ri-music-fill:before { content: "\ef84"; }
.ri-music-line:before { content: "\ef85"; }
.ri-mv-fill:before { content: "\ef86"; }
.ri-mv-line:before { content: "\ef87"; }
.ri-navigation-fill:before { content: "\ef88"; }
.ri-navigation-line:before { content: "\ef89"; }
.ri-netease-cloud-music-fill:before { content: "\ef8a"; }
.ri-netease-cloud-music-line:before { content: "\ef8b"; }
.ri-netflix-fill:before { content: "\ef8c"; }
.ri-netflix-line:before { content: "\ef8d"; }
.ri-newspaper-fill:before { content: "\ef8e"; }
.ri-newspaper-line:before { content: "\ef8f"; }
.ri-node-tree:before { content: "\ef90"; }
.ri-notification-2-fill:before { content: "\ef91"; }
.ri-notification-2-line:before { content: "\ef92"; }
.ri-notification-3-fill:before { content: "\ef93"; }
.ri-notification-3-line:before { content: "\ef94"; }
.ri-notification-4-fill:before { content: "\ef95"; }
.ri-notification-4-line:before { content: "\ef96"; }
.ri-notification-badge-fill:before { content: "\ef97"; }
.ri-notification-badge-line:before { content: "\ef98"; }
.ri-notification-fill:before { content: "\ef99"; }
.ri-notification-line:before { content: "\ef9a"; }
.ri-notification-off-fill:before { content: "\ef9b"; }
.ri-notification-off-line:before { content: "\ef9c"; }
.ri-npmjs-fill:before { content: "\ef9d"; }
.ri-npmjs-line:before { content: "\ef9e"; }
.ri-number-0:before { content: "\ef9f"; }
.ri-number-1:before { content: "\efa0"; }
.ri-number-2:before { content: "\efa1"; }
.ri-number-3:before { content: "\efa2"; }
.ri-number-4:before { content: "\efa3"; }
.ri-number-5:before { content: "\efa4"; }
.ri-number-6:before { content: "\efa5"; }
.ri-number-7:before { content: "\efa6"; }
.ri-number-8:before { content: "\efa7"; }
.ri-number-9:before { content: "\efa8"; }
.ri-numbers-fill:before { content: "\efa9"; }
.ri-numbers-line:before { content: "\efaa"; }
.ri-nurse-fill:before { content: "\efab"; }
.ri-nurse-line:before { content: "\efac"; }
.ri-oil-fill:before { content: "\efad"; }
.ri-oil-line:before { content: "\efae"; }
.ri-omega:before { content: "\efaf"; }
.ri-open-arm-fill:before { content: "\efb0"; }
.ri-open-arm-line:before { content: "\efb1"; }
.ri-open-source-fill:before { content: "\efb2"; }
.ri-open-source-line:before { content: "\efb3"; }
.ri-opera-fill:before { content: "\efb4"; }
.ri-opera-line:before { content: "\efb5"; }
.ri-order-play-fill:before { content: "\efb6"; }
.ri-order-play-line:before { content: "\efb7"; }
.ri-organization-chart:before { content: "\efb8"; }
.ri-outlet-2-fill:before { content: "\efb9"; }
.ri-outlet-2-line:before { content: "\efba"; }
.ri-outlet-fill:before { content: "\efbb"; }
.ri-outlet-line:before { content: "\efbc"; }
.ri-page-separator:before { content: "\efbd"; }
.ri-pages-fill:before { content: "\efbe"; }
.ri-pages-line:before { content: "\efbf"; }
.ri-paint-brush-fill:before { content: "\efc0"; }
.ri-paint-brush-line:before { content: "\efc1"; }
.ri-paint-fill:before { content: "\efc2"; }
.ri-paint-line:before { content: "\efc3"; }
.ri-palette-fill:before { content: "\efc4"; }
.ri-palette-line:before { content: "\efc5"; }
.ri-pantone-fill:before { content: "\efc6"; }
.ri-pantone-line:before { content: "\efc7"; }
.ri-paragraph:before { content: "\efc8"; }
.ri-parent-fill:before { content: "\efc9"; }
.ri-parent-line:before { content: "\efca"; }
.ri-parentheses-fill:before { content: "\efcb"; }
.ri-parentheses-line:before { content: "\efcc"; }
.ri-parking-box-fill:before { content: "\efcd"; }
.ri-parking-box-line:before { content: "\efce"; }
.ri-parking-fill:before { content: "\efcf"; }
.ri-parking-line:before { content: "\efd0"; }
.ri-passport-fill:before { content: "\efd1"; }
.ri-passport-line:before { content: "\efd2"; }
.ri-patreon-fill:before { content: "\efd3"; }
.ri-patreon-line:before { content: "\efd4"; }
.ri-pause-circle-fill:before { content: "\efd5"; }
.ri-pause-circle-line:before { content: "\efd6"; }
.ri-pause-fill:before { content: "\efd7"; }
.ri-pause-line:before { content: "\efd8"; }
.ri-pause-mini-fill:before { content: "\efd9"; }
.ri-pause-mini-line:before { content: "\efda"; }
.ri-paypal-fill:before { content: "\efdb"; }
.ri-paypal-line:before { content: "\efdc"; }
.ri-pen-nib-fill:before { content: "\efdd"; }
.ri-pen-nib-line:before { content: "\efde"; }
.ri-pencil-fill:before { content: "\efdf"; }
.ri-pencil-line:before { content: "\efe0"; }
.ri-pencil-ruler-2-fill:before { content: "\efe1"; }
.ri-pencil-ruler-2-line:before { content: "\efe2"; }
.ri-pencil-ruler-fill:before { content: "\efe3"; }
.ri-pencil-ruler-line:before { content: "\efe4"; }
.ri-percent-fill:before { content: "\efe5"; }
.ri-percent-line:before { content: "\efe6"; }
.ri-phone-camera-fill:before { content: "\efe7"; }
.ri-phone-camera-line:before { content: "\efe8"; }
.ri-phone-fill:before { content: "\efe9"; }
.ri-phone-find-fill:before { content: "\efea"; }
.ri-phone-find-line:before { content: "\efeb"; }
.ri-phone-line:before { content: "\efec"; }
.ri-phone-lock-fill:before { content: "\efed"; }
.ri-phone-lock-line:before { content: "\efee"; }
.ri-picture-in-picture-2-fill:before { content: "\efef"; }
.ri-picture-in-picture-2-line:before { content: "\eff0"; }
.ri-picture-in-picture-exit-fill:before { content: "\eff1"; }
.ri-picture-in-picture-exit-line:before { content: "\eff2"; }
.ri-picture-in-picture-fill:before { content: "\eff3"; }
.ri-picture-in-picture-line:before { content: "\eff4"; }
.ri-pie-chart-2-fill:before { content: "\eff5"; }
.ri-pie-chart-2-line:before { content: "\eff6"; }
.ri-pie-chart-box-fill:before { content: "\eff7"; }
.ri-pie-chart-box-line:before { content: "\eff8"; }
.ri-pie-chart-fill:before { content: "\eff9"; }
.ri-pie-chart-line:before { content: "\effa"; }
.ri-pin-distance-fill:before { content: "\effb"; }
.ri-pin-distance-line:before { content: "\effc"; }
.ri-ping-pong-fill:before { content: "\effd"; }
.ri-ping-pong-line:before { content: "\effe"; }
.ri-pinterest-fill:before { content: "\efff"; }
.ri-pinterest-line:before { content: "\f000"; }
.ri-pinyin-input:before { content: "\f001"; }
.ri-pixelfed-fill:before { content: "\f002"; }
.ri-pixelfed-line:before { content: "\f003"; }
.ri-plane-fill:before { content: "\f004"; }
.ri-plane-line:before { content: "\f005"; }
.ri-plant-fill:before { content: "\f006"; }
.ri-plant-line:before { content: "\f007"; }
.ri-play-circle-fill:before { content: "\f008"; }
.ri-play-circle-line:before { content: "\f009"; }
.ri-play-fill:before { content: "\f00a"; }
.ri-play-line:before { content: "\f00b"; }
.ri-play-list-2-fill:before { content: "\f00c"; }
.ri-play-list-2-line:before { content: "\f00d"; }
.ri-play-list-add-fill:before { content: "\f00e"; }
.ri-play-list-add-line:before { content: "\f00f"; }
.ri-play-list-fill:before { content: "\f010"; }
.ri-play-list-line:before { content: "\f011"; }
.ri-play-mini-fill:before { content: "\f012"; }
.ri-play-mini-line:before { content: "\f013"; }
.ri-playstation-fill:before { content: "\f014"; }
.ri-playstation-line:before { content: "\f015"; }
.ri-plug-2-fill:before { content: "\f016"; }
.ri-plug-2-line:before { content: "\f017"; }
.ri-plug-fill:before { content: "\f018"; }
.ri-plug-line:before { content: "\f019"; }
.ri-polaroid-2-fill:before { content: "\f01a"; }
.ri-polaroid-2-line:before { content: "\f01b"; }
.ri-polaroid-fill:before { content: "\f01c"; }
.ri-polaroid-line:before { content: "\f01d"; }
.ri-police-car-fill:before { content: "\f01e"; }
.ri-police-car-line:before { content: "\f01f"; }
.ri-price-tag-2-fill:before { content: "\f020"; }
.ri-price-tag-2-line:before { content: "\f021"; }
.ri-price-tag-3-fill:before { content: "\f022"; }
.ri-price-tag-3-line:before { content: "\f023"; }
.ri-price-tag-fill:before { content: "\f024"; }
.ri-price-tag-line:before { content: "\f025"; }
.ri-printer-cloud-fill:before { content: "\f026"; }
.ri-printer-cloud-line:before { content: "\f027"; }
.ri-printer-fill:before { content: "\f028"; }
.ri-printer-line:before { content: "\f029"; }
.ri-product-hunt-fill:before { content: "\f02a"; }
.ri-product-hunt-line:before { content: "\f02b"; }
.ri-profile-fill:before { content: "\f02c"; }
.ri-profile-line:before { content: "\f02d"; }
.ri-projector-2-fill:before { content: "\f02e"; }
.ri-projector-2-line:before { content: "\f02f"; }
.ri-projector-fill:before { content: "\f030"; }
.ri-projector-line:before { content: "\f031"; }
.ri-psychotherapy-fill:before { content: "\f032"; }
.ri-psychotherapy-line:before { content: "\f033"; }
.ri-pulse-fill:before { content: "\f034"; }
.ri-pulse-line:before { content: "\f035"; }
.ri-pushpin-2-fill:before { content: "\f036"; }
.ri-pushpin-2-line:before { content: "\f037"; }
.ri-pushpin-fill:before { content: "\f038"; }
.ri-pushpin-line:before { content: "\f039"; }
.ri-qq-fill:before { content: "\f03a"; }
.ri-qq-line:before { content: "\f03b"; }
.ri-qr-code-fill:before { content: "\f03c"; }
.ri-qr-code-line:before { content: "\f03d"; }
.ri-qr-scan-2-fill:before { content: "\f03e"; }
.ri-qr-scan-2-line:before { content: "\f03f"; }
.ri-qr-scan-fill:before { content: "\f040"; }
.ri-qr-scan-line:before { content: "\f041"; }
.ri-question-answer-fill:before { content: "\f042"; }
.ri-question-answer-line:before { content: "\f043"; }
.ri-question-fill:before { content: "\f044"; }
.ri-question-line:before { content: "\f045"; }
.ri-question-mark:before { content: "\f046"; }
.ri-questionnaire-fill:before { content: "\f047"; }
.ri-questionnaire-line:before { content: "\f048"; }
.ri-quill-pen-fill:before { content: "\f049"; }
.ri-quill-pen-line:before { content: "\f04a"; }
.ri-radar-fill:before { content: "\f04b"; }
.ri-radar-line:before { content: "\f04c"; }
.ri-radio-2-fill:before { content: "\f04d"; }
.ri-radio-2-line:before { content: "\f04e"; }
.ri-radio-button-fill:before { content: "\f04f"; }
.ri-radio-button-line:before { content: "\f050"; }
.ri-radio-fill:before { content: "\f051"; }
.ri-radio-line:before { content: "\f052"; }
.ri-rainbow-fill:before { content: "\f053"; }
.ri-rainbow-line:before { content: "\f054"; }
.ri-rainy-fill:before { content: "\f055"; }
.ri-rainy-line:before { content: "\f056"; }
.ri-reactjs-fill:before { content: "\f057"; }
.ri-reactjs-line:before { content: "\f058"; }
.ri-record-circle-fill:before { content: "\f059"; }
.ri-record-circle-line:before { content: "\f05a"; }
.ri-record-mail-fill:before { content: "\f05b"; }
.ri-record-mail-line:before { content: "\f05c"; }
.ri-recycle-fill:before { content: "\f05d"; }
.ri-recycle-line:before { content: "\f05e"; }
.ri-red-packet-fill:before { content: "\f05f"; }
.ri-red-packet-line:before { content: "\f060"; }
.ri-reddit-fill:before { content: "\f061"; }
.ri-reddit-line:before { content: "\f062"; }
.ri-refresh-fill:before { content: "\f063"; }
.ri-refresh-line:before { content: "\f064"; }
.ri-refund-2-fill:before { content: "\f065"; }
.ri-refund-2-line:before { content: "\f066"; }
.ri-refund-fill:before { content: "\f067"; }
.ri-refund-line:before { content: "\f068"; }
.ri-registered-fill:before { content: "\f069"; }
.ri-registered-line:before { content: "\f06a"; }
.ri-remixicon-fill:before { content: "\f06b"; }
.ri-remixicon-line:before { content: "\f06c"; }
.ri-remote-control-2-fill:before { content: "\f06d"; }
.ri-remote-control-2-line:before { content: "\f06e"; }
.ri-remote-control-fill:before { content: "\f06f"; }
.ri-remote-control-line:before { content: "\f070"; }
.ri-repeat-2-fill:before { content: "\f071"; }
.ri-repeat-2-line:before { content: "\f072"; }
.ri-repeat-fill:before { content: "\f073"; }
.ri-repeat-line:before { content: "\f074"; }
.ri-repeat-one-fill:before { content: "\f075"; }
.ri-repeat-one-line:before { content: "\f076"; }
.ri-reply-all-fill:before { content: "\f077"; }
.ri-reply-all-line:before { content: "\f078"; }
.ri-reply-fill:before { content: "\f079"; }
.ri-reply-line:before { content: "\f07a"; }
.ri-reserved-fill:before { content: "\f07b"; }
.ri-reserved-line:before { content: "\f07c"; }
.ri-rest-time-fill:before { content: "\f07d"; }
.ri-rest-time-line:before { content: "\f07e"; }
.ri-restart-fill:before { content: "\f07f"; }
.ri-restart-line:before { content: "\f080"; }
.ri-restaurant-2-fill:before { content: "\f081"; }
.ri-restaurant-2-line:before { content: "\f082"; }
.ri-restaurant-fill:before { content: "\f083"; }
.ri-restaurant-line:before { content: "\f084"; }
.ri-rewind-fill:before { content: "\f085"; }
.ri-rewind-line:before { content: "\f086"; }
.ri-rewind-mini-fill:before { content: "\f087"; }
.ri-rewind-mini-line:before { content: "\f088"; }
.ri-rhythm-fill:before { content: "\f089"; }
.ri-rhythm-line:before { content: "\f08a"; }
.ri-riding-fill:before { content: "\f08b"; }
.ri-riding-line:before { content: "\f08c"; }
.ri-road-map-fill:before { content: "\f08d"; }
.ri-road-map-line:before { content: "\f08e"; }
.ri-roadster-fill:before { content: "\f08f"; }
.ri-roadster-line:before { content: "\f090"; }
.ri-robot-fill:before { content: "\f091"; }
.ri-robot-line:before { content: "\f092"; }
.ri-rocket-2-fill:before { content: "\f093"; }
.ri-rocket-2-line:before { content: "\f094"; }
.ri-rocket-fill:before { content: "\f095"; }
.ri-rocket-line:before { content: "\f096"; }
.ri-rotate-lock-fill:before { content: "\f097"; }
.ri-rotate-lock-line:before { content: "\f098"; }
.ri-rounded-corner:before { content: "\f099"; }
.ri-route-fill:before { content: "\f09a"; }
.ri-route-line:before { content: "\f09b"; }
.ri-router-fill:before { content: "\f09c"; }
.ri-router-line:before { content: "\f09d"; }
.ri-rss-fill:before { content: "\f09e"; }
.ri-rss-line:before { content: "\f09f"; }
.ri-ruler-2-fill:before { content: "\f0a0"; }
.ri-ruler-2-line:before { content: "\f0a1"; }
.ri-ruler-fill:before { content: "\f0a2"; }
.ri-ruler-line:before { content: "\f0a3"; }
.ri-run-fill:before { content: "\f0a4"; }
.ri-run-line:before { content: "\f0a5"; }
.ri-safari-fill:before { content: "\f0a6"; }
.ri-safari-line:before { content: "\f0a7"; }
.ri-safe-2-fill:before { content: "\f0a8"; }
.ri-safe-2-line:before { content: "\f0a9"; }
.ri-safe-fill:before { content: "\f0aa"; }
.ri-safe-line:before { content: "\f0ab"; }
.ri-sailboat-fill:before { content: "\f0ac"; }
.ri-sailboat-line:before { content: "\f0ad"; }
.ri-save-2-fill:before { content: "\f0ae"; }
.ri-save-2-line:before { content: "\f0af"; }
.ri-save-3-fill:before { content: "\f0b0"; }
.ri-save-3-line:before { content: "\f0b1"; }
.ri-save-fill:before { content: "\f0b2"; }
.ri-save-line:before { content: "\f0b3"; }
.ri-scales-2-fill:before { content: "\f0b4"; }
.ri-scales-2-line:before { content: "\f0b5"; }
.ri-scales-3-fill:before { content: "\f0b6"; }
.ri-scales-3-line:before { content: "\f0b7"; }
.ri-scales-fill:before { content: "\f0b8"; }
.ri-scales-line:before { content: "\f0b9"; }
.ri-scan-2-fill:before { content: "\f0ba"; }
.ri-scan-2-line:before { content: "\f0bb"; }
.ri-scan-fill:before { content: "\f0bc"; }
.ri-scan-line:before { content: "\f0bd"; }
.ri-scissors-2-fill:before { content: "\f0be"; }
.ri-scissors-2-line:before { content: "\f0bf"; }
.ri-scissors-cut-fill:before { content: "\f0c0"; }
.ri-scissors-cut-line:before { content: "\f0c1"; }
.ri-scissors-fill:before { content: "\f0c2"; }
.ri-scissors-line:before { content: "\f0c3"; }
.ri-screenshot-2-fill:before { content: "\f0c4"; }
.ri-screenshot-2-line:before { content: "\f0c5"; }
.ri-screenshot-fill:before { content: "\f0c6"; }
.ri-screenshot-line:before { content: "\f0c7"; }
.ri-sd-card-fill:before { content: "\f0c8"; }
.ri-sd-card-line:before { content: "\f0c9"; }
.ri-sd-card-mini-fill:before { content: "\f0ca"; }
.ri-sd-card-mini-line:before { content: "\f0cb"; }
.ri-search-2-fill:before { content: "\f0cc"; }
.ri-search-2-line:before { content: "\f0cd"; }
.ri-search-eye-fill:before { content: "\f0ce"; }
.ri-search-eye-line:before { content: "\f0cf"; }
.ri-search-fill:before { content: "\f0d0"; }
.ri-search-line:before { content: "\f0d1"; }
.ri-secure-payment-fill:before { content: "\f0d2"; }
.ri-secure-payment-line:before { content: "\f0d3"; }
.ri-seedling-fill:before { content: "\f0d4"; }
.ri-seedling-line:before { content: "\f0d5"; }
.ri-send-backward:before { content: "\f0d6"; }
.ri-send-plane-2-fill:before { content: "\f0d7"; }
.ri-send-plane-2-line:before { content: "\f0d8"; }
.ri-send-plane-fill:before { content: "\f0d9"; }
.ri-send-plane-line:before { content: "\f0da"; }
.ri-send-to-back:before { content: "\f0db"; }
.ri-sensor-fill:before { content: "\f0dc"; }
.ri-sensor-line:before { content: "\f0dd"; }
.ri-separator:before { content: "\f0de"; }
.ri-server-fill:before { content: "\f0df"; }
.ri-server-line:before { content: "\f0e0"; }
.ri-service-fill:before { content: "\f0e1"; }
.ri-service-line:before { content: "\f0e2"; }
.ri-settings-2-fill:before { content: "\f0e3"; }
.ri-settings-2-line:before { content: "\f0e4"; }
.ri-settings-3-fill:before { content: "\f0e5"; }
.ri-settings-3-line:before { content: "\f0e6"; }
.ri-settings-4-fill:before { content: "\f0e7"; }
.ri-settings-4-line:before { content: "\f0e8"; }
.ri-settings-5-fill:before { content: "\f0e9"; }
.ri-settings-5-line:before { content: "\f0ea"; }
.ri-settings-6-fill:before { content: "\f0eb"; }
.ri-settings-6-line:before { content: "\f0ec"; }
.ri-settings-fill:before { content: "\f0ed"; }
.ri-settings-line:before { content: "\f0ee"; }
.ri-shape-2-fill:before { content: "\f0ef"; }
.ri-shape-2-line:before { content: "\f0f0"; }
.ri-shape-fill:before { content: "\f0f1"; }
.ri-shape-line:before { content: "\f0f2"; }
.ri-share-box-fill:before { content: "\f0f3"; }
.ri-share-box-line:before { content: "\f0f4"; }
.ri-share-circle-fill:before { content: "\f0f5"; }
.ri-share-circle-line:before { content: "\f0f6"; }
.ri-share-fill:before { content: "\f0f7"; }
.ri-share-forward-2-fill:before { content: "\f0f8"; }
.ri-share-forward-2-line:before { content: "\f0f9"; }
.ri-share-forward-box-fill:before { content: "\f0fa"; }
.ri-share-forward-box-line:before { content: "\f0fb"; }
.ri-share-forward-fill:before { content: "\f0fc"; }
.ri-share-forward-line:before { content: "\f0fd"; }
.ri-share-line:before { content: "\f0fe"; }
.ri-shield-check-fill:before { content: "\f0ff"; }
.ri-shield-check-line:before { content: "\f100"; }
.ri-shield-cross-fill:before { content: "\f101"; }
.ri-shield-cross-line:before { content: "\f102"; }
.ri-shield-fill:before { content: "\f103"; }
.ri-shield-flash-fill:before { content: "\f104"; }
.ri-shield-flash-line:before { content: "\f105"; }
.ri-shield-keyhole-fill:before { content: "\f106"; }
.ri-shield-keyhole-line:before { content: "\f107"; }
.ri-shield-line:before { content: "\f108"; }
.ri-shield-star-fill:before { content: "\f109"; }
.ri-shield-star-line:before { content: "\f10a"; }
.ri-shield-user-fill:before { content: "\f10b"; }
.ri-shield-user-line:before { content: "\f10c"; }
.ri-ship-2-fill:before { content: "\f10d"; }
.ri-ship-2-line:before { content: "\f10e"; }
.ri-ship-fill:before { content: "\f10f"; }
.ri-ship-line:before { content: "\f110"; }
.ri-shirt-fill:before { content: "\f111"; }
.ri-shirt-line:before { content: "\f112"; }
.ri-shopping-bag-2-fill:before { content: "\f113"; }
.ri-shopping-bag-2-line:before { content: "\f114"; }
.ri-shopping-bag-3-fill:before { content: "\f115"; }
.ri-shopping-bag-3-line:before { content: "\f116"; }
.ri-shopping-bag-fill:before { content: "\f117"; }
.ri-shopping-bag-line:before { content: "\f118"; }
.ri-shopping-basket-2-fill:before { content: "\f119"; }
.ri-shopping-basket-2-line:before { content: "\f11a"; }
.ri-shopping-basket-fill:before { content: "\f11b"; }
.ri-shopping-basket-line:before { content: "\f11c"; }
.ri-shopping-cart-2-fill:before { content: "\f11d"; }
.ri-shopping-cart-2-line:before { content: "\f11e"; }
.ri-shopping-cart-fill:before { content: "\f11f"; }
.ri-shopping-cart-line:before { content: "\f120"; }
.ri-showers-fill:before { content: "\f121"; }
.ri-showers-line:before { content: "\f122"; }
.ri-shuffle-fill:before { content: "\f123"; }
.ri-shuffle-line:before { content: "\f124"; }
.ri-shut-down-fill:before { content: "\f125"; }
.ri-shut-down-line:before { content: "\f126"; }
.ri-side-bar-fill:before { content: "\f127"; }
.ri-side-bar-line:before { content: "\f128"; }
.ri-signal-tower-fill:before { content: "\f129"; }
.ri-signal-tower-line:before { content: "\f12a"; }
.ri-signal-wifi-1-fill:before { content: "\f12b"; }
.ri-signal-wifi-1-line:before { content: "\f12c"; }
.ri-signal-wifi-2-fill:before { content: "\f12d"; }
.ri-signal-wifi-2-line:before { content: "\f12e"; }
.ri-signal-wifi-3-fill:before { content: "\f12f"; }
.ri-signal-wifi-3-line:before { content: "\f130"; }
.ri-signal-wifi-error-fill:before { content: "\f131"; }
.ri-signal-wifi-error-line:before { content: "\f132"; }
.ri-signal-wifi-fill:before { content: "\f133"; }
.ri-signal-wifi-line:before { content: "\f134"; }
.ri-signal-wifi-off-fill:before { content: "\f135"; }
.ri-signal-wifi-off-line:before { content: "\f136"; }
.ri-sim-card-2-fill:before { content: "\f137"; }
.ri-sim-card-2-line:before { content: "\f138"; }
.ri-sim-card-fill:before { content: "\f139"; }
.ri-sim-card-line:before { content: "\f13a"; }
.ri-single-quotes-l:before { content: "\f13b"; }
.ri-single-quotes-r:before { content: "\f13c"; }
.ri-sip-fill:before { content: "\f13d"; }
.ri-sip-line:before { content: "\f13e"; }
.ri-skip-back-fill:before { content: "\f13f"; }
.ri-skip-back-line:before { content: "\f140"; }
.ri-skip-back-mini-fill:before { content: "\f141"; }
.ri-skip-back-mini-line:before { content: "\f142"; }
.ri-skip-forward-fill:before { content: "\f143"; }
.ri-skip-forward-line:before { content: "\f144"; }
.ri-skip-forward-mini-fill:before { content: "\f145"; }
.ri-skip-forward-mini-line:before { content: "\f146"; }
.ri-skull-2-fill:before { content: "\f147"; }
.ri-skull-2-line:before { content: "\f148"; }
.ri-skull-fill:before { content: "\f149"; }
.ri-skull-line:before { content: "\f14a"; }
.ri-skype-fill:before { content: "\f14b"; }
.ri-skype-line:before { content: "\f14c"; }
.ri-slack-fill:before { content: "\f14d"; }
.ri-slack-line:before { content: "\f14e"; }
.ri-slice-fill:before { content: "\f14f"; }
.ri-slice-line:before { content: "\f150"; }
.ri-slideshow-2-fill:before { content: "\f151"; }
.ri-slideshow-2-line:before { content: "\f152"; }
.ri-slideshow-3-fill:before { content: "\f153"; }
.ri-slideshow-3-line:before { content: "\f154"; }
.ri-slideshow-4-fill:before { content: "\f155"; }
.ri-slideshow-4-line:before { content: "\f156"; }
.ri-slideshow-fill:before { content: "\f157"; }
.ri-slideshow-line:before { content: "\f158"; }
.ri-smartphone-fill:before { content: "\f159"; }
.ri-smartphone-line:before { content: "\f15a"; }
.ri-snapchat-fill:before { content: "\f15b"; }
.ri-snapchat-line:before { content: "\f15c"; }
.ri-snowy-fill:before { content: "\f15d"; }
.ri-snowy-line:before { content: "\f15e"; }
.ri-sort-asc:before { content: "\f15f"; }
.ri-sort-desc:before { content: "\f160"; }
.ri-sound-module-fill:before { content: "\f161"; }
.ri-sound-module-line:before { content: "\f162"; }
.ri-soundcloud-fill:before { content: "\f163"; }
.ri-soundcloud-line:before { content: "\f164"; }
.ri-space-ship-fill:before { content: "\f165"; }
.ri-space-ship-line:before { content: "\f166"; }
.ri-space:before { content: "\f167"; }
.ri-spam-2-fill:before { content: "\f168"; }
.ri-spam-2-line:before { content: "\f169"; }
.ri-spam-3-fill:before { content: "\f16a"; }
.ri-spam-3-line:before { content: "\f16b"; }
.ri-spam-fill:before { content: "\f16c"; }
.ri-spam-line:before { content: "\f16d"; }
.ri-speaker-2-fill:before { content: "\f16e"; }
.ri-speaker-2-line:before { content: "\f16f"; }
.ri-speaker-3-fill:before { content: "\f170"; }
.ri-speaker-3-line:before { content: "\f171"; }
.ri-speaker-fill:before { content: "\f172"; }
.ri-speaker-line:before { content: "\f173"; }
.ri-spectrum-fill:before { content: "\f174"; }
.ri-spectrum-line:before { content: "\f175"; }
.ri-speed-fill:before { content: "\f176"; }
.ri-speed-line:before { content: "\f177"; }
.ri-speed-mini-fill:before { content: "\f178"; }
.ri-speed-mini-line:before { content: "\f179"; }
.ri-split-cells-horizontal:before { content: "\f17a"; }
.ri-split-cells-vertical:before { content: "\f17b"; }
.ri-spotify-fill:before { content: "\f17c"; }
.ri-spotify-line:before { content: "\f17d"; }
.ri-spy-fill:before { content: "\f17e"; }
.ri-spy-line:before { content: "\f17f"; }
.ri-stack-fill:before { content: "\f180"; }
.ri-stack-line:before { content: "\f181"; }
.ri-stack-overflow-fill:before { content: "\f182"; }
.ri-stack-overflow-line:before { content: "\f183"; }
.ri-stackshare-fill:before { content: "\f184"; }
.ri-stackshare-line:before { content: "\f185"; }
.ri-star-fill:before { content: "\f186"; }
.ri-star-half-fill:before { content: "\f187"; }
.ri-star-half-line:before { content: "\f188"; }
.ri-star-half-s-fill:before { content: "\f189"; }
.ri-star-half-s-line:before { content: "\f18a"; }
.ri-star-line:before { content: "\f18b"; }
.ri-star-s-fill:before { content: "\f18c"; }
.ri-star-s-line:before { content: "\f18d"; }
.ri-star-smile-fill:before { content: "\f18e"; }
.ri-star-smile-line:before { content: "\f18f"; }
.ri-steam-fill:before { content: "\f190"; }
.ri-steam-line:before { content: "\f191"; }
.ri-steering-2-fill:before { content: "\f192"; }
.ri-steering-2-line:before { content: "\f193"; }
.ri-steering-fill:before { content: "\f194"; }
.ri-steering-line:before { content: "\f195"; }
.ri-stethoscope-fill:before { content: "\f196"; }
.ri-stethoscope-line:before { content: "\f197"; }
.ri-sticky-note-2-fill:before { content: "\f198"; }
.ri-sticky-note-2-line:before { content: "\f199"; }
.ri-sticky-note-fill:before { content: "\f19a"; }
.ri-sticky-note-line:before { content: "\f19b"; }
.ri-stock-fill:before { content: "\f19c"; }
.ri-stock-line:before { content: "\f19d"; }
.ri-stop-circle-fill:before { content: "\f19e"; }
.ri-stop-circle-line:before { content: "\f19f"; }
.ri-stop-fill:before { content: "\f1a0"; }
.ri-stop-line:before { content: "\f1a1"; }
.ri-stop-mini-fill:before { content: "\f1a2"; }
.ri-stop-mini-line:before { content: "\f1a3"; }
.ri-store-2-fill:before { content: "\f1a4"; }
.ri-store-2-line:before { content: "\f1a5"; }
.ri-store-3-fill:before { content: "\f1a6"; }
.ri-store-3-line:before { content: "\f1a7"; }
.ri-store-fill:before { content: "\f1a8"; }
.ri-store-line:before { content: "\f1a9"; }
.ri-strikethrough-2:before { content: "\f1aa"; }
.ri-strikethrough:before { content: "\f1ab"; }
.ri-subscript-2:before { content: "\f1ac"; }
.ri-subscript:before { content: "\f1ad"; }
.ri-subtract-fill:before { content: "\f1ae"; }
.ri-subtract-line:before { content: "\f1af"; }
.ri-subway-fill:before { content: "\f1b0"; }
.ri-subway-line:before { content: "\f1b1"; }
.ri-subway-wifi-fill:before { content: "\f1b2"; }
.ri-subway-wifi-line:before { content: "\f1b3"; }
.ri-suitcase-2-fill:before { content: "\f1b4"; }
.ri-suitcase-2-line:before { content: "\f1b5"; }
.ri-suitcase-3-fill:before { content: "\f1b6"; }
.ri-suitcase-3-line:before { content: "\f1b7"; }
.ri-suitcase-fill:before { content: "\f1b8"; }
.ri-suitcase-line:before { content: "\f1b9"; }
.ri-sun-cloudy-fill:before { content: "\f1ba"; }
.ri-sun-cloudy-line:before { content: "\f1bb"; }
.ri-sun-fill:before { content: "\f1bc"; }
.ri-sun-foggy-fill:before { content: "\f1bd"; }
.ri-sun-foggy-line:before { content: "\f1be"; }
.ri-sun-line:before { content: "\f1bf"; }
.ri-superscript-2:before { content: "\f1c0"; }
.ri-superscript:before { content: "\f1c1"; }
.ri-surgical-mask-fill:before { content: "\f1c2"; }
.ri-surgical-mask-line:before { content: "\f1c3"; }
.ri-surround-sound-fill:before { content: "\f1c4"; }
.ri-surround-sound-line:before { content: "\f1c5"; }
.ri-survey-fill:before { content: "\f1c6"; }
.ri-survey-line:before { content: "\f1c7"; }
.ri-swap-box-fill:before { content: "\f1c8"; }
.ri-swap-box-line:before { content: "\f1c9"; }
.ri-swap-fill:before { content: "\f1ca"; }
.ri-swap-line:before { content: "\f1cb"; }
.ri-switch-fill:before { content: "\f1cc"; }
.ri-switch-line:before { content: "\f1cd"; }
.ri-sword-fill:before { content: "\f1ce"; }
.ri-sword-line:before { content: "\f1cf"; }
.ri-syringe-fill:before { content: "\f1d0"; }
.ri-syringe-line:before { content: "\f1d1"; }
.ri-t-box-fill:before { content: "\f1d2"; }
.ri-t-box-line:before { content: "\f1d3"; }
.ri-t-shirt-2-fill:before { content: "\f1d4"; }
.ri-t-shirt-2-line:before { content: "\f1d5"; }
.ri-t-shirt-air-fill:before { content: "\f1d6"; }
.ri-t-shirt-air-line:before { content: "\f1d7"; }
.ri-t-shirt-fill:before { content: "\f1d8"; }
.ri-t-shirt-line:before { content: "\f1d9"; }
.ri-table-2:before { content: "\f1da"; }
.ri-table-alt-fill:before { content: "\f1db"; }
.ri-table-alt-line:before { content: "\f1dc"; }
.ri-table-fill:before { content: "\f1dd"; }
.ri-table-line:before { content: "\f1de"; }
.ri-tablet-fill:before { content: "\f1df"; }
.ri-tablet-line:before { content: "\f1e0"; }
.ri-takeaway-fill:before { content: "\f1e1"; }
.ri-takeaway-line:before { content: "\f1e2"; }
.ri-taobao-fill:before { content: "\f1e3"; }
.ri-taobao-line:before { content: "\f1e4"; }
.ri-tape-fill:before { content: "\f1e5"; }
.ri-tape-line:before { content: "\f1e6"; }
.ri-task-fill:before { content: "\f1e7"; }
.ri-task-line:before { content: "\f1e8"; }
.ri-taxi-fill:before { content: "\f1e9"; }
.ri-taxi-line:before { content: "\f1ea"; }
.ri-taxi-wifi-fill:before { content: "\f1eb"; }
.ri-taxi-wifi-line:before { content: "\f1ec"; }
.ri-team-fill:before { content: "\f1ed"; }
.ri-team-line:before { content: "\f1ee"; }
.ri-telegram-fill:before { content: "\f1ef"; }
.ri-telegram-line:before { content: "\f1f0"; }
.ri-temp-cold-fill:before { content: "\f1f1"; }
.ri-temp-cold-line:before { content: "\f1f2"; }
.ri-temp-hot-fill:before { content: "\f1f3"; }
.ri-temp-hot-line:before { content: "\f1f4"; }
.ri-terminal-box-fill:before { content: "\f1f5"; }
.ri-terminal-box-line:before { content: "\f1f6"; }
.ri-terminal-fill:before { content: "\f1f7"; }
.ri-terminal-line:before { content: "\f1f8"; }
.ri-terminal-window-fill:before { content: "\f1f9"; }
.ri-terminal-window-line:before { content: "\f1fa"; }
.ri-test-tube-fill:before { content: "\f1fb"; }
.ri-test-tube-line:before { content: "\f1fc"; }
.ri-text-direction-l:before { content: "\f1fd"; }
.ri-text-direction-r:before { content: "\f1fe"; }
.ri-text-spacing:before { content: "\f1ff"; }
.ri-text-wrap:before { content: "\f200"; }
.ri-text:before { content: "\f201"; }
.ri-thermometer-fill:before { content: "\f202"; }
.ri-thermometer-line:before { content: "\f203"; }
.ri-thumb-down-fill:before { content: "\f204"; }
.ri-thumb-down-line:before { content: "\f205"; }
.ri-thumb-up-fill:before { content: "\f206"; }
.ri-thumb-up-line:before { content: "\f207"; }
.ri-thunderstorms-fill:before { content: "\f208"; }
.ri-thunderstorms-line:before { content: "\f209"; }
.ri-ticket-2-fill:before { content: "\f20a"; }
.ri-ticket-2-line:before { content: "\f20b"; }
.ri-ticket-fill:before { content: "\f20c"; }
.ri-ticket-line:before { content: "\f20d"; }
.ri-time-fill:before { content: "\f20e"; }
.ri-time-line:before { content: "\f20f"; }
.ri-timer-2-fill:before { content: "\f210"; }
.ri-timer-2-line:before { content: "\f211"; }
.ri-timer-fill:before { content: "\f212"; }
.ri-timer-flash-fill:before { content: "\f213"; }
.ri-timer-flash-line:before { content: "\f214"; }
.ri-timer-line:before { content: "\f215"; }
.ri-todo-fill:before { content: "\f216"; }
.ri-todo-line:before { content: "\f217"; }
.ri-toggle-fill:before { content: "\f218"; }
.ri-toggle-line:before { content: "\f219"; }
.ri-tools-fill:before { content: "\f21a"; }
.ri-tools-line:before { content: "\f21b"; }
.ri-tornado-fill:before { content: "\f21c"; }
.ri-tornado-line:before { content: "\f21d"; }
.ri-trademark-fill:before { content: "\f21e"; }
.ri-trademark-line:before { content: "\f21f"; }
.ri-traffic-light-fill:before { content: "\f220"; }
.ri-traffic-light-line:before { content: "\f221"; }
.ri-train-fill:before { content: "\f222"; }
.ri-train-line:before { content: "\f223"; }
.ri-train-wifi-fill:before { content: "\f224"; }
.ri-train-wifi-line:before { content: "\f225"; }
.ri-translate-2:before { content: "\f226"; }
.ri-translate:before { content: "\f227"; }
.ri-travesti-fill:before { content: "\f228"; }
.ri-travesti-line:before { content: "\f229"; }
.ri-treasure-map-fill:before { content: "\f22a"; }
.ri-treasure-map-line:before { content: "\f22b"; }
.ri-trello-fill:before { content: "\f22c"; }
.ri-trello-line:before { content: "\f22d"; }
.ri-trophy-fill:before { content: "\f22e"; }
.ri-trophy-line:before { content: "\f22f"; }
.ri-truck-fill:before { content: "\f230"; }
.ri-truck-line:before { content: "\f231"; }
.ri-tumblr-fill:before { content: "\f232"; }
.ri-tumblr-line:before { content: "\f233"; }
.ri-tv-2-fill:before { content: "\f234"; }
.ri-tv-2-line:before { content: "\f235"; }
.ri-tv-fill:before { content: "\f236"; }
.ri-tv-line:before { content: "\f237"; }
.ri-twitch-fill:before { content: "\f238"; }
.ri-twitch-line:before { content: "\f239"; }
.ri-twitter-fill:before { content: "\f23a"; }
.ri-twitter-line:before { content: "\f23b"; }
.ri-typhoon-fill:before { content: "\f23c"; }
.ri-typhoon-line:before { content: "\f23d"; }
.ri-u-disk-fill:before { content: "\f23e"; }
.ri-u-disk-line:before { content: "\f23f"; }
.ri-ubuntu-fill:before { content: "\f240"; }
.ri-ubuntu-line:before { content: "\f241"; }
.ri-umbrella-fill:before { content: "\f242"; }
.ri-umbrella-line:before { content: "\f243"; }
.ri-underline:before { content: "\f244"; }
.ri-uninstall-fill:before { content: "\f245"; }
.ri-uninstall-line:before { content: "\f246"; }
.ri-unsplash-fill:before { content: "\f247"; }
.ri-unsplash-line:before { content: "\f248"; }
.ri-upload-2-fill:before { content: "\f249"; }
.ri-upload-2-line:before { content: "\f24a"; }
.ri-upload-cloud-2-fill:before { content: "\f24b"; }
.ri-upload-cloud-2-line:before { content: "\f24c"; }
.ri-upload-cloud-fill:before { content: "\f24d"; }
.ri-upload-cloud-line:before { content: "\f24e"; }
.ri-upload-fill:before { content: "\f24f"; }
.ri-upload-line:before { content: "\f250"; }
.ri-usb-fill:before { content: "\f251"; }
.ri-usb-line:before { content: "\f252"; }
.ri-user-2-fill:before { content: "\f253"; }
.ri-user-2-line:before { content: "\f254"; }
.ri-user-3-fill:before { content: "\f255"; }
.ri-user-3-line:before { content: "\f256"; }
.ri-user-4-fill:before { content: "\f257"; }
.ri-user-4-line:before { content: "\f258"; }
.ri-user-5-fill:before { content: "\f259"; }
.ri-user-5-line:before { content: "\f25a"; }
.ri-user-6-fill:before { content: "\f25b"; }
.ri-user-6-line:before { content: "\f25c"; }
.ri-user-add-fill:before { content: "\f25d"; }
.ri-user-add-line:before { content: "\f25e"; }
.ri-user-fill:before { content: "\f25f"; }
.ri-user-follow-fill:before { content: "\f260"; }
.ri-user-follow-line:before { content: "\f261"; }
.ri-user-heart-fill:before { content: "\f262"; }
.ri-user-heart-line:before { content: "\f263"; }
.ri-user-line:before { content: "\f264"; }
.ri-user-location-fill:before { content: "\f265"; }
.ri-user-location-line:before { content: "\f266"; }
.ri-user-received-2-fill:before { content: "\f267"; }
.ri-user-received-2-line:before { content: "\f268"; }
.ri-user-received-fill:before { content: "\f269"; }
.ri-user-received-line:before { content: "\f26a"; }
.ri-user-search-fill:before { content: "\f26b"; }
.ri-user-search-line:before { content: "\f26c"; }
.ri-user-settings-fill:before { content: "\f26d"; }
.ri-user-settings-line:before { content: "\f26e"; }
.ri-user-shared-2-fill:before { content: "\f26f"; }
.ri-user-shared-2-line:before { content: "\f270"; }
.ri-user-shared-fill:before { content: "\f271"; }
.ri-user-shared-line:before { content: "\f272"; }
.ri-user-smile-fill:before { content: "\f273"; }
.ri-user-smile-line:before { content: "\f274"; }
.ri-user-star-fill:before { content: "\f275"; }
.ri-user-star-line:before { content: "\f276"; }
.ri-user-unfollow-fill:before { content: "\f277"; }
.ri-user-unfollow-line:before { content: "\f278"; }
.ri-user-voice-fill:before { content: "\f279"; }
.ri-user-voice-line:before { content: "\f27a"; }
.ri-video-add-fill:before { content: "\f27b"; }
.ri-video-add-line:before { content: "\f27c"; }
.ri-video-chat-fill:before { content: "\f27d"; }
.ri-video-chat-line:before { content: "\f27e"; }
.ri-video-download-fill:before { content: "\f27f"; }
.ri-video-download-line:before { content: "\f280"; }
.ri-video-fill:before { content: "\f281"; }
.ri-video-line:before { content: "\f282"; }
.ri-video-upload-fill:before { content: "\f283"; }
.ri-video-upload-line:before { content: "\f284"; }
.ri-vidicon-2-fill:before { content: "\f285"; }
.ri-vidicon-2-line:before { content: "\f286"; }
.ri-vidicon-fill:before { content: "\f287"; }
.ri-vidicon-line:before { content: "\f288"; }
.ri-vimeo-fill:before { content: "\f289"; }
.ri-vimeo-line:before { content: "\f28a"; }
.ri-vip-crown-2-fill:before { content: "\f28b"; }
.ri-vip-crown-2-line:before { content: "\f28c"; }
.ri-vip-crown-fill:before { content: "\f28d"; }
.ri-vip-crown-line:before { content: "\f28e"; }
.ri-vip-diamond-fill:before { content: "\f28f"; }
.ri-vip-diamond-line:before { content: "\f290"; }
.ri-vip-fill:before { content: "\f291"; }
.ri-vip-line:before { content: "\f292"; }
.ri-virus-fill:before { content: "\f293"; }
.ri-virus-line:before { content: "\f294"; }
.ri-visa-fill:before { content: "\f295"; }
.ri-visa-line:before { content: "\f296"; }
.ri-voice-recognition-fill:before { content: "\f297"; }
.ri-voice-recognition-line:before { content: "\f298"; }
.ri-voiceprint-fill:before { content: "\f299"; }
.ri-voiceprint-line:before { content: "\f29a"; }
.ri-volume-down-fill:before { content: "\f29b"; }
.ri-volume-down-line:before { content: "\f29c"; }
.ri-volume-mute-fill:before { content: "\f29d"; }
.ri-volume-mute-line:before { content: "\f29e"; }
.ri-volume-off-vibrate-fill:before { content: "\f29f"; }
.ri-volume-off-vibrate-line:before { content: "\f2a0"; }
.ri-volume-up-fill:before { content: "\f2a1"; }
.ri-volume-up-line:before { content: "\f2a2"; }
.ri-volume-vibrate-fill:before { content: "\f2a3"; }
.ri-volume-vibrate-line:before { content: "\f2a4"; }
.ri-vuejs-fill:before { content: "\f2a5"; }
.ri-vuejs-line:before { content: "\f2a6"; }
.ri-walk-fill:before { content: "\f2a7"; }
.ri-walk-line:before { content: "\f2a8"; }
.ri-wallet-2-fill:before { content: "\f2a9"; }
.ri-wallet-2-line:before { content: "\f2aa"; }
.ri-wallet-3-fill:before { content: "\f2ab"; }
.ri-wallet-3-line:before { content: "\f2ac"; }
.ri-wallet-fill:before { content: "\f2ad"; }
.ri-wallet-line:before { content: "\f2ae"; }
.ri-water-flash-fill:before { content: "\f2af"; }
.ri-water-flash-line:before { content: "\f2b0"; }
.ri-webcam-fill:before { content: "\f2b1"; }
.ri-webcam-line:before { content: "\f2b2"; }
.ri-wechat-2-fill:before { content: "\f2b3"; }
.ri-wechat-2-line:before { content: "\f2b4"; }
.ri-wechat-fill:before { content: "\f2b5"; }
.ri-wechat-line:before { content: "\f2b6"; }
.ri-wechat-pay-fill:before { content: "\f2b7"; }
.ri-wechat-pay-line:before { content: "\f2b8"; }
.ri-weibo-fill:before { content: "\f2b9"; }
.ri-weibo-line:before { content: "\f2ba"; }
.ri-whatsapp-fill:before { content: "\f2bb"; }
.ri-whatsapp-line:before { content: "\f2bc"; }
.ri-wheelchair-fill:before { content: "\f2bd"; }
.ri-wheelchair-line:before { content: "\f2be"; }
.ri-wifi-fill:before { content: "\f2bf"; }
.ri-wifi-line:before { content: "\f2c0"; }
.ri-wifi-off-fill:before { content: "\f2c1"; }
.ri-wifi-off-line:before { content: "\f2c2"; }
.ri-window-2-fill:before { content: "\f2c3"; }
.ri-window-2-line:before { content: "\f2c4"; }
.ri-window-fill:before { content: "\f2c5"; }
.ri-window-line:before { content: "\f2c6"; }
.ri-windows-fill:before { content: "\f2c7"; }
.ri-windows-line:before { content: "\f2c8"; }
.ri-windy-fill:before { content: "\f2c9"; }
.ri-windy-line:before { content: "\f2ca"; }
.ri-wireless-charging-fill:before { content: "\f2cb"; }
.ri-wireless-charging-line:before { content: "\f2cc"; }
.ri-women-fill:before { content: "\f2cd"; }
.ri-women-line:before { content: "\f2ce"; }
.ri-wubi-input:before { content: "\f2cf"; }
.ri-xbox-fill:before { content: "\f2d0"; }
.ri-xbox-line:before { content: "\f2d1"; }
.ri-xing-fill:before { content: "\f2d2"; }
.ri-xing-line:before { content: "\f2d3"; }
.ri-youtube-fill:before { content: "\f2d4"; }
.ri-youtube-line:before { content: "\f2d5"; }
.ri-zcool-fill:before { content: "\f2d6"; }
.ri-zcool-line:before { content: "\f2d7"; }
.ri-zhihu-fill:before { content: "\f2d8"; }
.ri-zhihu-line:before { content: "\f2d9"; }
.ri-zoom-in-fill:before { content: "\f2da"; }
.ri-zoom-in-line:before { content: "\f2db"; }
.ri-zoom-out-fill:before { content: "\f2dc"; }
.ri-zoom-out-line:before { content: "\f2dd"; }
.ri-zzz-fill:before { content: "\f2de"; }
.ri-zzz-line:before { content: "\f2df"; }

/*/var/www/clients/client1/web134/web/.admin/public/css/dashboard.css*/@charset "UTF-8";
/* Dashboard reskin — Phase 4 (+ desktop dashboard slice of Phase 5).
 *
 * Self-contained: compiles to public/css/dashboard.css and is loaded
 * site-wide via config/assets.php. Does NOT modify main.scss or any
 * existing SCSS partial. Uses `variables` and `tokensv2` read-only
 * via @use.
 *
 * See docs/superpowers/specs/2026-05-20-dashboard-reskin-design.md
 */
/* Dashboard mobile (≤700px) and base styles — .ds-*, .at-*, .np-*.
 *
 * Source: .admin/tmp/handoff/dashboard.css.
 * Class prefixes are scoped so the global [class^="ri-"] rule
 * (mint, 1.8em) is already neutralized inside .proto-app /
 * .proto-screen by main.scss.
 */
.ds-screen {
  position: absolute;
  inset: 0;
  background: #f6f9fc;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: "Inter", system-ui, sans-serif;
  color: #3c4257;
}

.ds-screen *, .ds-screen *::before, .ds-screen *::after {
  box-sizing: border-box;
}

.ds-screen i {
  font-style: normal;
}

/* Header */
.ds-header {
  background: #fff;
  padding: 0 14px 10px;
  border-bottom: 1px solid #e3e8ee;
  flex-shrink: 0;
}

.ds-header-row {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 44px;
}

.ds-header-row .menu-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: #0a2540;
  display: grid;
  place-items: center;
  font-size: 22px;
  margin-left: -8px;
  cursor: pointer;
  border-radius: 8px;
}

.ds-header-row .menu-btn:active {
  background: #f6f9fc;
}

.ds-greeting {
  flex: 1;
  min-width: 0;
}

.ds-greeting .hello {
  font-size: 17px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.ds-greeting .today {
  font-size: 11.5px;
  color: #8898aa;
  text-transform: capitalize;
  margin-top: 1px;
}

.ds-bell {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: transparent;
  border: none;
  color: #5b6376;
  display: grid;
  place-items: center;
  font-size: 19px;
  cursor: pointer;
  position: relative;
}

.ds-bell::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #df1b41;
  border: 2px solid #fff;
}

/* Action grid: all actions on a single row (auto-fits 4–5 tiles). */
.ds-actions {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 6px;
  padding: 12px 10px 4px;
}

.ds-action {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  padding: 8px 3px 7px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.06s, border-color 0.12s, box-shadow 0.12s;
  font-family: inherit;
  text-align: center;
}

.ds-action:active {
  transform: scale(0.97);
}

.ds-action:hover {
  border-color: #cdd5df;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

.ds-action-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}
.ds-action-icon i {
  line-height: 1;
  display: block;
}

.ds-action.primary,
.ds-action.ds-action-primary {
  background: linear-gradient(135deg, #00d1b2, #009b82);
  border-color: #00d1b2;
  color: #fff;
}

.ds-action.primary .ds-action-icon,
.ds-action.ds-action-primary .ds-action-icon {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.ds-action.primary .ds-action-icon i,
.ds-action.ds-action-primary .ds-action-icon i {
  color: #fff;
}

.ds-action.primary .ds-action-desc,
.ds-action.ds-action-primary .ds-action-desc {
  color: rgba(255, 255, 255, 0.85);
}

.ds-action.warm .ds-action-icon {
  background: #fef3e0;
  color: #f59e0b;
}

.ds-action.warm:active {
  background: #fef3e0;
}

.ds-action.cool .ds-action-icon {
  background: #e0f2fe;
  color: #0ea5e9;
}

.ds-action-title,
.ds-action-label {
  font-size: 10px;
  font-weight: 600;
  color: #0a2540;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.ds-action.primary .ds-action-title,
.ds-action.primary .ds-action-label,
.ds-action.ds-action-primary .ds-action-title,
.ds-action.ds-action-primary .ds-action-label {
  color: #fff;
}

/* Tabs */
.ds-tabs {
  display: flex;
  gap: 2px;
  padding: 12px 14px 4px;
  background: #f6f9fc;
}

.ds-tab {
  flex: 1;
  background: transparent;
  border: none;
  padding: 8px 0;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: #8898aa;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: color 0.1s, border-color 0.1s;
}

.ds-tab .ds-tab-badge {
  background: #fafbfd;
  color: #8898aa;
  font-size: 10.5px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 999px;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  min-width: 16px;
  text-align: center;
}

.ds-tab.active {
  color: #0a2540;
  border-bottom-color: #00d1b2;
}

.ds-tab.active .ds-tab-badge {
  background: #ecfbf7;
  color: #009b82;
}

/* List */
.ds-list {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 24px;
}

.ds-day-head {
  padding: 16px 14px 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: #0a2540;
  text-transform: capitalize;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ds-day-head.today {
  color: #009b82;
}

.ds-day-head .ds-day-mini {
  font-size: 11px;
  font-weight: 500;
  color: #8898aa;
  text-transform: none;
  letter-spacing: 0;
}

/* Time-line row */
.ds-row {
  margin: 6px 14px;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  padding: 10px 12px 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  transition: transform 0.06s, border-color 0.12s;
}

.ds-row:active {
  transform: scale(0.995);
  background: #fafbfd;
}

.ds-row-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  color: #8898aa;
}

.ds-row-time {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-feature-settings: "tnum" 1;
  font-weight: 600;
  color: #0a2540;
  font-size: 12px;
}

.ds-row-dur {
  color: #8898aa;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

.ds-row-user {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.ds-row-user .ds-userav {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 8.5px;
  font-weight: 700;
  font-family: "Inter", system-ui, sans-serif;
  flex-shrink: 0;
}

.ds-row-spacer {
  flex: 1;
}

.ds-row-dur-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px 2px 6px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  text-transform: uppercase;
}

.ds-row-dur-badge .dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.ds-row-dur-badge.logged {
  background: #ecfbf7;
  color: #009b82;
}

.ds-row-dur-badge.logged .dot {
  background: #00d1b2;
}

.ds-row-dur-badge.partial {
  background: #fef3e0;
  color: #b45309;
}

.ds-row-dur-badge.partial .dot {
  background: #f59e0b;
}

.ds-row-dur-badge.empty {
  background: #f6f9fc;
  color: #8898aa;
  border: 1px solid #e3e8ee;
}

.ds-row-dur-badge.empty .dot {
  background: #aab4be;
}

.ds-row-dur-badge.running {
  background: #dbeafe;
  color: #1d4ed8;
}

.ds-row-dur-badge.running .dot {
  background: #2563eb;
  animation: ds-pulse 1.2s infinite;
}

@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}
.ds-row-project {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 14.5px;
  font-weight: 600;
  color: #0a2540;
  line-height: 1.3;
  letter-spacing: -0.005em;
  word-break: break-word;
}

.ds-row-client {
  color: #5b6376;
  font-weight: 500;
}

.ds-row-arrow {
  color: #aab4be;
  font-size: 12px;
}

.ds-row-name {
  color: #0a2540;
}

.ds-row-note {
  font-size: 12.5px;
  color: #8898aa;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: -2px;
}

.ds-row-note i {
  font-size: 13px;
  color: #aab4be;
  padding-top: 2px;
}

.ds-row-actions {
  display: flex;
  gap: 6px;
  margin-top: 4px;
}

.ds-row-actions .ds-action-btn {
  height: 32px;
  padding: 0 12px 0 9px;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 600;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #3c4257;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  font-family: inherit;
}

.ds-row-actions .ds-action-btn i {
  font-size: 15px;
}

.ds-row-actions .ds-action-btn:active {
  transform: scale(0.97);
}

.ds-row-actions .ds-action-btn.go {
  background: #00d1b2;
  border-color: #00d1b2;
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 209, 178, 0.28);
}

.ds-row-actions .ds-action-btn.go:hover {
  background: #00b89a;
}

.ds-row-actions .ds-action-btn.stop {
  background: #df1b41;
  border-color: #df1b41;
  color: #fff;
  box-shadow: 0 1px 2px rgba(223, 27, 65, 0.25);
}

.ds-row-actions .ds-action-btn.ghost {
  color: #5b6376;
  padding: 0 10px;
}

.ds-row-actions .ds-action-btn-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #5b6376;
  display: grid;
  place-items: center;
  font-size: 15px;
  cursor: pointer;
  padding: 0;
}

.ds-row-actions .ds-action-btn-icon:active {
  transform: scale(0.95);
}

.ds-row-actions .ds-spacer {
  flex: 1;
}

.at-sheet {
  max-height: 88%;
}

.at-sheet .sheet-body {
  padding: 8px 0 calc(14px + env(safe-area-inset-bottom));
}

.at-form-card {
  background: #fff;
  margin: 6px 14px;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  overflow: hidden;
}

.at-summary {
  margin: 0 14px 6px;
  padding: 11px 12px;
  background: #ecfbf7;
  border: 1px solid #d4f3ed;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #009b82;
}

.at-summary i {
  font-size: 17px;
}

.at-summary strong {
  color: #0a2540;
  font-weight: 600;
}

.at-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: #eef1f5;
}

.at-grid-2 > .form-row {
  border-bottom: none;
  background: #fff;
}

.at-distance-row {
  align-items: stretch;
  flex-direction: column;
  gap: 6px;
  padding-top: 9px;
  padding-bottom: 9px;
}

.at-distance-row .at-distance-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.at-distance-row .lbl {
  width: auto;
  flex: 1;
}

.at-na-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: #8898aa;
  font-weight: 500;
}

.at-na-toggle .cl-toggle {
  width: 32px;
  height: 19px;
}

.at-na-toggle .cl-toggle-knob {
  width: 15px;
  height: 15px;
}

.at-na-toggle .cl-toggle.on .cl-toggle-knob {
  transform: translateX(13px);
}

.at-distance-row input {
  width: 100%;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 14px;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  -webkit-appearance: none;
  outline: none;
}

.at-distance-row input:focus {
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px #d4f3ed;
}

.at-distance-row input:disabled {
  background: #f6f9fc;
  color: #aab4be;
}

.np-screen {
  display: flex;
  flex-direction: column;
  background: #f6f9fc;
}

.np-tabs {
  display: flex;
  padding: 0 14px;
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
  gap: 16px;
}

.np-tab {
  background: transparent;
  border: none;
  padding: 12px 4px;
  font-size: 13.5px;
  font-weight: 600;
  color: #8898aa;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: inherit;
}

.np-tab.active {
  color: #0a2540;
  border-bottom-color: #00d1b2;
}

.np-tab .step-num {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fafbfd;
  border: 1px solid #e3e8ee;
  color: #8898aa;
  font-size: 10.5px;
  font-weight: 700;
  display: grid;
  place-items: center;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

.np-tab.active .step-num {
  background: #00d1b2;
  border-color: #00d1b2;
  color: #fff;
}

.np-tab .step-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ecfbf7;
  color: #009b82;
  display: grid;
  place-items: center;
  font-size: 13px;
}

.np-client-card {
  margin: 14px 14px 0;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.np-client-card:active {
  background: #fafbfd;
}

.np-client-card.empty {
  border: 1.5px dashed #cdd5df;
  background: transparent;
  color: #8898aa;
}

.np-client-card .np-client-avatar {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.np-client-card.empty .np-client-avatar {
  background: #fafbfd;
  color: #8898aa;
  border: 1px dashed #cdd5df;
}

.np-client-card .body {
  flex: 1;
  min-width: 0;
}

.np-client-card .name {
  font-size: 14.5px;
  font-weight: 600;
  color: #0a2540;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.np-client-card.empty .name {
  color: #5b6376;
  font-weight: 500;
}

.np-client-card .sub {
  font-size: 11.5px;
  color: #8898aa;
  margin-top: 1px;
}

.np-team-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 14px;
}

.np-team-row {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.np-team-row.selected {
  background: #ecfbf7;
  border-color: #a8e5d8;
}

.np-team-row .np-team-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.np-team-row .np-team-name {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  color: #0a2540;
}

.np-team-row .np-team-role {
  font-size: 11.5px;
  color: #8898aa;
  font-weight: 500;
  margin-top: 1px;
}

.np-team-row .np-team-check {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: #fff;
  border: 2px solid #cdd5df;
  flex-shrink: 0;
  display: grid;
  place-items: center;
}

.np-team-row.selected .np-team-check {
  background: #00d1b2;
  border-color: #00d1b2;
  color: #fff;
}

.np-team-row.selected .np-team-check::after {
  content: "";
  width: 9px;
  height: 5px;
  border: 2px solid #fff;
  border-top: none;
  border-right: none;
  transform: rotate(-45deg) translate(0, -1px);
}

.np-team-empty-hint {
  margin: 20px 14px 6px;
  padding: 14px;
  background: #fef3e0;
  border: 1px solid #fde8a4;
  border-radius: 10px;
  display: flex;
  gap: 10px;
  font-size: 12.5px;
  color: #92400e;
  line-height: 1.5;
}

.np-team-empty-hint i {
  font-size: 16px;
  color: #b45309;
  flex-shrink: 0;
  padding-top: 1px;
}

.np-footer-actions {
  background: #fff;
  border-top: 1px solid #e3e8ee;
  padding: 10px 14px calc(14px + env(safe-area-inset-bottom));
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.np-footer-actions .ds-action-btn {
  flex: 1;
  justify-content: center;
  height: 42px;
  padding: 0 14px;
  font-size: 14px;
  border-radius: 10px;
}

.np-footer-actions .ds-action-btn.go {
  box-shadow: 0 2px 6px rgba(0, 209, 178, 0.28);
}

.np-notify-row {
  margin: 0 14px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #3c4257;
}

.np-notify-row .lbl {
  flex: 1;
}

.np-notify-row .sub {
  font-size: 11.5px;
  color: #8898aa;
  margin-top: 1px;
}

.ds-filter-bar {
  padding: 6px 14px 4px;
  display: flex;
  justify-content: flex-end;
}

.ds-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid #e3e8ee;
  border-radius: 999px;
  padding: 5px 12px 5px 10px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: #5b6376;
  cursor: pointer;
  transition: background 0.1s, border-color 0.1s, color 0.1s;
}
.ds-filter-btn:hover {
  background: #fafbfd;
  border-color: #cdd5df;
  color: #0a2540;
}
.ds-filter-btn:active {
  transform: scale(0.97);
}
.ds-filter-btn i {
  font-size: 14px;
}
.ds-filter-btn #filterChevron i {
  font-size: 13px;
  transition: transform 0.18s;
}
.ds-filter-btn.open #filterChevron i {
  transform: rotate(180deg);
}

.dt-dashboard #filterContent {
  margin: 6px 14px 8px;
  padding: 10px 12px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}
.dt-dashboard .filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.dt-dashboard .filter-label {
  font-size: 11px;
  font-weight: 600;
  color: #8898aa;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.dt-dashboard .filter-select {
  flex: 1;
  min-width: 0;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  background: #fff;
  color: #0a2540;
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #8898aa 50%), linear-gradient(135deg, #8898aa 50%, transparent 50%);
  background-position: calc(100% - 14px) 14px, calc(100% - 9px) 14px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 26px;
}
.dt-dashboard .filter-select:hover {
  border-color: #cdd5df;
}
.dt-dashboard .filter-select:focus {
  outline: none;
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px rgba(0, 209, 178, 0.15);
}
.dt-dashboard .filter-clear-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 28px;
  padding: 0 10px;
  border: 1px solid #e3e8ee;
  border-radius: 999px;
  background: transparent;
  color: #5b6376;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}
.dt-dashboard .filter-clear-btn:hover {
  background: #fafbfd;
  border-color: #cdd5df;
  color: #0a2540;
}
.dt-dashboard .filter-clear-btn i {
  font-size: 13px;
}

@media (max-width: 719px) {
  body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-grid {
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
  body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-headers,
  body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-days {
    min-width: 560px !important;
  }
  body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-grid {
    overflow-x: auto !important;
    overflow-y: visible !important;
  }
  body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-days {
    min-width: 560px !important;
  }
}
@media (max-width: 719px) {
  .dt-dashboard .work-tabs-mobile {
    display: flex;
    gap: 4px;
    padding: 8px 14px 4px;
    background: transparent;
  }
  .dt-dashboard .work-tabs-mobile .work-tab {
    flex: 1;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    height: auto;
    min-height: 44px;
    padding: 4px 6px;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
    background: #fff;
    color: #5b6376;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.1s, border-color 0.1s, color 0.1s;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dt-dashboard .work-tabs-mobile .work-tab.is-active {
    background: #00d1b2;
    border-color: #00d1b2;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0, 209, 178, 0.25);
  }
  .dt-dashboard .work-tabs-mobile .work-tab:not(.is-active):hover {
    border-color: #cdd5df;
    color: #0a2540;
  }
  .dt-dashboard .work-tabs-mobile .work-tab .unconfirmed-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #f6f9fc;
    color: #5b6376;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1;
  }
  .dt-dashboard .work-tabs-mobile .work-tab .unconfirmed-badge.is-hidden {
    display: none;
  }
  .dt-dashboard .work-tabs-mobile .work-tab.is-active .unconfirmed-badge {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
  }
}
@media (max-width: 719px) {
  .dt-dashboard .dt-dash-cols {
    display: block;
    padding: 0 12px 12px;
  }
  .dt-dashboard .dt-dash-col {
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
  }
  .dt-dashboard .dt-dash-col.work-tab-content {
    display: none;
  }
  .dt-dashboard .dt-dash-col.work-tab-content.is-active {
    display: block;
  }
  .dt-dashboard .dt-dash-col-head {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #eef1f5;
  }
  .dt-dashboard .dt-dash-col-head .icn {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: grid;
    place-items: center;
    font-size: 13px;
    line-height: 1;
  }
  .dt-dashboard .dt-dash-col-head .icn i {
    line-height: 1;
    display: block;
  }
  .dt-dashboard .dt-dash-col-head.today .icn {
    background: #ecfbf7;
    color: #009b82;
  }
  .dt-dashboard .dt-dash-col-head.upcoming .icn {
    background: #e0f2fe;
    color: #0284c7;
  }
  .dt-dashboard .dt-dash-col-head.latest .icn {
    background: #f6f9fc;
    color: #5b6376;
  }
  .dt-dashboard .dt-dash-col-head .ttl {
    flex: 1;
    font-size: 14px;
    font-weight: 700;
    color: #0a2540;
  }
  .dt-dashboard .dt-dash-col-head .badge {
    background: #f6f9fc;
    color: #5b6376;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: 999px;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  }
  .dt-dashboard .dt-dash-col-head.today .badge {
    background: #ecfbf7;
    color: #009b82;
  }
  .dt-dashboard .dt-dash-rows {
    padding: 4px 0;
  }
  .dt-dashboard .dt-dash-row {
    padding: 10px 14px;
    border-bottom: 1px solid #eef1f5;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .dt-dashboard .dt-dash-row:last-child {
    border-bottom: none;
  }
  .dt-dashboard .dt-dash-row .r1 {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #8898aa;
    flex-wrap: wrap;
  }
  .dt-dashboard .dt-dash-row .r1 .time {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    font-weight: 600;
    color: #0a2540;
    font-size: 13px;
  }
  .dt-dashboard .dt-dash-row .r1 .dur {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  }
  .dt-dashboard .dt-dash-row .r1 .sp {
    flex: 1;
    min-width: 8px;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 1px 7px 1px 5px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur .dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.logged {
    background: #ecfbf7;
    color: #009b82;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.logged .dot {
    background: #00d1b2;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.running {
    background: #dbeafe;
    color: #1d4ed8;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.running .dot {
    background: #2563eb;
    animation: ds-pulse 1.2s infinite;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.partial {
    background: #fef3e0;
    color: #b45309;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.partial .dot {
    background: #f59e0b;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.empty {
    background: #f6f9fc;
    color: #8898aa;
    border: 1px solid #e3e8ee;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.empty .dot {
    background: #aab4be;
  }
  .dt-dashboard .dt-dash-row .r2 {
    font-size: 14px;
    font-weight: 600;
    color: #0a2540;
    line-height: 1.3;
  }
  .dt-dashboard .dt-dash-row .r2 .client {
    color: #5b6376;
    font-weight: 500;
  }
  .dt-dashboard .dt-dash-row .r2 .sep {
    color: #aab4be;
    margin: 0 4px;
  }
  .dt-dashboard .dt-dash-row .r2 .user-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 10px;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
    vertical-align: middle;
  }
  .dt-dashboard .dt-dash-row .r3 {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 4px;
    flex-wrap: wrap;
  }
  .dt-dashboard .dt-dash-row .r3 button {
    height: 30px;
    padding: 0 12px 0 9px;
    border-radius: 6px;
    border: 1px solid #e3e8ee;
    background: #fff;
    color: #5b6376;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: inherit;
  }
  .dt-dashboard .dt-dash-row .r3 button i {
    font-size: 14px;
  }
  .dt-dashboard .dt-dash-row .r3 button.start {
    background: #00d1b2;
    border-color: #00d1b2;
    color: #fff;
  }
  .dt-dashboard .dt-dash-row .r3 button.stop {
    background: #df1b41;
    border-color: #df1b41;
    color: #fff;
  }
  .dt-dashboard .dt-dash-row .r3 button:active {
    transform: scale(0.97);
  }
  .dt-dashboard .dt-dash-empty {
    padding: 24px;
    text-align: center;
    font-size: 13px;
    color: #8898aa;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}
.dt-dashboard .loading-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(246, 249, 252, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 20000;
  justify-content: center;
  align-items: center;
}
.dt-dashboard .loading-overlay.is-open {
  display: flex;
}
.dt-dashboard .loading-content {
  background: #ffffff;
  border: 1px solid #e3e8ee;
  border-radius: 18px;
  box-shadow: 0 4px 14px rgba(10, 37, 64, 0.08);
  padding: 30px 34px;
  text-align: center;
  max-width: 320px;
}
.dt-dashboard .loading-title {
  margin: 18px 0 6px;
  font-size: 17px;
  font-weight: 700;
  color: #0a2540;
}
.dt-dashboard .loading-title i {
  color: #00d1b2;
}
.dt-dashboard .loading-message {
  margin: 0;
  font-size: 13px;
  color: #8898aa;
}
.dt-dashboard .scan2-spinner {
  width: 46px;
  height: 46px;
  margin: 0 auto;
  border-radius: 50%;
  border: 4px solid #d4f3ed;
  border-top-color: #00d1b2;
  animation: scan2-spin 0.8s linear infinite;
}
.dt-dashboard .cal-modal,
.dt-dashboard #calSyncModal,
.dt-dashboard #calendarSyncResults {
  display: none;
}
.dt-dashboard .cal-modal.is-open,
.dt-dashboard #calSyncModal.is-open {
  display: block;
}

/* ── Scan sheets (Receipt / Client) — streamlined dropzone UI ──────────
 * Panes live inside .proto-sheet, which JS appends to <body>, so these
 * rules are global (not scoped under .dt-dashboard).
 */
@keyframes scan2-spin {
  to {
    transform: rotate(360deg);
  }
}
.scan2-pane {
  display: none;
}

.scan2-pane.is-active {
  display: flex;
  flex-direction: column;
}

/* Client / Prospect segmented control (Scan Client only) */
.scan2-typebar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.scan2-type-label {
  font-size: 13px;
  font-weight: 600;
  color: #5b6376;
}

.scan2-segment {
  display: inline-flex;
  background: #f6f9fc;
  border: 1px solid #e3e8ee;
  border-radius: 10px;
  padding: 3px;
  gap: 3px;
}

.scan2-seg-btn {
  border: none;
  background: transparent;
  border-radius: 7px;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #5b6376;
  font-family: inherit;
  cursor: pointer;
}
.scan2-seg-btn.is-active {
  background: #ffffff;
  color: #0a2540;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

/* Dropzone entry */
.scan2-dropzone {
  align-items: center;
  gap: 6px;
  text-align: center;
  border: 2px dashed #a8e5d8;
  background: #ecfbf7;
  border-radius: 18px;
  padding: 30px 18px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.scan2-dropzone.is-dragover {
  background: #d4f3ed;
  border-color: #00d1b2;
}

.scan2-dz-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #ffffff;
  color: #009b82;
  font-size: 27px;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
  margin-bottom: 4px;
}
.scan2-dz-icon i {
  line-height: 1;
}

.scan2-dz-title {
  font-size: 15px;
  font-weight: 700;
  color: #0a2540;
}

.scan2-dz-hint {
  font-size: 12px;
  color: #8898aa;
}

.scan2-dz-or {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 220px;
  margin: 8px 0 2px;
  color: #8898aa;
  font-size: 12px;
}
.scan2-dz-or::before, .scan2-dz-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e3e8ee;
}

.scan2-cam-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid #cdd5df;
  border-radius: 10px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #3c4257;
  font-family: inherit;
  cursor: pointer;
}
.scan2-cam-btn i {
  font-size: 18px;
  color: #009b82;
}
.scan2-cam-btn:hover {
  border-color: #00d1b2;
}

/* Camera pane */
.scan2-camera {
  gap: 14px;
}

.scan2-video {
  position: relative;
  width: 100%;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
}
.scan2-video.receipt {
  aspect-ratio: 0.7/1;
}
.scan2-video.card {
  aspect-ratio: 1.6/1;
}
.scan2-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.scan2-cam-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.scan2-shutter {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #00d1b2;
  border: 4px solid #ffffff;
  box-shadow: 0 0 0 2px #00d1b2, 0 4px 14px rgba(10, 37, 64, 0.08);
  color: #fff;
  font-size: 26px;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.scan2-shutter i {
  line-height: 1;
}
.scan2-shutter:active {
  transform: scale(0.95);
}

.scan2-cam-spacer {
  width: 64px;
}

/* Confirm / preview pane */
.scan2-preview {
  gap: 12px;
}

.scan2-preview-frame {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  background: #f6f9fc;
  border: 1px solid #e3e8ee;
}
.scan2-preview-frame img {
  width: 100%;
  display: block;
}

.scan2-cta {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #00d1b2;
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 14px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 209, 178, 0.35);
}
.scan2-cta i {
  font-size: 18px;
}
.scan2-cta:hover {
  background: #00b89a;
}
.scan2-cta:disabled {
  opacity: 0.6;
  cursor: default;
}

.scan2-ghost-btn {
  background: transparent;
  border: none;
  color: #5b6376;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.scan2-ghost-btn:hover {
  color: #0a2540;
}

.scan2-retake {
  align-self: center;
}

/* Inline error (set by scan AJAX failure) */
.scan2-status {
  margin-top: 12px;
}

.scan2-status .scan-inline-error {
  color: #df1b41;
  background: #fdebef;
  border-radius: 10px;
  padding: 12px;
  font-size: 13px;
  text-align: center;
}

/* Dashboard desktop (≥720px) — .dt-page-head, .dt-dash-cols.
 *
 * Sidebar styles already live in _desktopv2.scss; this partial only
 * adds the dashboard-specific layout above the sidebar/topbar already
 * provided.
 *
 * Source: .admin/tmp/handoff/desktop.css
 *   Lines 96–136   : .dt-page-head block
 *   Lines 1099–1205 : .dt-dash-cols block (excl. .dt-dash-stats 1059–1097, deferred)
 */
@media (min-width: 720px) {
  .dt-dashboard .ds-filter-bar {
    display: none;
  }
  .dt-dashboard .dt-dash-head .filter-toggle-btn .filter-chevron {
    display: inline-flex;
    align-items: center;
    margin-left: 2px;
  }
  .dt-dashboard .dt-page-head {
    padding: 22px 28px 14px;
    display: flex;
    align-items: end;
    gap: 14px;
    flex-shrink: 0;
  }
  .dt-dashboard .dt-page-head h1 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #0a2540;
    margin: 0;
    line-height: 1.1;
  }
  .dt-dashboard .dt-page-head .sub {
    font-size: 13px;
    color: #8898aa;
    margin-top: 4px;
  }
  .dt-dashboard .dt-page-head .sp {
    flex: 1;
  }
  .dt-dashboard .dt-page-head .btn {
    height: 34px;
    padding: 0 13px;
    border-radius: 7px;
    border: 1px solid #e3e8ee;
    background: #fff;
    color: #3c4257;
    font-size: 13px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    font-family: inherit;
  }
  .dt-dashboard .dt-page-head .btn:hover {
    background: #f6f9fc;
    border-color: #cdd5df;
  }
  .dt-dashboard .dt-page-head .btn i {
    font-size: 15px;
  }
  .dt-dashboard .dt-page-head .btn.primary {
    background: #00d1b2;
    border-color: #00d1b2;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 209, 178, 0.28);
  }
  .dt-dashboard .dt-page-head .btn.primary:hover {
    background: #00b89a;
    border-color: #00b89a;
  }
  .dt-dashboard .dt-dash-head {
    padding: 22px 16px 18px 0;
    display: flex;
    align-items: end;
    gap: 12px;
  }
  .dt-dashboard .dt-dash-head h1 {
    font-size: 22px;
    font-weight: 700;
    color: #0a2540;
    letter-spacing: -0.02em;
    margin: 0;
  }
  .dt-dashboard .dt-dash-head .sub {
    font-size: 13px;
    color: #8898aa;
    text-transform: capitalize;
  }
  .dt-dashboard .dt-dash-head .sp {
    flex: 1;
  }
  .dt-dashboard .dt-dash-head .dt-head-btn {
    height: 34px;
    padding: 0 13px;
    border-radius: 7px;
    border: 1px solid #e3e8ee;
    background: #fff;
    color: #3c4257;
    font-size: 13px;
    font-weight: 500;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
    white-space: nowrap;
  }
  .dt-dashboard .dt-dash-head .dt-head-btn:hover {
    background: #f6f9fc;
    border-color: #cdd5df;
  }
  .dt-dashboard .dt-dash-head .dt-head-btn > i {
    font-size: 15px;
    line-height: 1;
    flex-shrink: 0;
  }
  .dt-dashboard .dt-dash-head .dt-head-btn > span {
    font-size: 13px;
    line-height: 1;
  }
  .dt-dashboard .dt-dash-head .dt-head-btn--primary {
    background: #00d1b2;
    border-color: #00d1b2;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 209, 178, 0.28);
  }
  .dt-dashboard .dt-dash-head .dt-head-btn--primary > i {
    color: #fff;
  }
  .dt-dashboard .dt-dash-head .dt-head-btn--primary:hover {
    background: #00b89a;
    border-color: #00b89a;
  }
  .dt-dashboard .dt-dash-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    padding: 0 0 18px;
  }
  .dt-dashboard .dt-stat-card {
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .dt-dashboard .dt-stat-card .k {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #8898aa;
  }
  .dt-dashboard .dt-stat-card .v {
    font-size: 22px;
    font-weight: 700;
    color: #0a2540;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.018em;
    line-height: 1.1;
  }
  .dt-dashboard .dt-stat-card .delta {
    font-size: 11.5px;
    color: #009b82;
    display: inline-flex;
    align-items: center;
    gap: 3px;
  }
  .dt-dashboard .dt-stat-card .delta.down {
    color: #df1b41;
  }
  .dt-dashboard .dt-stat-card .delta.muted {
    color: #8898aa;
  }
  .dt-dashboard .dt-stat-card .delta i {
    font-size: 13px;
  }
  .dt-dashboard .ds-actions-wrap,
  .dt-dashboard .work-tabs-mobile {
    display: none;
  }
  .dt-dashboard .work-tab-content {
    display: block !important;
  }
  .dt-dashboard .dt-dash-cols {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 14px;
    padding: 0;
  }
  .dt-dashboard .dt-dash-cols.dt-dash-cols--admin {
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
  }
  .dt-dashboard .dt-dash-col {
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }
  .dt-dashboard .dt-dash-col-head {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #eef1f5;
    flex-shrink: 0;
  }
  .dt-dashboard .dt-dash-col-head .icn {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: grid;
    place-items: center;
    font-size: 13px;
    line-height: 1;
  }
  .dt-dashboard .dt-dash-col-head .icn i {
    line-height: 1;
    display: block;
  }
  .dt-dashboard .dt-dash-col-head.today .icn {
    background: #ecfbf7;
    color: #009b82;
  }
  .dt-dashboard .dt-dash-col-head.upcoming .icn {
    background: #e0f2fe;
    color: #0284c7;
  }
  .dt-dashboard .dt-dash-col-head.latest .icn {
    background: #f6f9fc;
    color: #5b6376;
  }
  .dt-dashboard .dt-dash-col-head.unconfirmed .icn {
    background: #fef3c7;
    color: #b45309;
  }
  .dt-dashboard .dt-dash-col-head .ttl {
    flex: 1;
    font-size: 13px;
    font-weight: 700;
    color: #0a2540;
    letter-spacing: -0.005em;
  }
  .dt-dashboard .dt-dash-col-head .badge {
    background: #f6f9fc;
    color: #5b6376;
    font-size: 11px;
    font-weight: 700;
    padding: 1px 8px;
    border-radius: 999px;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  }
  .dt-dashboard .dt-dash-col-head.today .badge {
    background: #ecfbf7;
    color: #009b82;
  }
  .dt-dashboard .dt-dash-rows {
    flex: 1;
    overflow-y: auto;
    padding: 6px 0;
  }
  .dt-dashboard .dt-dash-row {
    padding: 10px 14px;
    border-bottom: 1px solid #eef1f5;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: background 0.07s;
  }
  .dt-dashboard .dt-dash-row:last-child {
    border-bottom: none;
  }
  .dt-dashboard .dt-dash-row:hover {
    background: #f6fbfa;
  }
  .dt-dashboard .dt-dash-row .r1 {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: #8898aa;
  }
  .dt-dashboard .dt-dash-row .r1 .time {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    font-weight: 600;
    color: #0a2540;
    font-size: 12px;
  }
  .dt-dashboard .dt-dash-row .r1 .dur {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  }
  .dt-dashboard .dt-dash-row .r1 .sp {
    flex: 1;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 1px 7px 1px 5px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur .dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.logged {
    background: #ecfbf7;
    color: #009b82;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.logged .dot {
    background: #00d1b2;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.running {
    background: #dbeafe;
    color: #1d4ed8;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.running .dot {
    background: #2563eb;
    animation: ds-pulse 1.2s infinite;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.partial {
    background: #fef3e0;
    color: #b45309;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.partial .dot {
    background: #f59e0b;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.empty {
    background: #f6f9fc;
    color: #8898aa;
    border: 1px solid #e3e8ee;
  }
  .dt-dashboard .dt-dash-row .r1 .badge-dur.empty .dot {
    background: #aab4be;
  }
  .dt-dashboard .dt-dash-row .r2 {
    font-size: 13px;
    font-weight: 600;
    color: #0a2540;
    line-height: 1.25;
  }
  .dt-dashboard .dt-dash-row .r2 .client {
    color: #5b6376;
    font-weight: 500;
  }
  .dt-dashboard .dt-dash-row .r2 .sep {
    color: #aab4be;
    margin: 0 4px;
  }
  .dt-dashboard .dt-dash-row .r2 .user-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    padding: 0 4px;
    border-radius: 6px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
    vertical-align: -5px;
  }
  .dt-dashboard .dt-dash-row .r2 .user-name {
    margin-left: 8px;
    color: #5b6376;
    font-weight: 400;
    font-size: 12px;
  }
  .dt-dashboard .dt-dash-row .r3 {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 2px;
  }
  .dt-dashboard .dt-dash-row .r3 button {
    height: 26px;
    padding: 0 10px 0 7px;
    border-radius: 5px;
    border: 1px solid #e3e8ee;
    background: #fff;
    color: #5b6376;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: inherit;
  }
  .dt-dashboard .dt-dash-row .r3 button i {
    font-size: 13px;
  }
  .dt-dashboard .dt-dash-row .r3 button.start {
    background: #00d1b2;
    border-color: #00d1b2;
    color: #fff;
  }
  .dt-dashboard .dt-dash-row .r3 button.stop {
    background: #df1b41;
    border-color: #df1b41;
    color: #fff;
  }
  .dt-dashboard .dt-dash-row .r3 button:hover {
    transform: translateY(-1px);
  }
  .dt-dashboard .dt-dash-empty {
    padding: 24px;
    text-align: center;
    font-size: 12.5px;
    color: #8898aa;
  }
  .dt-dashboard .ds-tabs {
    display: none;
  }
  .dt-dashboard .ds-tab-panel {
    display: block !important;
  }
}
@media (min-width: 720px) and (max-width: 980px) {
  .dt-dashboard .dt-dash-cols,
  .dt-dashboard .dt-dash-cols.dt-dash-cols--admin {
    grid-template-columns: 1fr 1fr;
  }
  .dt-dashboard .dt-dash-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 719px) {
  .dt-dashboard .dt-dash-head,
  .dt-dashboard .dt-dash-stats {
    display: none;
  }
}
@media (min-width: 720px) {
  body:has(.dt-dashboard) .sw-header .toggle-menu {
    display: none;
  }
  body:has(.dt-dashboard) .proto-sheet,
  body:has(.dt-dashboard) .proto-screen {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: 520px !important;
    max-width: 92vw !important;
    max-height: none !important;
    background: #fff !important;
    border-left: 1px solid #e3e8ee !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 130 !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateX(100%) !important;
    transition: transform 0.24s cubic-bezier(0.32, 0.72, 0.32, 1) !important;
  }
  body:has(.dt-dashboard) .proto-sheet.open,
  body:has(.dt-dashboard) .proto-screen:not([aria-hidden=true]) {
    transform: translateX(0) !important;
    box-shadow: -12px 0 40px rgba(10, 37, 64, 0.12) !important;
  }
  body:has(.dt-dashboard) .proto-screen[aria-hidden=true] {
    transform: translateX(100%) !important;
    pointer-events: none;
  }
}
body:has(.dt-dashboard) .proto-dim {
  position: fixed;
  inset: 0;
  background: rgba(10, 37, 64, 0.26);
  z-index: 55;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}
body:has(.dt-dashboard) .proto-dim.open {
  opacity: 1;
  pointer-events: auto;
}
body:has(.dt-dashboard) .proto-sheet .sheet-head,
body:has(.dt-dashboard) .proto-screen .screen-head,
body:has(.dt-dashboard) .proto-screen header {
  padding: 12px 16px;
  border-bottom: 1px solid #e3e8ee;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .proto-sheet .sheet-body,
body:has(.dt-dashboard) .proto-screen .screen-body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 22px 28px;
}
body:has(.dt-dashboard) .proto-sheet .sheet-handle {
  display: none;
}
body:has(.dt-dashboard) .proto-sheet .sheet-close,
body:has(.dt-dashboard) .proto-screen .screen-close,
body:has(.dt-dashboard) .proto-screen .np-back,
body:has(.dt-dashboard) .proto-screen .nav-back {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: none;
  background: #f6f9fc;
  color: #5b6376;
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 17px;
}
body:has(.dt-dashboard) .proto-sheet .sheet-close:hover,
body:has(.dt-dashboard) .proto-screen .screen-close:hover,
body:has(.dt-dashboard) .proto-screen .np-back:hover,
body:has(.dt-dashboard) .proto-screen .nav-back:hover {
  background: #fdebef;
  color: #df1b41;
}
body:has(.dt-dashboard) .proto-sheet .sheet-card,
body:has(.dt-dashboard) .proto-screen {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body:has(.dt-dashboard) .proto-sheet .sheet-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #e3e8ee;
  background: #fff;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .proto-sheet .sheet-grip {
  display: none;
}
body:has(.dt-dashboard) .proto-screen .form-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #e3e8ee;
  background: #fff;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .proto-screen .form-nav .nav-title {
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.01em;
  margin: 0;
}
body:has(.dt-dashboard) .proto-screen .form-nav .nav-back {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: none;
  background: #f6f9fc;
  color: #5b6376;
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 16px;
}
body:has(.dt-dashboard) .proto-screen .form-nav .nav-back:hover {
  background: #eef1f5;
  color: #0a2540;
}
body:has(.dt-dashboard) .proto-screen .form-nav .nav-save {
  height: 32px;
  padding: 0 14px;
  border-radius: 6px;
  border: none;
  background: #00d1b2;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0, 209, 178, 0.25);
}
body:has(.dt-dashboard) .proto-screen .form-nav .nav-save:hover {
  background: #00b89a;
}
body:has(.dt-dashboard) .proto-sheet .sheet-body,
body:has(.dt-dashboard) .proto-screen .form-body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 22px 28px;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid #e3e8ee;
  background: #fff;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .proto-sheet .sheet-title {
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  color: #0a2540;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -0.01em;
}
body:has(.dt-dashboard) .proto-sheet .sheet-save {
  height: 32px;
  padding: 0 14px;
  border-radius: 6px;
  border: none;
  background: #00d1b2;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 1px 3px rgba(0, 209, 178, 0.25);
}
body:has(.dt-dashboard) .proto-sheet .sheet-save:hover {
  background: #00b89a;
}
body:has(.dt-dashboard) .proto-sheet .sheet-save:disabled {
  opacity: 0.6;
  cursor: default;
}
body:has(.dt-dashboard) .proto-sheet .at-job-tabs {
  display: flex;
  gap: 4px;
  padding: 8px 12px;
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
  flex-shrink: 0;
  overflow-x: auto;
}
body:has(.dt-dashboard) .proto-sheet .at-job-tabs .at-job-tab {
  flex: 1 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #5b6376;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.1s, color 0.1s, border-color 0.1s;
}
body:has(.dt-dashboard) .proto-sheet .at-job-tabs .at-job-tab:hover:not(.is-active) {
  background: #fafbfd;
  color: #0a2540;
}
body:has(.dt-dashboard) .proto-sheet .at-job-tabs .at-job-tab.is-active {
  background: #ecfbf7;
  color: #009b82;
  border-color: rgba(0, 209, 178, 0.35);
}
body:has(.dt-dashboard) .proto-sheet .modal-form-group,
body:has(.dt-dashboard) .proto-screen .modal-form-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}
body:has(.dt-dashboard) .proto-sheet .modal-form-group .modal-label,
body:has(.dt-dashboard) .proto-screen .modal-form-group .modal-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8898aa;
  display: flex;
  align-items: center;
  gap: 8px;
}
body:has(.dt-dashboard) .proto-sheet .modal-form-group .modal-label-optional,
body:has(.dt-dashboard) .proto-screen .modal-form-group .modal-label-optional {
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #aab4be;
}
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .modal-input,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > select.modal-select,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > textarea.modal-input,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > input.modal-input,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .address-search-container input.modal-input,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .address-search-container textarea.modal-input,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .modal-input,
body:has(.dt-dashboard) .proto-screen .modal-form-group > select.modal-select,
body:has(.dt-dashboard) .proto-screen .modal-form-group > textarea.modal-input,
body:has(.dt-dashboard) .proto-screen .modal-form-group > input.modal-input,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .address-search-container input.modal-input,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .address-search-container textarea.modal-input {
  width: 100%;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  background: #fff;
  padding: 9px 11px;
  font-size: 13.5px;
  color: #0a2540;
  outline: none;
  box-shadow: none;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color 0.12s, box-shadow 0.12s;
}
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .modal-input:hover,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > select.modal-select:hover,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > textarea.modal-input:hover,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > input.modal-input:hover,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .address-search-container input.modal-input:hover,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .address-search-container textarea.modal-input:hover,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .modal-input:hover,
body:has(.dt-dashboard) .proto-screen .modal-form-group > select.modal-select:hover,
body:has(.dt-dashboard) .proto-screen .modal-form-group > textarea.modal-input:hover,
body:has(.dt-dashboard) .proto-screen .modal-form-group > input.modal-input:hover,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .address-search-container input.modal-input:hover,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .address-search-container textarea.modal-input:hover {
  border-color: #8898aa;
}
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .modal-input:focus,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > select.modal-select:focus,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > textarea.modal-input:focus,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > input.modal-input:focus,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .address-search-container input.modal-input:focus,
body:has(.dt-dashboard) .proto-sheet .modal-form-group > .address-search-container textarea.modal-input:focus,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .modal-input:focus,
body:has(.dt-dashboard) .proto-screen .modal-form-group > select.modal-select:focus,
body:has(.dt-dashboard) .proto-screen .modal-form-group > textarea.modal-input:focus,
body:has(.dt-dashboard) .proto-screen .modal-form-group > input.modal-input:focus,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .address-search-container input.modal-input:focus,
body:has(.dt-dashboard) .proto-screen .modal-form-group > .address-search-container textarea.modal-input:focus {
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px #ecfbf7;
}
body:has(.dt-dashboard) .proto-sheet .modal-form-group textarea.modal-input,
body:has(.dt-dashboard) .proto-screen .modal-form-group textarea.modal-input {
  min-height: 64px;
  resize: vertical;
}
body:has(.dt-dashboard) .proto-sheet .dashboard-inline-row,
body:has(.dt-dashboard) .proto-screen .dashboard-inline-row {
  display: flex;
  gap: 10px;
  align-items: flex-end;
}
body:has(.dt-dashboard) .proto-sheet .dashboard-inline-row .modal-form-group,
body:has(.dt-dashboard) .proto-screen .dashboard-inline-row .modal-form-group {
  flex: 1;
  margin-bottom: 14px;
}
body:has(.dt-dashboard) .proto-sheet .dashboard-inline-row.dashboard-inline-row-align-center,
body:has(.dt-dashboard) .proto-screen .dashboard-inline-row.dashboard-inline-row-align-center {
  align-items: center;
}
body:has(.dt-dashboard) .dashboard-user-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body:has(.dt-dashboard) .dash-team-user-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  background: #fff;
}
body:has(.dt-dashboard) .dash-team-user-row--conflict {
  border-color: #f59e0b;
  background: #fef3e0;
}
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-row-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].cp-user-cb,
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].ep-user-cb {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px;
  margin: 0 !important;
  padding: 0;
  opacity: 1 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
  flex-shrink: 0;
  background: #fff;
  position: static !important;
  z-index: 1 !important;
  border: 2px solid #8898aa !important;
  border-radius: 5px;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.08);
  transition: background 0.12s, border-color 0.12s, box-shadow 0.12s;
  display: inline-block !important;
}
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].cp-user-cb:hover,
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].ep-user-cb:hover {
  border-color: #00d1b2 !important;
}
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].cp-user-cb:focus,
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].ep-user-cb:focus {
  border-color: #00d1b2 !important;
  outline: none;
  box-shadow: 0 0 0 3px #ecfbf7;
}
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].cp-user-cb:checked,
body:has(.dt-dashboard) .dash-team-user-row input[type=checkbox].ep-user-cb:checked {
  background: #00d1b2;
  border-color: #00d1b2 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'><polyline points='5,12 10,17 19,7'/></svg>");
  background-size: 16px 16px;
  background-position: center;
  background-repeat: no-repeat;
}
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-cb-label {
  display: none;
}
body:has(.dt-dashboard) .dash-team-user-row .user-badge {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-name {
  flex: 1;
  font-size: 13.5px;
  font-weight: 500;
  color: #0a2540;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-name.is-busy {
  color: #b45309;
  font-weight: 600;
}
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-time {
  width: 110px !important;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-duration {
  width: 78px !important;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-note,
body:has(.dt-dashboard) .dash-team-user-row .dashboard-user-location {
  width: 100% !important;
}
body:has(.dt-dashboard) .dash-team-user-row input.modal-input {
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  background: #fff;
  padding: 6px 9px;
  font-size: 12.5px;
  color: #0a2540;
  outline: none;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color 0.12s, box-shadow 0.12s;
}
body:has(.dt-dashboard) .dash-team-user-row input.modal-input:hover {
  border-color: #8898aa;
}
body:has(.dt-dashboard) .dash-team-user-row input.modal-input:focus {
  border-color: #00d1b2;
  box-shadow: 0 0 0 3px #ecfbf7;
}
body:has(.dt-dashboard) .dash-team-user-row .tl-conflict-note {
  font-size: 11.5px;
  color: #b45309;
  display: flex;
  gap: 5px;
  align-items: center;
}
body:has(.dt-dashboard) .dash-team-user-row .tl-conflict-note .tl-conflict-icon {
  font-size: 13px;
}
body:has(.dt-dashboard) .dash-team-user-row .tl-conflict-note.is-hidden {
  display: none;
}
body:has(.dt-dashboard) .proto-screen .cp-tabs {
  display: flex;
  gap: 4px;
  padding: 8px 12px;
  background: #fff;
  border-bottom: 1px solid #e3e8ee;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .proto-screen .cp-tabs .cp-tab {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #5b6376;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.1s, color 0.1s, border-color 0.1s;
}
body:has(.dt-dashboard) .proto-screen .cp-tabs .cp-tab i {
  font-size: 14px;
}
body:has(.dt-dashboard) .proto-screen .cp-tabs .cp-tab:hover:not(.is-active) {
  background: #fafbfd;
  color: #0a2540;
}
body:has(.dt-dashboard) .proto-screen .cp-tabs .cp-tab.is-active {
  background: #ecfbf7;
  color: #009b82;
  border-color: rgba(0, 209, 178, 0.35);
}
body:has(.dt-dashboard) .proto-screen .cp-step {
  display: none;
}
body:has(.dt-dashboard) .proto-screen .cp-step.is-active {
  display: block;
}
body:has(.dt-dashboard) .proto-screen .ep-submit-overlay {
  display: none;
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  z-index: 10;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
body:has(.dt-dashboard) .proto-screen .ep-submit-overlay.is-open {
  display: flex;
}
body:has(.dt-dashboard) .ep-submit-overlay-card {
  max-width: 360px;
  width: 100%;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(10, 37, 64, 0.12);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
body:has(.dt-dashboard) .ep-overlay-spinner {
  font-size: 28px;
  color: #00d1b2;
}
body:has(.dt-dashboard) .ep-overlay-spinner .ri-spin {
  display: inline-block;
  animation: ep-spin 0.9s linear infinite;
}
@keyframes ep-spin {
  to {
    transform: rotate(360deg);
  }
}
body:has(.dt-dashboard) .ep-overlay-message {
  font-size: 13px;
  color: #5b6376;
  line-height: 1.4;
}
body:has(.dt-dashboard) .ep-overlay-message--success {
  color: #009b82;
  font-weight: 600;
}
body:has(.dt-dashboard) .ep-overlay-message--error {
  color: #df1b41;
  font-weight: 600;
}
body:has(.dt-dashboard) .ep-overlay-close-btn {
  height: 30px;
  padding: 0 14px;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  background: #fff;
  color: #3c4257;
  font-family: inherit;
  font-size: 12.5px;
  cursor: pointer;
}
body:has(.dt-dashboard) .ep-overlay-close-btn:hover {
  background: #f6f9fc;
  border-color: #cdd5df;
}
body:has(.dt-dashboard) .proto-screen {
  position: relative;
}
body:has(.dt-dashboard) .proto-screen .ep-full-edit-link {
  color: #8898aa;
  font-size: 14px;
  margin-left: 4px;
  text-decoration: none;
}
body:has(.dt-dashboard) .proto-screen .ep-full-edit-link:hover {
  color: #009b82;
}
body:has(.dt-dashboard) .dt-dash-row .r3 [data-act=edit-project] {
  width: 28px;
  padding: 0;
  justify-content: center;
}
body:has(.dt-dashboard) .dt-dash-row .r3 [data-act=edit-project] i {
  font-size: 14px;
  margin: 0;
}
body:has(.dt-dashboard) .proto-sheet .modal-status,
body:has(.dt-dashboard) .proto-screen .modal-status {
  margin-top: 12px;
  padding: 0;
  font-size: 12.5px;
  line-height: 1.4;
}
body:has(.dt-dashboard) .proto-sheet .modal-status:empty,
body:has(.dt-dashboard) .proto-screen .modal-status:empty {
  display: none;
}
body:has(.dt-dashboard) .proto-sheet .modal-status:not(:empty),
body:has(.dt-dashboard) .proto-screen .modal-status:not(:empty) {
  padding: 9px 12px;
  border-radius: 6px;
  background: #fdebef;
  color: #df1b41;
  border: 1px solid rgba(223, 27, 65, 0.2);
}
body:has(.dt-dashboard) .proto-sheet .modal-status .status-success-text,
body:has(.dt-dashboard) .proto-screen .modal-status .status-success-text {
  color: #009b82;
}
body:has(.dt-dashboard) .proto-sheet .modal-status .status-error-text,
body:has(.dt-dashboard) .proto-screen .modal-status .status-error-text {
  color: #df1b41;
}
body:has(.dt-dashboard) .proto-sheet .modal-status:has(.status-success-text),
body:has(.dt-dashboard) .proto-screen .modal-status:has(.status-success-text) {
  background: #ecfbf7;
  color: #009b82;
  border-color: rgba(0, 209, 178, 0.25);
}
body:has(.dt-dashboard) .proto-screen .modal-status--floating {
  flex-shrink: 0;
  margin: 0;
  border-radius: 0;
  border: none;
  border-top: 1px solid transparent;
}
body:has(.dt-dashboard) .proto-screen .modal-status--floating:empty {
  display: none;
}
body:has(.dt-dashboard) .proto-screen .modal-status--floating:not(:empty) {
  padding: 10px 16px;
  border-top-color: rgba(223, 27, 65, 0.3);
}
body:has(.dt-dashboard) .proto-screen .modal-status--floating:has(.status-success-text):not(:empty) {
  border-top-color: rgba(0, 209, 178, 0.3);
}
body:has(.dt-dashboard) .proto-screen .np-foot {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding: 14px 0 0;
  border-top: 1px solid #eef1f5;
  margin-top: 14px;
}
body:has(.dt-dashboard) .proto-screen .np-foot .dashboard-notify-row {
  margin-right: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: #5b6376;
}
body:has(.dt-dashboard) .proto-screen .np-foot .dashboard-notify-row input[type=checkbox] {
  width: 14px;
  height: 14px;
  accent-color: #00d1b2;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot .btn-link,
body:has(.dt-dashboard) .proto-screen .np-foot .btn-link {
  height: 34px;
  padding: 0 14px;
  border-radius: 6px;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #3c4257;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot .btn-link:hover,
body:has(.dt-dashboard) .proto-screen .np-foot .btn-link:hover {
  background: #f6f9fc;
  border-color: #cdd5df;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot .btn-primary,
body:has(.dt-dashboard) .proto-screen .btn-primary,
body:has(.dt-dashboard) .proto-screen .modal-save-btn {
  height: 34px;
  padding: 0 16px;
  border-radius: 6px;
  border: none;
  background: #00d1b2;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 1px 3px rgba(0, 209, 178, 0.25);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot .btn-primary:hover,
body:has(.dt-dashboard) .proto-screen .btn-primary:hover,
body:has(.dt-dashboard) .proto-screen .modal-save-btn:hover {
  background: #00b89a;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot .btn-danger {
  height: 34px;
  padding: 0 16px;
  border-radius: 6px;
  border: 1px solid #e3b6b6;
  background: #fff;
  color: #d45e5e;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot .btn-danger:hover {
  background: #fdf0f0;
  border-color: #d99;
}
body:has(.dt-dashboard) .proto-sheet .sheet-foot .btn-danger:disabled {
  opacity: 0.6;
  cursor: default;
}
body:has(.dt-dashboard) .proto-screen .cp-new-client-btn,
body:has(.dt-dashboard) .proto-screen .modal-cancel-btn {
  height: 32px;
  padding: 0 12px;
  border-radius: 6px;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #3c4257;
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .proto-screen .cp-new-client-btn:hover,
body:has(.dt-dashboard) .proto-screen .modal-cancel-btn:hover {
  background: #f6f9fc;
  border-color: #cdd5df;
}
body:has(.dt-dashboard) .proto-screen .modal-cancel-btn {
  color: #df1b41;
  border-color: rgba(223, 27, 65, 0.2);
}
body:has(.dt-dashboard) .proto-screen .cp-new-client-form {
  margin: 8px 0 18px;
  padding: 14px;
  border: 1px solid #eef1f5;
  border-radius: 8px;
  background: #fafbfd;
}
body:has(.dt-dashboard) .proto-screen .cp-new-client-form.is-hidden {
  display: none;
}
body:has(.dt-dashboard) .proto-screen .cp-new-client-form-title {
  font-size: 13px;
  font-weight: 600;
  color: #0a2540;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
body:has(.dt-dashboard) .proto-screen .cp-new-client-form-title i {
  color: #00d1b2;
  font-size: 16px;
}
body:has(.dt-dashboard) .proto-screen .modal-button-group {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 10px;
}
body:has(.dt-dashboard) .proto-screen .address-search-dropdown,
body:has(.dt-dashboard) .proto-sheet .address-search-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 240px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(10, 37, 64, 0.08);
  z-index: 5;
}
body:has(.dt-dashboard) .proto-screen .address-search-dropdown.is-hidden,
body:has(.dt-dashboard) .proto-sheet .address-search-dropdown.is-hidden {
  display: none;
}
body:has(.dt-dashboard) .proto-screen .address-search-container,
body:has(.dt-dashboard) .proto-sheet .address-search-container {
  position: relative;
}
body:has(.dt-dashboard) .modal-status {
  font-size: 12.5px;
  color: #df1b41;
  min-height: 18px;
}
body:has(.dt-dashboard) .dash-team-user-row .tl-user-name {
  color: inherit;
}
body:has(.dt-dashboard) .client-ac-container {
  position: relative;
}
body:has(.dt-dashboard) .client-ac-container.flex-1 {
  flex: 1;
}
body:has(.dt-dashboard) .client-ac-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 100%;
  width: 360px;
  max-width: calc(100vw - 32px);
  max-height: 300px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(10, 37, 64, 0.08);
  z-index: 1000;
}
body:has(.dt-dashboard) .client-ac-dropdown.is-hidden {
  display: none;
}
body:has(.dt-dashboard) .client-ac-item {
  padding: 8px 12px;
  font-size: 13px;
  line-height: 1.4;
  color: #0a2540;
  cursor: pointer;
  border-bottom: 1px solid #eef1f5;
  transition: background 0.08s ease, color 0.08s ease;
}
body:has(.dt-dashboard) .client-ac-item:last-child {
  border-bottom: none;
}
body:has(.dt-dashboard) .client-ac-item:hover, body:has(.dt-dashboard) .client-ac-item.is-active {
  background: #ecfbf7;
  color: #009b82;
}
body:has(.dt-dashboard) .client-ac-item.client-ac-empty, body:has(.dt-dashboard) .client-ac-item.client-ac-hint, body:has(.dt-dashboard) .client-ac-item.client-ac-error {
  cursor: default;
  color: #8898aa;
  font-style: italic;
}
body:has(.dt-dashboard) .client-ac-item.client-ac-empty:hover, body:has(.dt-dashboard) .client-ac-item.client-ac-empty.is-active, body:has(.dt-dashboard) .client-ac-item.client-ac-hint:hover, body:has(.dt-dashboard) .client-ac-item.client-ac-hint.is-active, body:has(.dt-dashboard) .client-ac-item.client-ac-error:hover, body:has(.dt-dashboard) .client-ac-item.client-ac-error.is-active {
  background: transparent;
  color: #8898aa;
}
body:has(.dt-dashboard) .client-ac-item .client-ac-meta {
  display: block;
  font-size: 11.5px;
  color: #8898aa;
  margin-top: 1px;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 0 14px;
  flex-wrap: wrap;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-nav-btn {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #5b6376;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font-size: 16px;
  font-family: inherit;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-nav-btn:hover {
  background: #fafbfd;
  border-color: #cdd5df;
  color: #0a2540;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-nav-btn i {
  line-height: 1;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-month-title {
  flex: 1;
  margin: 0;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #0a2540;
  letter-spacing: -0.01em;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-view-toggle {
  display: inline-flex;
  gap: 2px;
  padding: 2px;
  border-radius: 7px;
  background: #f6f9fc;
  border: 1px solid #e3e8ee;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-view-btn {
  height: 26px;
  padding: 0 10px;
  border: none;
  background: transparent;
  color: #5b6376;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 5px;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-view-btn:hover:not(.is-active) {
  color: #0a2540;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-view-btn.is-active {
  background: #fff;
  color: #009b82;
  box-shadow: 0 1px 2px rgba(10, 37, 64, 0.08);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-grid {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  overflow: hidden;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-headers {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background: #fafbfd;
  border-bottom: 1px solid #e3e8ee;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-header {
  padding: 8px 4px;
  text-align: center;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8898aa;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-headers.cal-cols-5,
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-days.cal-cols-5 {
  grid-template-columns: repeat(5, 1fr);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-headers.cal-cols-6,
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-days.cal-cols-6 {
  grid-template-columns: repeat(6, 1fr);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-headers.cal-cols-7,
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-days.cal-cols-7 {
  grid-template-columns: repeat(7, 1fr);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-cell {
  min-height: 86px;
  padding: 4px 5px 6px;
  border-right: 1px solid #eef1f5;
  border-bottom: 1px solid #eef1f5;
  background: #fff;
  font-size: 11.5px;
  position: relative;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-cell.cal-day-empty {
  background: #fafbfd;
  opacity: 0.55;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-cell.cal-week-weekend {
  background: #f6f9fc;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-cell.cal-today {
  background: #ecfbf7;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-cell:nth-child(7n) {
  border-right: none;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-num {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 600;
  color: #0a2540;
  margin-bottom: 4px;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-day-cell.cal-today .cal-day-num {
  background: #00d1b2;
  color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  text-align: center;
  line-height: 20px;
  font-size: 11px;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-event-pill {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  margin-top: 2px;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 4px;
  font-size: 10.5px;
  color: #fff;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: inherit;
  text-decoration: none;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-event-edit:hover {
  filter: brightness(0.92);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-event-dot {
  display: none;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-event-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-event-dur {
  font-size: 10px;
  opacity: 0.9;
  flex-shrink: 0;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-event-more {
  display: inline-block;
  padding: 1px 6px;
  margin-top: 2px;
  background: #f6f9fc;
  color: #5b6376;
  border-radius: 4px;
  font-size: 10.5px;
  cursor: pointer;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-grid {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 8px;
  overflow: hidden;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-col {
  border-right: 1px solid #eef1f5;
  display: flex;
  flex-direction: column;
  min-height: 320px;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-col:last-child {
  border-right: none;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-col.cal-week-weekend {
  background: #fafbfd;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-col.cal-week-today {
  background: #ecfbf7;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-col-header {
  padding: 6px 4px;
  text-align: center;
  border-bottom: 1px solid #e3e8ee;
  background: rgba(255, 255, 255, 0.55);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-day-name {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  color: #8898aa;
  letter-spacing: 0.06em;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-day-num {
  font-size: 16px;
  font-weight: 700;
  color: #0a2540;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-today .cal-week-day-num {
  color: #009b82;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-col-events {
  padding: 4px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  overflow-y: auto;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-empty-hint {
  color: #aab4be;
  font-size: 11px;
  text-align: center;
  padding: 6px 0;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-user-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-user-header {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 1px 4px;
  letter-spacing: 0.04em;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-card {
  padding: 3px 6px;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-size: 10.5px;
  font-family: inherit;
  text-decoration: none;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-card.cal-event-edit:hover {
  filter: brightness(0.92);
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-card-client {
  font-weight: 700;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-week-card-project {
  line-height: 1.15;
  opacity: 0.9;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-dynamic-bg {
  background-color: #009b82;
}
body:has(.dt-dashboard) .proto-sheet#sheetCalendar .cal-dynamic-color {
  color: #0a2540;
}
body:has(.dt-dashboard) .dt-dash-empty-filter {
  padding: 18px 14px;
  text-align: center;
  font-size: 12.5px;
  color: #8898aa;
  font-style: italic;
}

@media (max-width: 719px) {
  body:has(.dt-dashboard) .sw-header,
  body:has(.dt-dashboard) .layout-topbar {
    display: none !important;
  }
  body:has(.dt-dashboard) .app-topbar {
    height: 44px;
    padding: 0 10px;
  }
  body:has(.dt-dashboard) .app-topbar .app-topbar-title {
    display: none;
  }
  body:has(.dt-dashboard) .proto-screen .cp-tabs {
    padding: 6px 10px;
    gap: 3px;
  }
  body:has(.dt-dashboard) .proto-screen .cp-tabs .cp-tab {
    height: 30px;
    padding: 0 8px;
    font-size: 12px;
  }
  body:has(.dt-dashboard) .proto-screen .cp-tabs .cp-tab span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body:has(.dt-dashboard) .work-tabs-mobile {
    padding: 6px 10px 4px;
    gap: 3px;
  }
  body:has(.dt-dashboard) .proto-sheet,
  body:has(.dt-dashboard) .proto-screen {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 130 !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateX(100%) !important;
    transition: transform 0.22s cubic-bezier(0.32, 0.72, 0.32, 1) !important;
  }
  body:has(.dt-dashboard) .proto-sheet.open,
  body:has(.dt-dashboard) .proto-screen:not([aria-hidden=true]) {
    transform: translateX(0) !important;
    box-shadow: 0 -2px 14px rgba(10, 37, 64, 0.18) !important;
  }
  body:has(.dt-dashboard) .proto-screen[aria-hidden=true] {
    transform: translateX(100%) !important;
    pointer-events: none;
  }
  body:has(.dt-dashboard) .proto-sheet .sheet-body,
  body:has(.dt-dashboard) .proto-screen .form-body {
    padding: 14px 14px 22px;
  }
  body:has(.dt-dashboard) .proto-screen .cp-tabs {
    padding: 6px 10px;
  }
}

