:root{
  --bg:#070014;
  --panel:#140027;
  --panel-soft:rgba(255,255,255,.08);
  --text:#fff;
  --muted:rgba(255,255,255,.68);
  --accent:#ff3ec8;
  --accent-2:#8d32ff;
  --yellow:#ffd53d;
  --modal-control-radius:26px;
  --app-viewport-height:100dvh;
}

select{
  border-radius:999px !important;
}

*{
  box-sizing:border-box;
}

button,
[role="button"],
select,
input,
textarea{
  touch-action:manipulation;
}

html,
body{
  margin:0;
  min-height:100%;
}

body{
  font-family:Inter, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 55% 35%, rgba(255,62,200,.35), transparent 34%),
    radial-gradient(circle at 82% 12%, rgba(141,50,255,.32), transparent 30%),
    linear-gradient(135deg, #16002c, #3f006b 44%, #7c0696);
}

button{
  font:inherit;
  -webkit-tap-highlight-color:transparent;
}

button svg,
button .navIcon,
button .dateIcon,
button .menuIconDot,
button .menuIconLines{
  pointer-events:none;
}

[hidden]{
  display:none !important;
}

.loginScreen{
  min-height:100dvh;

  padding:24px;

  display:grid;
  place-items:center;

  background:
    radial-gradient(circle at 50% 18%, rgba(255,213,61,.10), transparent 22%),
    radial-gradient(circle at 56% 46%, rgba(255,62,200,.32), transparent 34%),
    radial-gradient(circle at 82% 12%, rgba(141,50,255,.30), transparent 30%),
    linear-gradient(135deg, #110020, #360064 48%, #71088e);
}

.systemLockScreen{
  min-height:100dvh;

  padding:24px;

  display:grid;
  place-items:center;
}

.loginScreen[hidden],
.unitSelectionScreen[hidden]{
  display:none;
}

.systemLockScreen[hidden]{
  display:none;
}

.loginCard{
  width:min(100%, 430px);

  padding:34px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:30px;

  display:grid;
  gap:14px;

  background:
    radial-gradient(circle at 18% 0%, rgba(255,213,61,.10), transparent 28%),
    linear-gradient(
      180deg,
      rgba(35,10,64,.94),
      rgba(13,3,30,.97)
    );

  box-shadow:
    0 28px 70px rgba(0,0,0,.42),
    0 0 40px rgba(255,62,200,.14),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.loginBrand{
  width:max-content;
  margin:0 auto 8px;

  display:grid;
  justify-items:center;
  gap:4px;
}

.loginBrand strong{
  color:#fff;

  font-size:38px;
  font-weight:950;
  line-height:.95;
  letter-spacing:-.01em;
}

.loginBrand::after{
  content:"";

  width:112px;
  height:3px;

  border-radius:999px;

  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,111,216,.86) 14%,
      rgba(111,200,255,.82) 42%,
      rgba(127,255,212,.86) 64%,
      rgba(255,213,61,.90) 86%,
      transparent 100%
    );
  box-shadow:
    0 0 8px rgba(255,111,216,.16),
    0 0 12px rgba(111,200,255,.10),
    0 0 11px rgba(127,255,212,.10),
    0 0 10px rgba(250,204,21,.12);
  opacity:.95;
}

.loginBrand span{
  grid-row:3;

  color:rgba(255,255,255,.78);

  font-size:11px;
  font-weight:650;
  letter-spacing:.32em;
  line-height:1;
}

.loginCard h1{
  margin:
    4px
    8px
    2px
    0;

  font-size:28px;
}

.loginField{
  position:relative;

  display:grid;
  gap:0;
}

.loginBrand + .loginField{
  margin-top:10px;
}

.loginField span{
  position:absolute;
  top:9px;
  left:16px;
  z-index:2;

  color:rgba(255,255,255,.52);

  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;

  pointer-events:none;
  transform:none;
  transition:
    top .16s ease,
    color .16s ease,
    font-size .16s ease,
    transform .16s ease;
}

.loginField:focus-within span,
.loginField:has(input:not(:placeholder-shown)) span{
  top:8px;
  color:rgba(255,213,61,.74);

  font-size:8.5px;
  transform:none;
}

.loginField input{
  height:52px;

  padding:
    18px
    16px
    5px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  color:rgba(255,255,255,.94);

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.068),
      rgba(255,255,255,.028)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -10px 16px rgba(0,0,0,.22),
    0 10px 22px rgba(0,0,0,.18);

  outline:none;

  font:inherit;
  font-size:15px;
  font-weight:800;
  letter-spacing:0;
}

.loginField input::placeholder{
  color:rgba(255,255,255,.34);
}

.passwordInputWrap{
  position:relative;
}

.passwordInputWrap input{
  width:100%;
  padding-right:48px;
}

.passwordToggle{
  position:absolute;
  top:50%;
  right:7px;

  width:32px;
  height:32px;

  border:0;
  border-radius:12px;

  display:grid;
  place-items:center;

  color:rgba(255,255,255,.56);
  background:rgba(255,255,255,.05);

  cursor:pointer;

  font-size:16px;
  font-weight:950;
  line-height:1;

  transform:translateY(-50%);
}

.passwordToggle:hover{
  color:#fff;
  background:rgba(255,255,255,.09);
}

.loginField input:focus{
  border-color:rgba(94,215,255,.42);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -10px 16px rgba(0,0,0,.22),
    0 0 0 2px rgba(94,215,255,.07),
    0 0 18px rgba(94,215,255,.13),
    0 10px 22px rgba(0,0,0,.20);
}

.loginError{
  min-height:18px;

  margin:0;

  color:#ffd7df;

  font-size:12px;
  font-weight:800;
}

.loginSubmit{
  height:52px;

  border:0;
  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-weight:950;

  cursor:pointer;

  box-shadow:0 16px 28px rgba(0,0,0,.20);
}

.loginSubmit:hover{
  filter:brightness(1.04);
}

.loginFootnote{
  margin:0;

  color:rgba(255,255,255,.48);

  font-size:11px;
  font-weight:400;
  text-align:center;
}

.unitSelectionScreen{
  min-height:100dvh;
  padding:24px;

  display:grid;
  place-items:center;

  background:
    radial-gradient(circle at 50% 18%, rgba(255,213,61,.10), transparent 22%),
    radial-gradient(circle at 56% 46%, rgba(255,62,200,.32), transparent 34%),
    radial-gradient(circle at 82% 12%, rgba(141,50,255,.30), transparent 30%),
    linear-gradient(135deg, #110020, #360064 48%, #71088e);
}

.unitSelectionShell{
  width:min(100%, 920px);
  display:grid;
  gap:22px;
}

.unitSelectionHeader{
  padding:26px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,213,61,.10), transparent 28%),
    linear-gradient(180deg, rgba(35,10,64,.94), rgba(13,3,30,.97));
  box-shadow:
    0 28px 70px rgba(0,0,0,.34),
    0 0 40px rgba(255,62,200,.12),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.unitSelectionHeader .loginBrand{
  margin:0;
}

.unitSelectionHeader h1{
  margin:0;
  font-size:30px;
  font-weight:950;
}

.unitSelectionHeader span{
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:780;
}

.unitEyebrow{
  margin:0 0 5px;
  color:var(--yellow);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

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

.unitCard{
  min-height:178px;
  padding:22px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  display:grid;
  align-content:space-between;
  gap:10px;
  color:#fff;
  text-align:left;
  background:
    radial-gradient(circle at 88% 12%, rgba(88,222,255,.12), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.055));
  box-shadow:
    0 18px 44px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.10);
  cursor:pointer;
}

.unitCard:hover,
.unitCard.active{
  border-color:rgba(255,213,61,.42);
  transform:translateY(-1px);
  box-shadow:
    0 24px 54px rgba(0,0,0,.32),
    0 0 0 3px rgba(255,213,61,.10),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.unitCard span{
  color:var(--yellow);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.unitCard strong{
  font-size:24px;
  font-weight:950;
}

.unitCard small{
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}

.unitCard em{
  width:max-content;
  padding:7px 10px;
  border-radius:999px;
  color:#170021;
  background:var(--yellow);
  font-size:11px;
  font-style:normal;
  font-weight:950;
}

.unitLogoutAction{
  justify-self:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.08);
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.adminTabs{
  padding:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
}

.adminTabs button{
  min-height:42px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:transparent;
  font:inherit;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
}

.adminTabs button.active{
  color:#170021;
  background:var(--yellow);
}

.adminGrid{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.adminBoard.showAdminForms .adminGrid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:16px;
}

.adminPanel{
  min-height:0;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  display:grid;
  align-content:start;
  gap:16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.050));
  box-shadow:
    0 18px 38px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.adminPanel[data-admin-panel]:not(.active){
  display:none;
}

.adminBoard > .adminPanel{
  min-height:0;
  height:auto;
  max-height:none;
  overflow:visible;
  display:block;
  contain:none;
}

.adminBoard > .adminUnitsPanel{
  min-height:max-content;
  height:max-content;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
}

.adminBoard > .adminUnitsPanel[hidden]{
  display:none !important;
}

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

.adminUnitAutoSummary{
  grid-column:1 / -1;
  min-height:58px;
  padding:12px 14px;
  border:1px solid rgba(94,234,212,.18);
  border-radius:18px;
  display:grid;
  gap:4px;
  background:
    radial-gradient(circle at 8% 0%, rgba(94,234,212,.12), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08);
}

.adminUnitAutoSummary strong{
  color:#7dd3fc;
  font-size:13px;
  font-weight:950;
}

.adminUnitAutoSummary span{
  color:rgba(255,255,255,.62);
  font-size:11px;
  font-weight:800;
}

.adminPrimaryAction{
  width:max-content;
  min-width:160px;
}

.adminFormActions{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

.adminSecondaryAction{
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  color:rgba(255,255,255,.84);
  background:rgba(255,255,255,.07);
  font:inherit;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
}

.adminSecondaryAction:hover{
  border-color:rgba(250,204,21,.28);
  background:rgba(255,255,255,.11);
}

.adminUnitPicker{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.adminUnitPickerOptions{
  width:100%;
  display:grid;
  gap:10px;
}

.adminUnitPicker > span{
  flex:1 0 100%;
  color:rgba(255,255,255,.62);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.adminManagerUnitSelector{
  width:min(100%, 420px);
  display:grid;
  gap:6px;
}

.adminManagerUnitSelector span{
  color:rgba(255,255,255,.60);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.adminManagerUnitSelector select{
  width:100%;
  min-height:44px;
  padding:0 14px;
  border:1px solid rgba(88,222,255,.22);
  border-radius:16px;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    rgba(0,0,0,.24);
  font:inherit;
  font-size:13px;
  font-weight:900;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.adminManagerUnitSelector select:focus{
  border-color:rgba(88,222,255,.54);
  box-shadow:
    0 0 0 4px rgba(88,222,255,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.adminManagerUnitChips{
  min-height:40px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.adminManagerUnitChips small{
  min-height:34px;
  padding:0 12px;
  border:1px dashed rgba(255,255,255,.12);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  color:rgba(255,255,255,.50);
  font-size:12px;
  font-weight:900;
}

.adminManagerUnitChips button{
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(88,222,255,.58);
  border-radius:999px;
  color:#031019;
  background:linear-gradient(135deg, #5eead4, #38bdf8);
  font:inherit;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  box-shadow:
    0 10px 24px rgba(56,189,248,.18),
    inset 0 1px 0 rgba(255,255,255,.38);
}

.adminManagerListPanel{
  margin-top:4px;
  display:grid;
  gap:12px;
}

.adminManagerList{
  display:grid;
  gap:10px;
}

.adminManagerRow{
  min-height:68px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  background:
    radial-gradient(circle at 90% 10%, rgba(88,222,255,.10), transparent 34%),
    rgba(0,0,0,.16);
}

.adminManagerRow[data-status="inactive"]{
  opacity:.62;
}

.adminManagerRow > div{
  min-width:0;
  display:grid;
  gap:4px;
}

.adminManagerRow strong{
  overflow:hidden;
  color:#fff;
  font-size:16px;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.adminManagerRow span{
  overflow:hidden;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}

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

.adminManagerUnitBadges em{
  min-height:24px;
  padding:0 9px;
  border:1px solid rgba(88,222,255,.22);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  color:#8eeeff;
  background:rgba(88,222,255,.08);
  font-size:10px;
  font-style:normal;
  font-weight:950;
}

.adminManagerRow nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.adminManagerRow button{
  min-height:32px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.07);
  font:inherit;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
}

.adminManagerRow button[data-manager-action="edit"]{
  color:#031019;
  border-color:rgba(88,222,255,.58);
  background:linear-gradient(135deg, #5eead4, #38bdf8);
}

.adminUnitList{
  margin-top:16px;
  flex:0 0 auto;
  width:100%;
  height:auto;
  max-height:none;
  min-height:0;
  overflow:visible;
  overscroll-behavior:contain;
  padding-right:4px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.adminUnitList article{
  min-height:0;
  height:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 10%, rgba(88,222,255,.12), transparent 34%),
    rgba(0,0,0,.14);
}

.adminUnitList article[data-license="active"]{
  border-color:rgba(74,222,128,.34);
}

.adminUnitList article[data-license="warning"]{
  border-color:rgba(255,193,61,.48);
}

.adminUnitList article[data-license="expired"]{
  border-color:rgba(255,86,113,.54);
}

.adminUnitList article[data-status="attention"]{
  border-color:rgba(255,193,61,.42);
}

.adminUnitList article[data-status="blocked"]{
  border-color:rgba(255,86,113,.46);
}

.adminUnitList article[data-status="trial"]{
  border-color:rgba(88,222,255,.34);
}

.adminUnitSummary{
  width:100%;
  min-height:70px;
  padding:13px 14px;
  border:0;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  color:inherit;
  background:transparent;
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.adminUnitSummary::after{
  content:"›";
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.72);
  background:rgba(0,0,0,.18);
  font-size:18px;
  font-weight:950;
  transition:transform .18s ease, border-color .18s ease, color .18s ease;
}

.adminUnitList article[data-expanded="true"] .adminUnitSummary::after{
  transform:rotate(90deg);
  color:#fff;
  border-color:rgba(88,222,255,.38);
}

.adminUnitBadges{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.adminUnitSummaryInfo{
  min-width:0;
  display:grid;
  gap:4px;
}

.adminUnitList span{
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  color:#170021;
  background:var(--yellow);
  font-size:10px;
  font-weight:950;
}

.adminUnitList article[data-status="attention"] span{
  background:#ffd13d;
}

.adminUnitList article[data-status="blocked"] span{
  color:#fff;
  background:#ff5671;
}

.adminUnitList article[data-status="trial"] span{
  color:#03121b;
  background:#58deff;
}

.adminUnitList .adminUnitLicenseBadge{
  color:#03121b;
  background:#4ade80;
}

.adminUnitList article[data-license="warning"] .adminUnitLicenseBadge{
  background:#ffd13d;
}

.adminUnitList article[data-license="expired"] .adminUnitLicenseBadge{
  color:#fff;
  background:#ff5671;
}

.adminUnitList article[data-license="neutral"] .adminUnitLicenseBadge{
  color:rgba(255,255,255,.76);
  background:rgba(255,255,255,.10);
}

.adminUnitList strong{
  margin-top:0;
  color:#fff;
  font-size:17px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.adminUnitList small{
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}

.adminUnitList article > div{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:6px;
}

.adminUnitList article > div{
  padding:0 14px 12px;
}

.adminUnitList article[data-expanded="false"] > div,
.adminUnitList article[data-expanded="false"] > .adminUnitActions{
  display:none;
}

.adminUnitList .adminUnitActions{
  margin-top:0;
  padding:0 14px 14px;
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

.adminUnitActions button{
  min-height:32px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.07);
  font:inherit;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
}

.adminUnitActions button[data-unit-action="delete"]{
  color:#ff9aaa;
  border-color:rgba(255,86,113,.28);
}

.adminUnitActions button:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.adminUnitList b{
  min-height:28px;
  padding:6px 8px;
  border-radius:12px;
  display:flex;
  align-items:center;
  color:rgba(255,255,255,.78);
  background:rgba(0,0,0,.18);
  font-size:11px;
  font-weight:900;
  line-height:1.25;
}

.systemLockCard{
  text-align:left;
}

.systemLockCard p:not(.loginEyebrow){
  margin:0;

  color:rgba(255,255,255,.70);

  font-size:14px;
  font-weight:850;
  line-height:1.45;
}

.systemLockRenewAction{
  min-height:46px;

  margin-top:8px;
  padding:
    0
    18px;

  border:0;
  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  cursor:pointer;

  font:inherit;
  font-size:13px;
  font-weight:950;
}

.licenseExpiredOverlay{
  position:fixed;
  inset:0;
  z-index:136;

  padding:
    22px;

  display:grid;
  place-items:center;

  background:
    radial-gradient(circle at 50% 30%, rgba(255,213,61,.14), transparent 28%),
    rgba(4,0,14,.88);
  backdrop-filter:blur(18px);
}

.licenseExpiredOverlay[hidden]{
  display:none;
}

.licenseExpiredCard{
  position:relative;

  width:min(100%, 460px);

  padding:32px;

  border:1px solid rgba(255,213,61,.30);
  border-radius:30px;

  display:grid;
  gap:14px;

  background:
    linear-gradient(
      180deg,
      rgba(18,6,32,.96),
      rgba(6,1,16,.98)
    );

  box-shadow:
    0 28px 80px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(255,255,255,.10);

  text-align:center;
}

.licenseExpiredCard span{
  color:var(--yellow);

  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.licenseExpiredCard h2{
  margin:0;

  color:#fff;

  font-size:32px;
  font-weight:950;
  line-height:1.05;
}

.licenseExpiredCard p{
  margin:0;

  color:rgba(255,255,255,.72);

  font-size:14px;
  font-weight:850;
  line-height:1.45;
}

.licenseExpiredActions{
  margin-top:4px;

  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

body.licenseConsultationMode .appShell,
body.licenseConsultationMode .attendantMobile{
  filter:grayscale(.18) brightness(.82);
}

.attendantMobile{
  min-height:var(--app-viewport-height);
  height:var(--app-viewport-height);

  padding:
    18px
    14px
    24px;

  display:grid;
  grid-template-rows:auto auto minmax(0, 1fr) auto;
  gap:16px;

  overflow-y:auto;
  overflow-x:hidden;
  overflow-anchor:none;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
}

@supports (height:100lvh){
  .attendantMobile{
    min-height:var(--app-viewport-height);
    height:var(--app-viewport-height);
  }
}

.attendantMobile[hidden]{
  display:none;
}

.attendantMobileHeader{
  width:min(100%, 520px);

  margin:
    0
    auto;

  padding:
    16px
    16px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.13),
      rgba(255,255,255,.065)
    );

  box-shadow:
    0 18px 42px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.attendantMobileHeader h1{
  margin:
    0
    0
    4px;

  font-size:26px;
}

.attendantMobileHeader span{
  color:rgba(255,255,255,.68);

  font-size:13px;
  font-weight:850;
}

.mobileAppVersion{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:3px 8px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:850;
  line-height:1;
}

.attendantMobileFooter{
  position:fixed;
  left:50%;
  bottom:calc(10px + env(safe-area-inset-bottom));
  z-index:12;

  width:min(100%, 520px);
  padding:
    0
    14px;

  transform:translateX(-50%);

  display:grid;
  justify-items:center;
  gap:8px;

  pointer-events:none;
}

.attendantMobileFooterDivider{
  width:100%;
  height:1px;

  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.18),
    transparent
  );
}

.mobileAvatarMenuWrap{
  position:relative;

  display:grid;
  justify-items:center;
  gap:6px;
}

.mobileAvatarUserName{
  max-width:96px;

  color:rgba(255,255,255,.68);

  font-size:11px;
  font-weight:850;
  line-height:1.15;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mobileAvatarButton{
  width:46px;
  height:46px;

  padding:0;

  border:1px solid rgba(255,255,255,.20);
  border-radius:50%;

  display:grid;
  place-items:center;

  color:#fff;

  background:
    linear-gradient(
      145deg,
      rgba(255,62,200,.86),
      rgba(141,50,255,.72)
    );

  box-shadow:
    0 14px 26px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.28);

  font-size:13px;
  font-weight:950;

  cursor:pointer;
}

.mobileAvatarButton span{
  color:#fff;

  font-size:13px;
  font-weight:950;
}

.mobileAvatarDropdown{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  z-index:20;

  width:230px;

  padding:10px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;

  display:none;

  background:
    linear-gradient(
      180deg,
      rgba(28,9,50,.94),
      rgba(12,2,28,.96)
    );

  box-shadow:
    0 22px 48px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.08);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.mobileAvatarMenuWrap.open .mobileAvatarDropdown{
  display:grid;
}

.mobileAvatarDropdown button{
  min-height:40px;

  padding:
    0
    12px;

  border:0;
  border-radius:12px;

  color:#fff;

  background:transparent;

  font:inherit;
  font-size:13px;
  font-weight:800;
  text-align:left;

  cursor:pointer;
}

.mobileAvatarDropdown button:hover{
  background:rgba(255,255,255,.10);
}

.mobileAvatarDropdown button.logout{
  color:#ffd7df;
}

.mobileAvatarDropdown button.logout:hover{
  background:rgba(255,70,110,.14);
}

.attendantMobileContent{
  width:min(100%, 920px);
  min-height:0;
  grid-row:3;

  margin:
    0
    auto;

  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-content:start;
  gap:14px;

  overflow-anchor:none;
}

.mobileBalanceCard,
.mobileActionCard,
.mobileStatementCard,
.mobileExchangeAlert,
.mobileConferenceAlert{
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;

  background:
    linear-gradient(
      180deg,
      rgba(31,9,55,.94),
      rgba(13,3,30,.96)
    );

  box-shadow:
    0 20px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.mobileExchangeAlert{
  grid-column:1 / -1;

  padding:
    16px
    18px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  border-color:rgba(255,213,61,.38);

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.16),
      rgba(31,9,55,.94)
    );

  animation:mobileConferencePulse 1.15s ease-in-out infinite;
}

.mobileExchangeAlert.contested{
  border-color:rgba(255,89,133,.48);

  background:
    linear-gradient(
      180deg,
      rgba(255,89,133,.22),
      rgba(31,9,55,.96)
    );
}

.mobileExchangeAlert span,
.mobileExchangeAlert small{
  display:block;
}

.mobileExchangeAlert span{
  color:rgba(255,255,255,.62);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.mobileExchangeAlert strong{
  display:block;

  margin-top:4px;

  font-size:26px;
  font-weight:950;
}

.mobileExchangeAlert small{
  margin-top:3px;

  color:rgba(255,255,255,.64);

  font-size:12px;
  font-weight:800;
}

.mobileExchangeAlertActions{
  display:flex;
  gap:8px;
}

.mobileExchangeAlertActions button{
  height:38px;

  padding:
    0
    14px;

  border:0;
  border-radius:999px;

  font-size:12px;
  font-weight:950;

  cursor:pointer;
}

.mobileExchangeAlertActions .accept{
  color:#170021;

  background:var(--yellow);
}

.mobileExchangeAlertActions .refuse{
  color:#fff;

  background:rgba(255,255,255,.12);
}

.mobileExchangeAlertActions button[hidden]{
  display:none;
}

.mobileBalanceCard{
  padding:16px;

  display:grid;
  gap:12px;

  transition:
    padding .2s ease,
    gap .2s ease;
}

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

.mobileBalanceSummary span,
.mobileBalanceGrid span,
.mobileCardTitle span,
.mobilePaymentForm span{
  color:rgba(255,255,255,.60);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.mobileBalanceSummary strong{
  display:block;

  margin-top:4px;

  font-size:34px;
  font-weight:950;
}

.mobileBalanceActions{
  display:flex;
  align-items:center;
  gap:8px;
}

.mobileBalanceEye,
.mobileBalanceDetailsToggle{
  height:36px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;

  color:#170021;
  background:var(--yellow);

  font-size:12px;
  font-weight:950;
  line-height:1;

  cursor:pointer;
}

.mobileBalanceEye{
  width:42px;

  padding:0;
}

.mobileBalanceDetailsToggle{
  min-width:78px;
  padding:
    0
    12px;
}

.mobileBalanceCard.collapsed{
  padding:
    8px
    10px;
  gap:0;
}

.mobileBalanceCard.collapsed .mobileBalanceSummary strong{
  font-size:24px;
}

.mobileBalanceCard.balanceHidden .mobileBalanceSummary strong{
  letter-spacing:2px;
}

.mobileBalanceCard.collapsed .mobileBalanceGrid{
  display:none;
}

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

.mobileBalanceGrid article{
  min-height:78px;

  padding:
    14px
    12px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;

  display:grid;
  align-content:center;
  gap:6px;

  background:rgba(255,255,255,.07);
}

.mobileBalanceGrid strong{
  font-size:18px;
  font-weight:950;
}

.mobileActionCard,
.mobileStatementCard{
  min-height:0;
  max-height:calc(100dvh - 150px);

  padding:16px;

  display:grid;
  grid-column:1 / -1;
  align-content:start;
  gap:10px;

  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

.mobileStatementCard{
  height:calc(100dvh - 150px);
  min-height:min(420px, calc(100dvh - 150px));
  grid-template-rows:auto auto minmax(0, 1fr);
  align-content:stretch;
  overflow:hidden;
}

.mobileActionCard{
  min-height:min(420px, calc(100dvh - 150px));
}

#mobilePaymentPanel{
  height:calc(var(--app-viewport-height) - 126px);
  max-height:calc(var(--app-viewport-height) - 126px);
  min-height:0;
  padding-bottom:calc(16px + env(safe-area-inset-bottom));
  overflow-y:hidden;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  grid-template-rows:auto minmax(0, 1fr);
  align-content:stretch;
}

.attendantMobile.paymentViewActive{
  overflow:hidden;
}

.attendantMobile.paymentViewActive .attendantMobileContent{
  min-height:0;
  overflow:hidden;
}

#mobilePaymentPanel .mobilePaymentForm{
  min-height:0;
  padding-bottom:calc(12px + env(safe-area-inset-bottom));
  overflow-y:visible;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

#mobilePaymentPanel .mobilePaymentForm label,
#mobilePaymentPanel .mobilePaymentForm input,
#mobilePaymentPanel .mobilePaymentForm button,
#mobilePaymentPanel .mobileSelectPicker,
#mobilePaymentPanel .mobileSelectPickerTrigger,
#mobilePaymentPanel .mobilePaymentClientSearch,
#mobilePaymentPanel .mobilePaymentClientSearch input{
  touch-action:pan-y !important;
}

.mobileHomeGrid{
  grid-column:1 / -1;

  display:grid;
  grid-template-columns:1.08fr 1fr;
  grid-template-rows:repeat(2, minmax(118px, 1fr)) minmax(96px, auto);
  gap:14px;
}

.mobileConferenceAlert{
  grid-row:2;
  width:min(100%, 920px);
  min-height:0;
  height:auto;

  margin:
    -4px
    auto
    14px;

  padding:
    16px
    18px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  border-color:rgba(255,213,61,.52);

  color:#fff;

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.22),
      rgba(31,9,55,.94)
    );

  animation:mobileConferencePulse 1.15s ease-in-out infinite;
  position:sticky;
  top:12px;
  z-index:5;
}

.mobileConferenceAlert span,
.mobileConferenceAlert small{
  display:block;
}

.mobileConferenceAlert span{
  color:rgba(255,255,255,.62);

  font-size:11px;
  font-weight:950;
  text-transform:none;
}

.mobileConferenceAlert strong{
  display:block;

  margin-top:4px;

  font-size:26px;
  font-weight:950;
}

.mobileConferenceAlert small{
  margin-top:3px;

  color:rgba(255,255,255,.64);

  font-size:12px;
  font-weight:800;
}

.mobileConferenceAlert button{
  min-width:112px;
  height:38px;
  padding:
    0
    14px;

  border:0;
  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-size:12px;
  font-weight:950;

  cursor:pointer;
}

@keyframes mobileConferencePulse{
  0%,
  100%{
    transform:translateX(0) scale(1);
    box-shadow:
      0 20px 48px rgba(0,0,0,.28),
      0 0 0 0 rgba(255,213,61,.22),
      inset 0 1px 0 rgba(255,255,255,.10);
  }

  35%{
    transform:translateX(-1px) scale(1.01);
    box-shadow:
      0 24px 58px rgba(0,0,0,.34),
      0 0 0 6px rgba(255,213,61,.10),
      inset 0 1px 0 rgba(255,255,255,.14);
  }

  55%{
    transform:translateX(1px) scale(1.01);
  }
}

.mobileHomeCard{
  min-height:156px;

  padding:18px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;

  display:grid;
  align-content:center;
  justify-items:start;
  gap:10px;

  color:#fff;

  background:
    linear-gradient(
      180deg,
      rgba(31,9,55,.94),
      rgba(13,3,30,.96)
    );

  box-shadow:
    0 20px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.10);

  cursor:pointer;
  touch-action:manipulation;
  user-select:none;
}

.mobileHomeCard:hover,
.mobileHomeCard:focus-visible{
  border-color:rgba(255,213,61,.40);

  transform:translateY(-1px);

  box-shadow:
    0 24px 54px rgba(0,0,0,.32),
    0 0 0 3px rgba(255,213,61,.10),
    inset 0 1px 0 rgba(255,255,255,.12);

  outline:none;
}

.mobileHomeCard.locked,
.mobileHomeCard:disabled{
  opacity:.46;
  cursor:default;
}

.mobileHomeCard.locked:hover,
.mobileHomeCard.locked:focus-visible,
.mobileHomeCard:disabled:hover,
.mobileHomeCard:disabled:focus-visible{
  border-color:rgba(255,255,255,.13);
  transform:none;
  box-shadow:
    0 20px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.mobileHomeIcon{
  width:54px;
  height:54px;

  border-radius:18px;

  display:grid;
  place-items:center;

  color:#170021;

  background:var(--yellow);

  font-size:27px;
  font-weight:950;
}

.mobileHomeCard > span:not(.mobileHomeIcon){
  color:rgba(255,255,255,.58);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.mobileHomeCard strong{
  font-size:22px;
  font-weight:950;
}

.mobileHomeCard.primaryPayment{
  grid-row:1 / 3;
  min-height:250px;

  align-content:end;
}

.mobileHomeCard.compactCard{
  min-height:118px;
}

.mobileHomeCard.compactCard .mobileHomeIcon{
  width:46px;
  height:46px;

  border-radius:16px;

  font-size:23px;
}

.mobileHomeCard.compactCard strong{
  font-size:18px;
}

.mobileHomeCard.readingWide{
  grid-column:1 / -1;
  min-height:102px;

  grid-template-columns:auto 1fr;
  align-items:center;
  align-content:center;
}

.mobilePanelHeader{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
}

.mobilePanelHeader .mobileCardTitle{
  flex:1;

  display:flex;
  align-items:center;
  justify-content:flex-end;
  text-align:right;
}

.mobileBackButton{
  order:-1;
  flex:0 0 auto;

  width:38px;
  height:38px;

  padding:0;

  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;

  color:#fff;

  background:rgba(255,255,255,.08);

  font-size:24px;
  font-weight:950;
  line-height:1;

  cursor:pointer;
}

.mobilePlaceholder{
  min-height:250px;

  padding:18px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;

  display:grid;
  align-content:center;
  gap:8px;

  background:rgba(255,255,255,.06);

  text-align:center;
}

.mobilePlaceholder strong{
  font-size:18px;
  font-weight:950;
}

.mobilePlaceholder span{
  color:rgba(255,255,255,.62);

  font-size:13px;
  font-weight:800;
}

.mobileCardTitle{
  min-width:0;

  display:grid;
  gap:4px;
}

.mobileCardTitle h2{
  margin:0;

  font-size:20px;
}

.mobilePaymentForm{
  width:100%;
  min-width:0;

  display:grid;
  gap:12px;
}

.mobilePaymentForm label{
  min-width:0;
  position:relative;

  display:grid;
  gap:8px;
}

.mobilePaymentForm label:has(.mobileSelectPicker.open){
  z-index:40;
}

.mobilePaymentForm label:has(.mobilePaymentClientResults:not(:empty):not([hidden])){
  z-index:45;
}

.mobilePaymentForm input,
.mobilePaymentForm select,
.mobilePaymentForm textarea{
  width:100%;

  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;

  color:#fff;

  background:rgba(255,255,255,.08);

  outline:none;

  font:inherit;
  font-size:16px;
  font-weight:850;
}

.mobilePaymentForm input,
.mobilePaymentForm select{
  height:50px;

  padding:
    0
    14px;
}

.mobilePaymentForm label:has(.mobileSelectPicker) > select{
  display:none !important;
}

.mobilePaymentForm label:has(.mobilePaymentClientSearch) > select{
  position:absolute;
  inline-size:1px;
  block-size:1px;

  opacity:0;
  pointer-events:none;
}

.mobilePaymentClientSearch{
  position:relative;
  z-index:4;

  display:grid;
}

.mobilePaymentClientSearch input{
  width:100%;
}

.mobilePaymentClientResults{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:70;

  max-height:min(calc((38px * 8) + (4px * 7) + 12px), 56dvh);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;

  border:1px solid rgba(125,211,252,.34);
  border-radius:18px;
  padding:6px;

  display:grid;
  gap:4px;

  background:
    linear-gradient(180deg, rgba(11,24,40,.98), rgba(5,13,24,.98));
  box-shadow:
    0 18px 38px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.mobilePaymentClientResults[hidden],
.mobilePaymentClientResults:empty{
  display:none;
}

.mobilePaymentClientResult{
  min-height:38px;

  border:1px solid rgba(226,235,246,.10);
  border-radius:12px;
  padding:
    8px
    10px;

  display:flex;
  align-items:center;

  color:#f8fbff;
  background:rgba(255,255,255,.035);

  font:inherit;
  text-align:left;
}

.mobilePaymentClientResult strong{
  font-size:15px;
  font-weight:950;
}

.mobilePaymentClientResult span{
  color:rgba(226,235,246,.62);
  font-size:12px;
  font-weight:800;
}

.mobilePaymentClientResult:active{
  color:#f8fbff;
  background:rgba(125,211,252,.14);
}

.mobilePaymentClientResult:active span{
  color:rgba(226,235,246,.72);
}

.mobileSelectPicker{
  position:relative;
  z-index:3;

  display:grid;
}

.mobileSelectPicker.open{
  z-index:50;
}

.mobileSelectPickerTrigger{
  width:100%;
  min-height:50px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  padding:
    0
    14px;

  color:#fff;
  background:rgba(255,255,255,.08);

  font:inherit;
  font-size:16px;
  font-weight:850;
  text-align:left;
}

.mobileSelectPickerTrigger::after{
  content:"▾";
  float:right;
  color:rgba(255,255,255,.62);
}

.mobilePaymentForm [data-mobile-select-picker="mobilePaymentEquipment"] .mobileSelectPickerTrigger,
.mobilePaymentForm [data-mobile-select-picker="mobileReadingMachine"] .mobileSelectPickerTrigger{
  border-color:rgba(125,211,252,.34);
  color:#f8fbff;
  background:
    linear-gradient(180deg, rgba(22,43,66,.86), rgba(9,22,38,.92));
  box-shadow:
    0 0 16px rgba(56,189,248,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.mobilePaymentForm [data-mobile-select-picker="mobilePaymentEquipment"] .mobileSelectPickerTrigger::after,
.mobilePaymentForm [data-mobile-select-picker="mobileReadingMachine"] .mobileSelectPickerTrigger::after{
  color:#7dd3fc;
}

.mobileSelectPickerList{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:60;

  display:none;
  max-height:min(calc((38px * 8) + (4px * 7) + 12px), 46dvh);
  overflow-y:auto;
  overflow-anchor:none;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;

  border:1px solid rgba(125,211,252,.34);
  border-radius:18px;
  padding:6px;

  background:
    linear-gradient(180deg, rgba(11,24,40,.98), rgba(5,13,24,.98));
  box-shadow:
    0 18px 38px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.mobileSelectPickerList::-webkit-scrollbar{
  width:6px;
}

.mobileSelectPickerList::-webkit-scrollbar-track{
  border-radius:999px;
  background:rgba(255,255,255,.04);
}

.mobileSelectPickerList::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(125,211,252,.28);
}

.mobileSelectPicker.open .mobileSelectPickerList{
  display:grid;
  gap:4px;
}

.mobileSelectPickerOption{
  min-height:38px;

  border:1px solid rgba(226,235,246,.10);
  border-radius:12px;
  padding:
    8px
    10px;

  color:#f8fbff;
  background:rgba(255,255,255,.035);

  font:inherit;
  font-size:15px;
  font-weight:850;
  text-align:left;
}

.mobileSelectPickerOption.active{
  color:#f8fbff;
  background:rgba(125,211,252,.16);
}

.mobileSelectPickerOption:disabled{
  opacity:.46;
}

.mobileMachinePickerOverlay{
  position:fixed;
  inset:0;
  z-index:320;

  padding:
    max(18px, env(safe-area-inset-top))
    14px
    max(18px, env(safe-area-inset-bottom));

  display:grid;
  place-items:center;

  background:rgba(3,8,16,.72);
  opacity:0;
  overflow:hidden;
  overscroll-behavior:none;
  touch-action:none;
  transition:opacity .14s ease;
}

.mobileMachinePickerOverlay[hidden]{
  display:none;
}

.mobileMachinePickerOverlay.visible{
  opacity:1;
}

.mobileMachinePickerCard{
  width:min(100%, 430px);
  max-height:min(620px, calc(100dvh - 44px));

  border:1px solid rgba(125,211,252,.34);
  border-radius:22px;
  padding:12px;

  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  gap:10px;

  background:
    linear-gradient(180deg, rgba(11,24,40,.98), rgba(5,13,24,.99));
  box-shadow:
    0 22px 60px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
  touch-action:auto;
}

.mobileMachinePickerHeader{
  min-height:44px;

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

.mobileMachinePickerHeader strong{
  color:#f8fbff;
  font-size:17px;
  font-weight:950;
}

.mobileMachinePickerClose{
  width:42px;
  height:42px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;

  color:#fff;
  background:rgba(255,255,255,.08);

  font:inherit;
  font-size:24px;
  font-weight:950;
}

.mobileMachinePickerList{
  min-height:0;
  max-height:calc(100dvh - 142px);

  display:grid;
  align-content:start;
  gap:6px;

  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

.mobileMachinePickerOption{
  min-height:44px;

  border:1px solid rgba(226,235,246,.10);
  border-radius:14px;
  padding:10px 12px;

  color:#f8fbff;
  background:rgba(255,255,255,.04);

  font:inherit;
  font-size:15px;
  font-weight:900;
  text-align:left;
}

.mobileMachinePickerOption.active{
  border-color:rgba(125,211,252,.48);
  background:rgba(125,211,252,.16);
}

.mobileMachinePickerOption:disabled{
  opacity:.42;
}

.mobilePaymentForm select.mobileSelectExpanded{
  height:auto;
  max-height:min(330px, 46dvh);
  overflow-y:auto;
  overscroll-behavior:contain;
  border-radius:18px;
  scrollbar-gutter:stable;

  padding:
    8px
    10px;

  line-height:1.2;
}

.mobilePaymentForm #mobilePaymentClient.mobileSelectExpanded{
  max-height:min(390px, 56dvh);
}

.mobilePaymentForm select.mobileSelectExpanded option{
  min-height:36px;
  padding:
    8px
    10px;

  color:#f8fbff;
  background:#0b1828;
}

.mobilePaymentForm textarea{
  min-height:86px;

  padding:13px 14px;

  resize:vertical;
}

.mobilePaymentForm input:focus,
.mobilePaymentForm select:focus,
.mobilePaymentForm textarea:focus{
  border-color:rgba(255,62,200,.58);
  scroll-margin-bottom:120px;

  box-shadow:
    0 0 0 3px rgba(255,62,200,.12);
}

.mobilePaymentForm input[readonly]{
  border-color:rgba(255,255,255,.08);
  color:rgba(255,255,255,.46);
  cursor:not-allowed;
  background:rgba(255,255,255,.035);
}

.mobileReadingHint{
  margin-top:-2px;

  color:#fff0a8;

  font-size:11px;
  font-weight:900;
  line-height:1.25;
}

.mobileFormError{
  min-height:17px;

  margin:0;

  color:#ffd7df;

  font-size:12px;
  font-weight:850;
}

.mobileFormError.success{
  color:#a8ffd8;
}

.mobilePaymentForm button{
  width:100%;

  height:50px;

  border:0;
  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-weight:950;

  cursor:pointer;
}

.mobileClientModeTabs{
  width:100%;

  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.mobileClientModeTabs button{
  height:44px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  color:rgba(255,255,255,.74);

  background:rgba(255,255,255,.07);

  font-weight:950;
}

.mobileClientModeTabs button.active{
  color:#170021;
  background:var(--yellow);
  border-color:transparent;
}

.mobileClientModeTabs button:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.mobileClientCheckinPanel{
  width:100%;

  display:grid;
  gap:10px;
}

.mobileClientCheckinPanel[hidden]{
  display:none;
}

.mobileClientSearchField{
  display:grid;
  gap:8px;
}

.mobileClientSearchField span{
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.mobileClientSearchField input{
  width:100%;
  height:50px;

  padding:0 14px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;

  color:#fff;

  background:rgba(255,255,255,.08);

  outline:none;

  font:inherit;
  font-size:16px;
  font-weight:850;
}

.mobileClientSearchField input:focus{
  border-color:rgba(255,62,200,.58);

  box-shadow:
    0 0 0 3px rgba(255,62,200,.12);
}

.mobileClientSearchResults{
  max-height:min(420px, 52dvh);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:4px;

  display:grid;
  gap:8px;
}

.mobileClientSearchResults:empty{
  display:none;
}

.mobileClientSearchResults::-webkit-scrollbar{
  width:6px;
}

.mobileClientSearchResults::-webkit-scrollbar-track{
  border-radius:999px;
  background:rgba(255,255,255,.04);
}

.mobileClientSearchResults::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(125,211,252,.28);
}

.mobileClientRecent{
  width:100%;

  display:grid;
  gap:10px;

  padding-top:4px;
}

.mobileClientRecent[hidden]{
  display:none;
}

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

  color:rgba(255,255,255,.72);

  font-size:12px;
  font-weight:900;
}

.mobileClientRecentHeader strong{
  color:#fff;
  font-size:14px;
}

.mobileClientRecentToggle{
  width:100%;
  min-height:54px;
  padding:
    9px
    12px
    9px
    14px;

  border:1px solid rgba(226,235,246,.14);
  border-radius:999px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  color:#f8fbff;
  background:
    linear-gradient(180deg, rgba(15,27,42,.62), rgba(5,12,21,.74));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 12px 26px rgba(0,0,0,.18);

  font:inherit;
  text-align:left;
  cursor:pointer;
}

.mobileClientRecentToggle span{
  min-width:0;
  display:grid;
  gap:2px;
}

.mobileClientRecentToggle strong{
  color:#fff;
  font-size:14px;
  font-weight:950;
}

.mobileClientRecentToggle em{
  color:rgba(226,235,246,.58);
  font-size:12px;
  font-style:normal;
  font-weight:850;
}

.mobileClientRecentToggle b{
  flex:0 0 auto;
  min-width:78px;
  height:34px;
  padding:
    0
    12px;

  border-radius:999px;

  display:grid;
  place-items:center;

  color:#031019;
  background:linear-gradient(135deg, #5eead4, #38bdf8);
  box-shadow:
    0 10px 20px rgba(56,189,248,.14),
    inset 0 1px 0 rgba(255,255,255,.36);

  font-size:12px;
  font-weight:950;
}

.mobileClientRecentToggle.expanded{
  border-color:rgba(125,211,252,.34);
  box-shadow:
    0 0 24px rgba(56,189,248,.08),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.mobileClientRecentList{
  min-height:0;
  max-height:min(360px, 42dvh);

  display:grid;
  gap:8px;

  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scrollbar-gutter:stable;
}

.mobileClientRecentList[hidden]{
  display:none;
}

.mobileClientRecentRow,
.mobileClientEmpty{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  background:rgba(255,255,255,.07);
}

.mobileClientRecentRow{
  min-height:58px;

  display:grid;
  align-items:center;
  gap:6px;

  padding:
    12px
    14px;
}

.mobileClientRecentInfo,
.mobileClientEmpty{
  min-width:0;

  display:grid;
  gap:4px;
}

.mobileClientRecentInfo strong,
.mobileClientEmpty strong{
  color:#fff;
  font-size:14px;
  font-weight:950;
}

.mobileClientRecentInfo span,
.mobileClientEmpty span{
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:800;
}

.mobileClientEmpty{
  padding:14px;
}

.mobileClientNotice{
  padding:
    6px
    2px;

  display:grid;
  gap:3px;

  color:rgba(226,235,246,.70);
}

.mobileClientNotice strong{
  color:rgba(248,251,255,.86);
  font-size:13px;
  font-weight:950;
}

.mobileClientNotice span{
  color:rgba(226,235,246,.58);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}

.mobileClientSearchResult{
  min-height:58px;

  display:grid;
  gap:4px;
  justify-items:start;

  padding:11px 13px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  color:#fff;

  background:rgba(255,255,255,.07);

  text-align:left;
}

.mobileClientSearchResult strong{
  font-size:14px;
  font-weight:950;
}

.mobileClientSearchResult span{
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:800;
}

.mobileReadingNotice{
  padding:
    12px
    14px;

  border:1px solid rgba(255,214,51,.36);
  border-radius:18px;

  display:grid;
  gap:3px;

  color:#fff;

  background:rgba(255,214,51,.15);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}

.mobileReadingNotice strong{
  font-size:13px;
  font-weight:950;
}

.mobileReadingNotice span{
  color:rgba(255,255,255,.78);

  font-size:12px;
  font-weight:850;
}

.appToast{
  position:fixed;
  left:50%;
  bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:9999;

  width:min(88vw, 420px);
  padding:14px 18px;

  border:1px solid rgba(94,234,212,.34);
  border-radius:999px;

  color:#031019;
  background:linear-gradient(135deg, rgba(94,234,212,.96), rgba(56,189,248,.92));
  box-shadow:
    0 18px 42px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.42);

  font-size:14px;
  font-weight:950;
  line-height:1.25;
  text-align:center;

  opacity:0;
  pointer-events:none;
  transform:translate(-50%, 16px);
  transition:
    opacity .18s ease,
    transform .18s ease;
}

.appToast.visible{
  opacity:1;
  transform:translate(-50%, 0);
}

.systemAlertOverlay{
  position:fixed;
  inset:0;
  z-index:10000;

  padding:
    calc(20px + env(safe-area-inset-top))
    18px
    calc(20px + env(safe-area-inset-bottom));

  display:grid;
  place-items:center;

  background:
    radial-gradient(circle at 50% 20%, rgba(94,234,212,.10), transparent 34%),
    rgba(3,7,18,.66);
  backdrop-filter:blur(16px);

  opacity:0;
  transition:opacity .18s ease;
}

.systemAlertOverlay[hidden]{
  display:none;
}

.systemAlertOverlay.visible{
  opacity:1;
}

.systemAlertCard{
  position:relative;
  overflow:hidden;

  width:min(92vw, 440px);
  padding:20px;

  border:1px solid rgba(94,234,212,.18);
  border-radius:26px;

  display:grid;
  gap:16px;

  color:#fff;
  background:
    radial-gradient(circle at 24% 0%, rgba(94,234,212,.11), transparent 34%),
    linear-gradient(180deg, rgba(9,18,30,.96), rgba(3,9,18,.98));
  box-shadow:
    0 28px 80px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(255,255,255,.08);

  transform:translateY(12px) scale(.98);
  transition:transform .18s ease;
}

.systemAlertCard::before{
  content:"";

  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:2px;

  border-radius:999px;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,111,216,.76) 16%,
      rgba(111,200,255,.72) 40%,
      rgba(127,255,212,.76) 64%,
      rgba(255,213,61,.78) 86%,
      transparent
    );
}

.systemAlertOverlay.visible .systemAlertCard{
  transform:translateY(0) scale(1);
}

.systemAlertHeader{
  display:flex;
  align-items:center;
  gap:12px;
}

.systemAlertIcon{
  width:38px;
  height:38px;

  border-radius:14px;

  display:grid;
  place-items:center;

  color:#031019;
  background:linear-gradient(135deg, rgba(94,234,212,.96), rgba(56,189,248,.92));
  box-shadow:
    0 10px 24px rgba(56,189,248,.14),
    inset 0 1px 0 rgba(255,255,255,.35);

  font-size:18px;
  font-weight:950;
}

.systemAlertHeader strong{
  font-size:20px;
  font-weight:950;
  letter-spacing:0;
}

.systemAlertCard p{
  margin:0;

  color:rgba(255,255,255,.80);

  font-size:15px;
  font-weight:820;
  line-height:1.45;
  white-space:pre-line;
}

.systemAlertInput{
  width:100%;
  min-height:96px;
  max-height:180px;
  padding:13px 14px;

  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  outline:0;

  color:#fff;
  background:rgba(2,8,16,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);

  resize:vertical;
  font:inherit;
  font-size:14px;
  font-weight:850;
  line-height:1.35;
}

.systemAlertInput:focus{
  border-color:rgba(94,234,212,.42);
  box-shadow:
    0 0 0 3px rgba(94,234,212,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.systemAlertInput[hidden]{
  display:none;
}

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

.systemAlertCancel,
.systemAlertAction{
  min-height:48px;
  border:1px solid transparent;
  border-radius:999px;

  font:inherit;
  font-size:16px;
  font-weight:950;
  cursor:pointer;
}

.systemAlertCancel{
  color:rgba(255,255,255,.84);
  border-color:rgba(148,163,184,.20);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.systemAlertCancel[hidden]{
  display:none;
}

.systemAlertCancel[hidden] + .systemAlertAction{
  grid-column:1 / -1;
}

.systemAlertAction{
  color:#031019;
  border-color:rgba(94,234,212,.32);
  background:linear-gradient(135deg, rgba(94,234,212,.96), rgba(56,189,248,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38);
}

.systemAlertOverlay[data-type="warning"] .systemAlertIcon,
.systemAlertOverlay[data-type="confirm"] .systemAlertIcon{
  background:linear-gradient(135deg, rgba(250,204,21,.96), rgba(245,158,11,.86));
}

.systemAlertOverlay[data-type="error"] .systemAlertIcon{
  color:#fff;
  background:linear-gradient(135deg, rgba(248,113,113,.92), rgba(190,18,60,.78));
}

.systemAlertOverlay[data-type="success"] .systemAlertIcon{
  background:linear-gradient(135deg, rgba(94,234,212,.96), rgba(34,197,94,.82));
}

.openingAttendantsField{
  border:0;
  margin:0;
}

.openingAttendantsList{
  min-height:52px;

  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:8px;
}

.openingAttendantOption{
  min-height:44px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;

  display:flex;
  align-items:center;
  gap:8px;

  color:#fff;

  background:rgba(255,255,255,.07);

  font-size:13px;
  font-weight:900;
}

.openingAttendantOption input{
  accent-color:#ffd633;
}

.openingAttendantsEmpty{
  color:rgba(255,255,255,.65);

  font-size:13px;
  font-weight:850;
}

.mobileReadingResult{
  min-height:64px;

  padding:
    12px
    14px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;

  display:grid;
  gap:4px;

  background:rgba(255,255,255,.08);
}

.mobileReadingResult span{
  color:rgba(255,255,255,.58);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.mobileReadingResult strong{
  font-size:22px;
  font-weight:950;
}

.mobileStatementList{
  min-height:0;

  display:grid;
  align-content:start;
  gap:10px;

  overflow:auto;
  overflow-anchor:none;
}

.mobileStatementRow{
  padding:
    11px
    12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  display:grid;
  grid-template-columns:minmax(58px, auto) minmax(0, 1fr) auto;
  align-items:center;
  gap:9px;

  background:rgba(255,255,255,.065);
}

.mobileStatementRow strong{
  display:block;

  font-size:13px;
  font-weight:950;
}

.mobileStatementRow > strong{
  white-space:nowrap;
}

.mobileStatementRow .statementDateTime{
  min-width:58px;
}

.mobileStatementRow .statementDateTime strong{
  font-size:11px;
}

.mobileStatementRow .statementDateTime small{
  font-size:10px;
}

.mobileStatementRow span{
  display:block;

  margin-top:2px;

  color:rgba(255,255,255,.56);

  font-size:11px;
  font-weight:800;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mobileStatementRow.canceled{
  opacity:.42;
  filter:saturate(.65);
}

.mobileStatementRow.zeroValue{
  opacity:.46;
  filter:saturate(.55);
}

.mobileStatementRow.zeroValue > strong{
  color:rgba(255,255,255,.56);
}

.mobileStatementRow .statementDateTime{
  display:grid;
  margin-top:0;
  gap:3px;
}

.mobileStatementRow > div{
  min-width:0;
}

.appShell{
  min-height:100dvh;
  max-height:100dvh;
  display:grid;
  grid-template-columns:244px 1fr;

  overflow:hidden;
  transition:grid-template-columns .22s ease;
}

.appShell.sidebarCollapsed{
  grid-template-columns:78px 1fr;
}

.sidebar{
  min-height:0;
  height:100dvh;
  max-height:100dvh;
  padding:16px 14px;
  border-right:1px solid rgba(255,255,255,.08);
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto;
  gap:0;
  background:rgba(8,0,24,.36);
  backdrop-filter:blur(18px);
  overflow:hidden;
}

.sidebarScrim{
  display:none;
}

.sidebarHeader{
  min-height:46px;
  margin:0 8px 10px;

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

.brand{
  margin:0;
  width:max-content;
  position:relative;
  display:grid;
  justify-items:center;
  gap:2px;
  white-space:nowrap;
}

.brand strong{
  color:#fff;
  font-size:24px;
  font-weight:950;
  line-height:.96;
  letter-spacing:-.01em;
}

.brand span{
  grid-row:3;
  color:rgba(255,255,255,.66);
  font-size:8px;
  font-weight:750;
  letter-spacing:.38em;
  line-height:1;
}

.brand::after{
  content:"";

  width:88px;
  height:2px;
  margin-top:3px;

  border-radius:999px;

  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,111,216,.86) 14%,
      rgba(111,200,255,.82) 42%,
      rgba(127,255,212,.86) 64%,
      rgba(255,213,61,.90) 86%,
      transparent 100%
    );
  box-shadow:
    0 0 8px rgba(255,111,216,.16),
    0 0 12px rgba(111,200,255,.10),
    0 0 11px rgba(127,255,212,.10),
    0 0 10px rgba(250,204,21,.12);
  opacity:.95;
}

.sidebarCollapseAction{
  width:30px;
  height:30px;
  flex:0 0 30px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;

  display:grid;
  place-items:center;

  color:#fff;
  background:rgba(255,255,255,.08);

  cursor:pointer;
  font-size:19px;
  font-weight:950;
  line-height:1;
}

.sidebarCollapseAction:hover{
  background:rgba(255,255,255,.14);
}

.appShell.sidebarCollapsed .sidebar{
  padding-inline:12px;
}

.appShell.sidebarCollapsed .sidebarHeader{
  margin-inline:0;
  justify-content:center;
}

	  .appShell.sidebarCollapsed .brand,
	  .appShell.sidebarCollapsed .navGroupLabel,
	  .appShell.sidebarCollapsed .navItem > span:not(.navIcon):not(.navBadge),
	  .appShell.sidebarCollapsed .sidebarUnitsAction > span:not(.navIcon),
.appShell.sidebarCollapsed .sidebarSignature{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.appShell.sidebarCollapsed .sidebarCollapseAction{
  transform:none;
}

.navMenu{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding-right:2px;

  display:grid;
  align-content:start;
  gap:6px;
}

.navMenu::-webkit-scrollbar{
  width:6px;
}

.navMenu::-webkit-scrollbar-track{
  background:transparent;
}

.navMenu::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(255,255,255,.18);
}

.sidebarFooter{
  min-height:0;
  margin:8px 8px 0;
  display:grid;
  gap:6px;
}

.sidebarUnitsAction{
  height:34px;
  padding:0 12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;

  display:flex;
  align-items:center;
  gap:12px;

  color:#fff;
  background:rgba(255,255,255,.07);

  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:900;
}

.sidebarUnitsAction:hover{
  border-color:rgba(255,213,61,.34);
  background:rgba(255,255,255,.12);
}

.sidebarUnitsAction .navIcon{
  font-size:17px;
}

.appShell.sidebarCollapsed .sidebarFooter{
  margin-inline:0;
  justify-items:center;
}

.appShell.sidebarCollapsed .sidebarUnitsAction{
  width:54px;
  padding:0;
  justify-content:center;
}

.sidebarFooterDivider{
  height:1px;
  background:rgba(255,255,255,.10);
}

.sidebarSignature{
  margin:0;
  min-height:22px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  color:rgba(255,255,255,.58);

  font-size:10px;
  font-weight:650;
  line-height:1;
}

.sidebarSignature span{
  letter-spacing:.24em;
}

.sidebarSignature small{
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:3px 6px;

  color:rgba(255,255,255,.74);
  background:rgba(255,255,255,.06);

  font-size:9px;
  font-weight:900;
  letter-spacing:0;
}

.appShell.sidebarCollapsed .sidebarFooterDivider,
.appShell.sidebarCollapsed .sidebarSignature{
  display:none;
}

.navGroup{
  display:grid;
  gap:3px;
}

.navGroup + .navGroup{
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,.1);
}

.navGroupLabel{
  padding:0 14px 1px;
  color:rgba(255,255,255,.46);
  font-size:9px;
  font-weight:950;
  letter-spacing:0;
  text-transform:uppercase;
}

.navItem{
  position:relative;
  height:36px;
  padding:0 14px;
  border:0;
  border-radius:12px;
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  background:transparent;
  cursor:pointer;
  touch-action:manipulation;
  user-select:none;
}

.navBadge{
  margin-left:auto;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#120d05 !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d);
  box-shadow:
    0 8px 18px rgba(250,204,21,.18),
    inset 0 1px 0 rgba(255,255,255,.48);
  font-size:11px;
  font-weight:950;
  line-height:1;
}

.appShell.sidebarCollapsed .navItem{
  width:54px;
  padding:0;
  justify-content:center;
  gap:0;
}

.appShell.sidebarCollapsed .navBadge{
  position:absolute;
  top:3px;
  right:3px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  font-size:9px;
}

.appShell.sidebarCollapsed .navGroup + .navGroup{
  padding-top:10px;
}

.navItem.active,
.navItem:hover{
  background:rgba(255,255,255,.12);
}

.navItem.locked,
.navItem:disabled{
  opacity:.42;
  cursor:default;
}

.navItem.locked:hover,
.navItem:disabled:hover{
  background:transparent;
}

.navItem.danger{
  margin-top:4px;

  color:#ffd7df;

  background:rgba(255,70,110,.08);
}

.navItem.danger:hover,
.navItem.danger.active{
  background:rgba(255,70,110,.18);
}

.navItem.danger.locked:hover,
.navItem.danger:disabled:hover{
  background:rgba(255,70,110,.08);
}

.navItem.danger .navIcon{
  color:#ff7d9a;
}

.navIcon{
  width:24px;
  text-align:center;
  color:#f5c8ff;
}

.navGroupCash .navIcon{
  color:#ff6fd8;
  text-shadow:0 0 14px rgba(255,111,216,.38);
}

.navGroupControl .navIcon{
  color:#6fc8ff;
  text-shadow:0 0 14px rgba(111,200,255,.38);
}

.navGroupAnalysis .navIcon{
  color:#7fffd4;
  text-shadow:0 0 14px rgba(127,255,212,.30);
}

.navGroupAdmin .navIcon{
  color:rgba(222,177,255,.72);
  text-shadow:0 0 14px rgba(183,111,255,.24);
}

.navGroupCash .navItem.active .navIcon,
.navGroupCash .navItem:hover .navIcon{
  color:#ff92e3;
}

.navGroupControl .navItem.active .navIcon,
.navGroupControl .navItem:hover .navIcon{
  color:#9fdcff;
}

.navGroupAnalysis .navItem.active .navIcon,
.navGroupAnalysis .navItem:hover .navIcon{
  color:#a7ffe4;
}

.navGroupAdmin .navItem.active .navIcon,
.navGroupAdmin .navItem:hover .navIcon{
  color:rgba(236,211,255,.90);
}

.navIcon svg{
  width:19px;
  height:19px;

  display:block;

  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.workspace{
  min-height:0;
  height:100dvh;
  max-height:100dvh;
  overflow:hidden;

  padding:
    22px
    42px
    34px;

  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
}

.appShell.operationalTheme{
  background:
    radial-gradient(circle at 42% 42%, rgba(56,189,248,.20), transparent 34%),
    radial-gradient(circle at 72% 104%, rgba(37,99,235,.22), transparent 34%),
    linear-gradient(135deg, #061529 0%, #081d35 46%, #050b16 100%);
}

.appShell.operationalTheme .sidebar{
  border-right-color:rgba(96,165,250,.18);
  background:
    linear-gradient(
      180deg,
      rgba(7,26,50,.76),
      rgba(3,10,22,.58)
    );
  box-shadow:
    18px 0 44px rgba(0,0,0,.18),
    inset -1px 0 0 rgba(125,211,252,.06);
}

.appShell.operationalTheme .workspace{
  background:
    radial-gradient(circle at 34% 38%, rgba(56,189,248,.13), transparent 34%),
    radial-gradient(circle at 78% 96%, rgba(59,130,246,.11), transparent 32%),
    linear-gradient(135deg, rgba(8,30,58,.18), rgba(3,10,22,.16));
}

.appShell.operationalTheme .navGroupCash .navIcon{
  color:#7dd3fc;
  text-shadow:0 0 16px rgba(125,211,252,.36);
}

.appShell.operationalTheme .navGroupCash .navItem.active,
.appShell.operationalTheme .navGroupCash .navItem:hover{
  border-color:rgba(125,211,252,.24);
  background:
    linear-gradient(135deg, rgba(56,189,248,.18), rgba(37,99,235,.10));
}

.appShell.operationalTheme .navGroupCash .navItem.active .navIcon,
.appShell.operationalTheme .navGroupCash .navItem:hover .navIcon{
  color:#bae6fd;
}

.appShell.machinesTheme{
  background:
    radial-gradient(circle at 43% 44%, rgba(55,154,255,.34), transparent 35%),
    radial-gradient(circle at 62% 108%, rgba(120,39,255,.48), transparent 34%),
    radial-gradient(circle at 18% 18%, rgba(43,116,255,.26), transparent 34%),
    linear-gradient(135deg, #0b3c92 0%, #063473 40%, #032356 67%, #061944 100%);
}

.appShell.machinesTheme .sidebar{
  border-right-color:rgba(125,203,255,.14);
  background:
    linear-gradient(
      180deg,
      rgba(2,20,60,.64),
      rgba(2,10,33,.48)
    );
}

.appShell.machinesTheme .workspace{
  background:
    radial-gradient(circle at 37% 43%, rgba(67,172,255,.30), transparent 34%),
    radial-gradient(circle at 66% 96%, rgba(105,31,230,.34), transparent 31%),
    linear-gradient(135deg, rgba(8,69,151,.16), rgba(3,24,67,.20));
}

.appShell.registryTheme{
  background:
    radial-gradient(circle at 20% 8%, rgba(245,158,11,.12), transparent 32%),
    radial-gradient(circle at 82% 18%, rgba(250,204,21,.07), transparent 28%),
    linear-gradient(180deg, #1f1b16 0%, #14120f 48%, #090806 100%);
}

.appShell.registryTheme .sidebar{
  border-right-color:rgba(250,204,21,.14);
  background:
    linear-gradient(
      180deg,
      rgba(35,30,22,.86),
      rgba(14,12,9,.70)
    );
  box-shadow:
    18px 0 44px rgba(0,0,0,.18),
    inset -1px 0 0 rgba(250,204,21,.06);
}

.appShell.registryTheme .workspace{
  background:
    radial-gradient(circle at 28% 18%, rgba(245,158,11,.10), transparent 34%),
    radial-gradient(circle at 78% 88%, rgba(250,204,21,.055), transparent 30%),
    linear-gradient(135deg, rgba(40,34,24,.28), rgba(12,10,7,.34));
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.topbarTitle{
  min-width:0;

  display:flex;
  align-items:center;
  gap:12px;
}

.mobileMenuButton{
  position:relative;

  width:42px;
  height:42px;

  border:1px solid rgba(255,62,200,.26);
  border-radius:50%;

  display:none;
  place-items:center;

  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  box-shadow:
    0 12px 28px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.14);
  cursor:pointer;
}

.mobileMenuButton:hover,
.mobileMenuButton[aria-expanded="true"]{
  border-color:rgba(255,62,200,.54);

  background:
    linear-gradient(180deg, rgba(255,62,200,.24), rgba(255,255,255,.08));
}

.menuIconDot{
  position:absolute;
  top:9px;
  right:9px;

  width:7px;
  height:7px;

  border-radius:50%;

  background:var(--yellow);
  box-shadow:0 0 14px rgba(255,213,61,.68);
}

.menuIconLines{
  width:20px;
  height:16px;

  display:grid;
  align-content:center;
  gap:4px;
}

.menuIconLines span{
  height:2px;

  border-radius:999px;

  display:block;

  background:#fff;
  box-shadow:0 0 10px rgba(255,255,255,.20);
  transition:
    transform .18s ease,
    width .18s ease,
    opacity .18s ease;
}

.menuIconLines span:nth-child(1){
  width:12px;
}

.menuIconLines span:nth-child(2){
  width:20px;
}

.menuIconLines span:nth-child(3){
  width:15px;
}

.mobileMenuButton[aria-expanded="true"] .menuIconLines span:nth-child(1){
  width:20px;
  transform:translateY(6px) rotate(45deg);
}

.mobileMenuButton[aria-expanded="true"] .menuIconLines span:nth-child(2){
  opacity:0;
}

.mobileMenuButton[aria-expanded="true"] .menuIconLines span:nth-child(3){
  width:20px;
  transform:translateY(-6px) rotate(-45deg);
}

.eyebrow{
  margin:0 0 8px;
  color:var(--yellow);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}

.topbarEyebrow{
  display:flex;
  flex-wrap:wrap;
  gap:
    0
    4px;
}

.topbarEyebrow span,
.topbarEyebrow strong{
  font:inherit;
}

h1{
  margin:0;
  font-size:36px;
}

.primaryAction{
  height:42px;
  padding:0 20px;
  border:0;
  border-radius:999px;
  background:var(--yellow);
  color:#14001f;
  font-weight:900;
  cursor:pointer;
}

.topActions{
  position:relative;

  display:flex;
  align-items:center;
  gap:12px;
}

.datePickerWrap{
  position:relative;
}

.dateSelector{
  height:44px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  color:#fff;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.12),
      rgba(255,255,255,.055)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12);

  cursor:pointer;
}

.dateIcon{
  width:16px;
  height:16px;

  border:2px solid rgba(255,213,61,.92);
  border-radius:5px;

  display:block;

  color:transparent;

  box-shadow:
    inset 0 4px 0 rgba(255,213,61,.92);
}

.dateClockStack{
  position:relative;
  z-index:1;

  display:grid;
  justify-items:center;
  gap:2px;

  pointer-events:none;
}

#cashierDateText{
  min-width:84px;

  color:#fff;

  font-size:12px;
  font-weight:950;
  line-height:1;
  text-align:center;
  font-variant-numeric:tabular-nums;
}

.dateClockStack strong{
  min-width:64px;

  color:rgba(255,255,255,.72);

  font-size:11px;
  font-weight:950;
  line-height:1;
  text-align:center;
  font-variant-numeric:tabular-nums;
}

.calendarPopover{
  position:absolute;
  top:calc(100% + 12px);
  right:0;

  width:286px;

  padding:14px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;

  display:none;

  background:
    linear-gradient(
      180deg,
      rgba(28,9,50,.96),
      rgba(12,2,28,.98)
    );

  box-shadow:
    0 24px 54px rgba(0,0,0,.42),
    0 0 34px rgba(255,62,200,.12),
    inset 0 1px 0 rgba(255,255,255,.10);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  z-index:25;
}

.datePickerWrap.open .calendarPopover{
  display:block;
}

.calendarHeader{
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  gap:8px;

  margin-bottom:12px;
}

.calendarHeader strong{
  color:#fff;

  font-size:14px;
  font-weight:950;
  text-align:center;
  text-transform:capitalize;
}

.calendarNav{
  width:34px;
  height:34px;

  border:0;
  border-radius:50%;

  color:#fff;

  background:rgba(255,255,255,.10);

  font-size:22px;
  font-weight:900;
  line-height:1;

  cursor:pointer;
}

.calendarNav:hover{
  background:rgba(255,255,255,.16);
}

.calendarWeekdays,
.calendarDays{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:6px;
}

.calendarWeekdays{
  margin-bottom:7px;
}

.calendarWeekdays span{
  color:rgba(255,255,255,.48);

  font-size:10px;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
}

.calendarDay,
.calendarBlank{
  aspect-ratio:1;
  min-width:0;
}

.calendarDay{
  border:1px solid transparent;
  border-radius:12px;

  color:#fff;

  background:rgba(255,255,255,.07);

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.calendarDay:hover{
  border-color:rgba(255,213,61,.36);

  background:rgba(255,255,255,.13);
}

.calendarDay.today{
  border-color:rgba(255,255,255,.16);
}

.calendarDay.hasClosing{
  position:relative;

  border-color:rgba(255,62,200,.46);
  box-shadow:0 0 0 2px rgba(255,62,200,.08);
}

.calendarDay.hasClosing::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:5px;
  height:5px;

  border-radius:50%;

  background:var(--accent);
  transform:translateX(-50%);
}

.calendarDay.selected{
  color:#170021;

  background:var(--yellow);

  box-shadow:
    0 0 18px rgba(255,213,61,.22);
}

.calendarDay.selected.hasClosing::after{
  background:#170021;
}

.avatarMenuWrap{
  position:relative;

  display:grid;
  justify-items:center;
  gap:6px;
}

.avatarUserName{
  max-width:92px;

  color:rgba(255,255,255,.68);

  font-size:11px;
  font-weight:850;
  line-height:1.15;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.avatarButton{
  width:46px;
  height:46px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:50%;

  display:grid;
  place-items:center;

  color:#fff;

  background:
    linear-gradient(
      145deg,
      rgba(255,62,200,.86),
      rgba(141,50,255,.72)
    );

  box-shadow:
    0 14px 26px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.28);

  cursor:pointer;
}

.avatarButton span{
  font-size:13px;
  font-weight:950;
}

.avatarDropdown{
  position:absolute;
  top:calc(100% + 12px);
  right:0;

  width:230px;

  padding:10px;

  border-radius:20px;

  display:none;

  background:
    linear-gradient(
      180deg,
      rgba(28,9,50,.94),
      rgba(12,2,28,.96)
    );

  border:1px solid rgba(255,255,255,.12);

  box-shadow:
    0 22px 48px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.08);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  z-index:20;
}

.avatarMenuWrap.open .avatarDropdown{
  display:grid;
  gap:6px;
}

.operatorCard{
  padding:10px 10px 12px;
  margin-bottom:4px;

  border-bottom:1px solid rgba(255,255,255,.10);
}

.operatorCard small{
  display:block;

  margin-bottom:6px;

  color:#ffd53d;

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.operatorCard strong,
.operatorCard span{
  display:block;
}

.operatorCard strong{
  color:#fff;

  font-size:14px;
  font-weight:900;
}

.operatorCard span{
  margin-top:4px;

  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:700;
}

.avatarDropdown button{
  min-height:40px;

  padding:
    0
    12px;

  border:0;
  border-radius:12px;

  color:#fff;

  background:transparent;

  text-align:left;
  font-size:13px;
  font-weight:800;

  cursor:pointer;
}

.avatarDropdown button:hover{
  background:rgba(255,255,255,.10);
}

.avatarDropdown button.logout{
  color:#ffd7df;
}

.avatarDropdown button.logout:hover{
  background:rgba(255,70,110,.14);
}

.cashBoard{
  min-height:0;
  height:100%;
  align-self:stretch;

  margin-top:14px;
  padding-bottom:clamp(18px, 2.6vh, 30px);

  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  gap:10px;
}

.cashBoard[hidden],
.historyBanner[hidden],
.licenseWarningStrip[hidden],
.cashStatusStrip[hidden],
.cashGrid[hidden],
.statementBoard[hidden],
.attendantBoard[hidden],
.machinesBoard[hidden],
.registryBoard[hidden],
.settingsBoard[hidden],
.notesBoard[hidden],
.helpBoard[hidden],
.closingsBoard[hidden],
.closingBoard[hidden]{
  display:none;
}

.cashGrid{
  min-height:0;
  height:100%;
  box-sizing:border-box;

  display:grid;
  grid-template-columns:repeat(4, minmax(150px, 1fr));
  grid-template-rows:
    auto
    minmax(62px, .85fr)
    minmax(42px, .46fr)
    auto
    minmax(62px, .85fr)
    minmax(62px, .85fr)
    minmax(62px, .85fr)
    minmax(42px, .46fr);
  align-content:stretch;

  gap:clamp(6px, .9vh, 10px);
  padding-bottom:clamp(18px, 2.5vh, 26px);
}

.licenseWarningStrip{
  min-height:44px;
  max-width:min(640px, 52vw);
  padding:8px 12px;

  border:1px solid rgba(251,191,36,.36);
  border-radius:999px;

  display:flex;
  align-items:center;
  gap:9px;

  background:
    radial-gradient(circle at 8% 0%, rgba(251,191,36,.18), transparent 34%),
    linear-gradient(135deg, rgba(251,191,36,.16), rgba(251,146,60,.08)),
    rgba(255,255,255,.055);
  box-shadow:
    0 16px 34px rgba(0,0,0,.16),
    0 0 28px rgba(251,191,36,.08),
    inset 0 1px 0 rgba(255,255,255,.10);

  cursor:pointer;
  appearance:none;
}

.licenseWarningStrip:hover,
.licenseWarningStrip:focus-visible{
  border-color:rgba(251,191,36,.58);
  background:
    radial-gradient(circle at 8% 0%, rgba(251,191,36,.24), transparent 34%),
    linear-gradient(135deg, rgba(251,191,36,.22), rgba(251,146,60,.11)),
    rgba(255,255,255,.075);
}

.licenseWarningStrip:focus-visible{
  outline:2px solid rgba(251,191,36,.42);
  outline-offset:3px;
}

.licenseWarningStrip span{
  flex:0 0 auto;

  color:rgba(251,191,36,.86);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.licenseWarningStrip strong{
  min-width:0;

  color:#fbbf24;

  font-size:13px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.licenseWarningStrip small{
  flex:0 0 auto;

  padding:6px 10px;
  border:1px solid rgba(251,191,36,.30);
  border-radius:999px;

  color:#fff4b8;
  background:rgba(251,191,36,.10);

  font-size:10px;
  font-weight:950;
  line-height:1.2;
  white-space:nowrap;
}

@media (max-width:1320px){
  .licenseWarningStrip{
    max-width:min(410px, 38vw);
  }

  .licenseWarningStrip small{
    display:none;
  }
}

.cashStatusStrip{
  min-height:48px;
  padding:9px 16px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;

  display:grid;
  grid-template-columns:minmax(100px, auto) minmax(150px, max-content) minmax(160px, 1fr) auto auto;
  align-items:center;
  gap:10px;

  background:
    linear-gradient(135deg, rgba(28,82,172,.34), rgba(255,62,200,.12)),
    rgba(255,255,255,.055);
  box-shadow:
    0 16px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.cashStatusStrip span{
  color:rgba(255,255,255,.64);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.cashStatusStrip strong{
  color:#fff;

  font-size:clamp(16px, 2vh, 20px);
  font-weight:950;
}

.cashStatusStrip .cashStatusMeta{
  justify-self:start;

  padding:7px 12px;
  border:1px solid rgba(255,213,61,.32);
  border-radius:999px;

  color:#fff4b8;
  background:rgba(255,213,61,.10);

  font-size:11px;
  font-weight:950;
  text-align:left;

  cursor:default;
}

.cashStatusStrip .cashStatusMeta.actionable{
  cursor:pointer;
}

.cashStatusStrip .cashStatusMeta.actionable:hover{
  border-color:rgba(255,213,61,.62);
  background:rgba(255,213,61,.18);
}

.cashStatusStrip .cashStatusReview,
.cashStatusStrip .cashStatusCancel{
  justify-self:end;

  min-height:32px;
  padding:0 12px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;

  color:#fff;
  background:rgba(255,255,255,.12);

  font-size:11px;
  font-weight:950;

  cursor:pointer;
}

.cashStatusStrip .cashStatusReview{
  border-color:rgba(255,213,61,.44);
  color:#1a0e2a;
  background:#ffd53d;
}

.cashStatusStrip .cashStatusReview:hover{
  background:#ffe174;
}

.cashStatusStrip .cashStatusCancel:hover{
  background:rgba(255,255,255,.18);
}

.cashStatusStrip.open{
  border-color:rgba(88,220,180,.28);
  background:
    linear-gradient(135deg, rgba(28,82,172,.34), rgba(70,220,190,.13)),
    rgba(255,255,255,.06);
}

.cashStatusStrip.warning,
.cashStatusStrip.closing{
  border-color:rgba(255,213,61,.34);
  background:
    linear-gradient(135deg, rgba(255,213,61,.18), rgba(255,62,200,.12)),
    rgba(255,255,255,.06);
}

.cashStatusStrip.warning,
.cashStatusStrip.closing{
  animation:cashStatusPulse 1.45s ease-in-out infinite;
}

.cashStatusStrip.balanceAlert{
  border-color:rgba(255,85,85,.72);
  background:
    linear-gradient(135deg, rgba(239,68,68,.38), rgba(251,146,60,.24)),
    rgba(80,18,18,.34);
  animation:cashStatusCriticalPulse 1.05s ease-in-out infinite;
}

.cashStatusStrip.balanceAlert .cashStatusMeta{
  border-color:rgba(255,213,61,.62);
  color:#fff7ad;
  background:rgba(255,85,85,.20);
  box-shadow:0 0 18px rgba(255,85,85,.18);
}

@keyframes cashStatusPulse{
  0%,
  100%{
    border-color:rgba(255,213,61,.34);
    box-shadow:
      0 16px 34px rgba(0,0,0,.18),
      0 0 0 rgba(255,213,61,0),
      inset 0 1px 0 rgba(255,255,255,.10);
    transform:scale(1);
  }

  50%{
    border-color:rgba(255,213,61,.72);
    box-shadow:
      0 16px 34px rgba(0,0,0,.18),
      0 0 0 4px rgba(255,213,61,.12),
      0 0 24px rgba(255,213,61,.22),
      inset 0 1px 0 rgba(255,255,255,.18);
    transform:scale(1.006);
  }
}

@keyframes cashStatusCriticalPulse{
  0%,
  100%{
    border-color:rgba(255,85,85,.62);
    box-shadow:
      0 16px 34px rgba(0,0,0,.20),
      0 0 0 rgba(239,68,68,0),
      inset 0 1px 0 rgba(255,255,255,.12);
    transform:scale(1);
  }

  50%{
    border-color:rgba(255,213,61,.90);
    box-shadow:
      0 18px 38px rgba(0,0,0,.24),
      0 0 0 5px rgba(239,68,68,.18),
      0 0 30px rgba(251,146,60,.32),
      inset 0 1px 0 rgba(255,255,255,.20);
    transform:scale(1.008);
  }
}

.historyBanner{
  padding:14px 18px;

  border:1px solid rgba(255,62,200,.26);
  border-radius:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  box-shadow:
    0 18px 38px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.historyBanner.hasDifference{
  border-color:rgba(255,213,61,.42);
  background:
    linear-gradient(135deg, rgba(255,213,61,.18), rgba(255,62,200,.10)),
    rgba(255,255,255,.055);
}

.historyBanner.reviewMode{
  border-color:rgba(88,222,255,.62);
  background:
    linear-gradient(135deg, rgba(88,222,255,.20), rgba(255,213,61,.14)),
    rgba(255,255,255,.06);
}

.historyBannerInfo{
  display:grid;
  gap:4px;
  min-width:0;
}

.historyBannerInfo > span{
  color:var(--yellow);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.historyBanner strong{
  color:#fff;

  font-size:20px;
  font-weight:950;
}

.historyBanner small{
  color:rgba(255,255,255,.64);

  font-size:12px;
  font-weight:800;
}

.historyBannerAlert{
  width:max-content;
  max-width:100%;
  margin-top:6px;
  padding:7px 12px;

  border:1px solid rgba(255,213,61,.34);
  border-radius:999px;

  color:#fff4b8 !important;
  background:rgba(255,213,61,.11);

  font-size:12px;
  font-weight:950;
}

.historyBannerAlert[hidden]{
  display:none;
}

.historyClosingSelect{
  width:min(340px, 100%);
  height:34px;
  margin-top:6px;
  padding:0 36px 0 12px;

  border:1px solid rgba(255,62,200,.30);
  border-radius:999px;

  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:850;

  background:
    linear-gradient(180deg, rgba(255,62,200,.18), rgba(255,255,255,.055));
  outline:none;
}

.historyClosingSelect:focus{
  border-color:rgba(255,62,200,.78);
  box-shadow:0 0 0 3px rgba(255,62,200,.16);
}

.historyControls{
  min-width:max-content;
  padding:6px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  display:flex;
  align-items:center;
  gap:8px;

  background:rgba(0,0,0,.18);
}

.historyControls[hidden]{
  display:none;
}

.historyControls span{
  min-width:48px;

  color:#fff;

  font-size:12px;
  font-weight:950;
  text-align:center;
  white-space:nowrap;
}

.historyNavButton{
  width:32px;
  height:32px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;

  color:#fff;
  cursor:pointer;

  display:grid;
  place-items:center;

  background:rgba(255,255,255,.10);

  font:inherit;
  font-size:22px;
  font-weight:950;
  line-height:1;
}

.historyNavButton:hover:not(:disabled){
  border-color:rgba(255,62,200,.46);
  background:rgba(255,62,200,.20);
}

.historyNavButton:disabled{
  opacity:.36;
  cursor:not-allowed;
}

.historyReviewAction,
.historyReadingReviewAction{
  min-height:38px;
  padding:0 16px;

  border:1px solid rgba(88,222,255,.42);
  border-radius:999px;

  color:#fff;
  background:rgba(88,222,255,.16);

  cursor:pointer;

  font:inherit;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}

.historyReadingReviewAction{
  border-color:rgba(255,213,61,.46);
  color:#170021;
  background:var(--yellow);
}

.historyReadingReviewAction[hidden]{
  display:none;
}

.historyBanner.reviewMode .historyReviewAction{
  color:#170021;
  border-color:rgba(255,213,61,.74);
  background:var(--yellow);
}

.historyMode .cashTile{
  cursor:default;
}

.historyReviewMode .cashTile{
  cursor:pointer;
  opacity:1;
  border-color:rgba(88,222,255,.40);
  box-shadow:
    0 16px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.16),
    0 0 0 1px rgba(88,222,255,.10);
}

.historyReviewMode .cashTile:hover{
  transform:translateY(-1px);
  border-color:rgba(255,213,61,.52);
}

.historyMode .cashTile.historyDifference{
  border-color:rgba(255,91,129,.62);
  background:
    radial-gradient(circle at 88% 14%, rgba(255,91,129,.12), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.055));
  box-shadow:
    0 12px 26px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 0 1px rgba(255,91,129,.18);
}

.historyTileAudit{
  position:relative;
  grid-column:1 / -1;
  width:100%;
  padding-top:0;

  display:flex;
  align-items:center;
  gap:12px;
}

.cashTile .historyTileAudit span,
.cashTile .historyTileAudit strong{
  position:relative;
  min-width:0;
  min-height:auto;

  padding:0;

  border:0;
  border-radius:0;

  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;

  color:rgba(255,255,255,.58);
  background:transparent;

  font-size:11px;
  font-weight:400;
  line-height:1;
  text-align:left;
  white-space:nowrap;
}

.cashTile .historyTileAudit small{
  position:relative;
  min-width:0;

  color:rgba(255,255,255,.62);

  font-size:11px;
  font-weight:400;
  line-height:1;
  text-align:left;
  text-transform:none;
}

.cashTile .historyTileAudit b{
  min-width:0;

  display:block;

  overflow:hidden;
  text-overflow:ellipsis;

  font-size:10px;
  font-weight:700;
  line-height:1.1;
  text-align:left;
  opacity:.95;
}

.cashTile .historyTileAudit strong.negative{
  border-color:transparent;
  color:rgba(255,173,190,.96);
  background:transparent;
}

.cashTile .historyTileAudit strong.negative small{
  color:rgba(255,196,208,.92);
}

.cashTile .historyTileAudit strong.positive{
  border-color:transparent;
  color:rgba(178,255,204,.96);
  background:transparent;
}

.cashTile .historyTileAudit strong.positive small{
  color:rgba(204,255,221,.92);
}

@media (max-width: 520px){
  .historyTileAudit{
    display:grid;
    grid-template-columns:1fr;
    gap:3px;
  }

  .cashTile .historyTileAudit span,
  .cashTile .historyTileAudit strong{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    gap:3px;
    min-width:0;

    font-size:9.5px;
    white-space:nowrap;
  }

  .cashTile .historyTileAudit small{
    font-size:9.5px;
    white-space:nowrap;
  }

  .cashTile .historyTileAudit b{
    min-width:0;

    overflow:visible;
    text-overflow:clip;

    font-size:9.5px;
    text-align:right;
    white-space:nowrap;
  }

  .cashTile .historyTileAudit strong small{
    font-size:0;
  }

  .cashTile .historyTileAudit strong small::after{
    content:"Dif.";
    font-size:9.5px;
  }
}

.cashSectionHeader{
  grid-column:1 / -1;
}

.cashSectionHeader{
  min-height:22px;
  padding:0 2px;

  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
}

.cashSectionHeader span{
  color:#fff;

  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:0;
}

.cashSectionHeader small{
  color:rgba(255,255,255,.55);

  font-size:11px;
  font-weight:800;
  text-align:right;
}

.cashTile{
  position:relative;

  min-height:0;
  height:100%;
  min-height:56px;

  padding:
    clamp(8px, 1.1vh, 12px);

  border-radius:16px;

  display:grid;
  grid-template-columns:clamp(38px, 5.4vh, 48px) minmax(0, 1fr);
  grid-template-rows:1fr auto;
  align-items:center;
  gap:6px 10px;

  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.13),
      rgba(255,255,255,.055)
    );

  border:1px solid rgba(255,255,255,.12);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  box-shadow:
    0 12px 26px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);

  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;

  touch-action:manipulation;
  user-select:none;
}

.cashTile::before{
  content:"";

  position:absolute;

  inset:auto -26% -72% -26%;

  height:78px;

  background:
    radial-gradient(
      ellipse at center,
      rgba(255,62,200,.12),
      transparent 70%
    );

  pointer-events:none;
}

.tileIcon{
  position:relative;

  grid-row:1 / 3;

  width:clamp(34px, 4.8vh, 44px);
  height:clamp(34px, 4.8vh, 44px);

  display:grid;
  place-items:center;

  border-radius:14px;

  color:#fff;

  font-size:clamp(18px, 2.9vh, 25px);
  font-weight:900;
  line-height:1;

  background:
    linear-gradient(
      145deg,
      rgba(255,62,200,.92),
      rgba(141,50,255,.72)
    );

  box-shadow:
    0 10px 20px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.cashTile[data-group="composicao"] .tileIcon{
  background:
    linear-gradient(145deg, rgba(42,190,255,.90), rgba(50,94,255,.66));
}

.tileIcon svg{
  width:78%;
  height:78%;

  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;

  fill:none;
}

.tileIcon.pixIcon svg{
  width:68%;
  height:68%;

  fill:currentColor;
  stroke:transparent;
}

.tileIcon.valeIcon svg{
  width:82%;
  height:82%;

  stroke-width:2.7;
}

.cashTile strong{
  position:relative;
  min-width:0;

  font-size:clamp(11px, 1.45vh, 14px);
  font-weight:900;
  line-height:1.08;
  text-align:left;
}

.valeSplitTile{
  grid-template-columns:clamp(38px, 5.4vh, 48px) minmax(0, 1fr);
  align-items:center;
  column-gap:14px;
}

.valeSplitTile .tileIcon{
  grid-row:1 / 3;
}

.valeSplitContent{
  position:relative;

  grid-row:1 / 3;

  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  grid-template-rows:1fr auto;
  align-items:center;
  column-gap:32px;
  row-gap:6px;
  height:100%;
  min-width:0;
}

.valeSplitContent::after{
  content:"";

  position:absolute;
  top:50%;
  left:calc(43% - .5px);

  width:1px;
  height:64%;

  border-radius:999px;
  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(255,255,255,.18) 22%,
      rgba(255,255,255,.32) 50%,
      rgba(255,255,255,.18) 78%,
      transparent
    );
  box-shadow:0 0 10px rgba(216,180,254,.10);

  transform:translateY(-50%);
}

.valeSplitContent span{
  display:contents;
}

.valeSplitContent span + span{
  margin:0;
  padding-left:18px;
  border:0;
}

.valeSplitContent span:first-child{
  padding-right:18px;
}

.valeSplitContent em{
  overflow:hidden;
  text-overflow:ellipsis;

  color:rgba(255,255,255,.92);

  font-size:clamp(11px, 1.45vh, 14px);
  font-style:normal;
  font-weight:900;
  line-height:1.08;
  text-align:left;
  white-space:nowrap;
}

.valeSplitContent span:nth-child(1) em{
  grid-column:1;
  grid-row:1;
}

.valeSplitContent span:nth-child(2) em{
  grid-column:2;
  grid-row:1;
}

.valeCompositionSplit .valeSplitContent{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.valeCompositionSplit .valeSplitContent::after{
  left:calc(43% - .5px);
}

.valeSplitTile.primaryValeOnly .valeSplitContent,
.valeSplitTile.primaryCommonValeOnly .valeSplitContent{
  grid-template-columns:minmax(0, 1fr);
}

.valeSplitTile.primaryValeOnly .valeSplitContent::after,
.valeSplitTile.primaryValeOnly .valeSplitContent span:nth-child(2),
.valeSplitTile.primaryCommonValeOnly .valeSplitContent::after,
.valeSplitTile.primaryCommonValeOnly .valeSplitContent span:nth-child(2){
  display:none;
}

.valeSplitContent b{
  overflow:hidden;
  text-overflow:ellipsis;

  color:#fff;

  font-size:clamp(13px, 1.95vh, 17px);
  font-weight:950;
  line-height:1;
  text-align:left;
  white-space:nowrap;

  transition:
    color .18s ease,
    opacity .18s ease,
    font-weight .18s ease;
}

.valeSplitContent b.zeroValue{
  color:rgba(237,233,254,.48);
  opacity:.72;
  font-weight:760;
}

.valeSplitContent b.negativeValue{
  color:#fb7185;
  opacity:1;
}

.valeSplitContent span:nth-child(1) b{
  grid-column:1;
  grid-row:2;
}

.valeSplitContent span:nth-child(2) b{
  grid-column:2;
  grid-row:2;
}

.cashTileLabel span{
  display:block;
}

.cashTileLabel span + span{
  margin-top:2px;

  color:rgba(255,255,255,.62);

  font-size:.82em;
  font-weight:800;
}

.cashTileLabel span[hidden],
.cashTileBreakdown[hidden]{
  display:none !important;
}

.cashTileBreakdown{
  position:relative;
  grid-column:1 / -1;

  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:center;
  gap:0;

  min-width:0;
  margin-top:2px;
  padding:
    5px
    7px;

  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;

  color:rgba(255,255,255,.62);
  background:rgba(0,0,0,.085);
  font-size:9px;
  line-height:1;
}

.cashTileBreakdown span{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
  gap:5px;
  min-width:0;
  white-space:nowrap;
}

.cashTileBreakdown span + span{
  padding-left:7px;
  border-left:1px solid rgba(255,255,255,.09);
}

.cashTileBreakdown em{
  color:rgba(255,255,255,.55);

  font-style:normal;
  font-weight:500;
}

.cashTileBreakdown b{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;

  color:rgba(255,255,255,.88);

  font-size:9px;
  font-weight:750;
  text-align:right;
  white-space:nowrap;
}

@media (max-width: 520px){
  .cashTileBreakdown{
    gap:0;
    padding:
      4px
      5px;

    font-size:8px;
  }

  .cashTileBreakdown span{
    gap:3px;
  }

  .cashTileBreakdown span + span{
    padding-left:5px;
  }

  .cashTileBreakdown b{
    font-size:8px;
  }
}

.cashTile small{
  position:relative;
  min-width:0;

  color:#fff;

  font-size:clamp(13px, 1.95vh, 17px);
  font-weight:950;
  text-align:left;

  transition:
    color .18s ease,
    opacity .18s ease,
    font-weight .18s ease;
}

.cashTile.zeroValue small{
  color:rgba(237,233,254,.48);
  opacity:.72;
  font-weight:760;
}

.cashTile.negativeValue{
  border-color:rgba(248,113,113,.28);
  background:
    radial-gradient(circle at 78% 0%, rgba(124,58,237,.18), transparent 36%),
    linear-gradient(180deg, rgba(37,23,53,.92), rgba(18,10,30,.96));
  box-shadow:
    0 14px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.cashTile.negativeValue small{
  color:#fb7185;
  opacity:1;
  font-weight:950;
}

.cashTile.autoCalculated{
  cursor:default;
}

.cashTile.locked{
  cursor:default;
  opacity:.56;
}

.cashTile.autoCalculated::after{
  content:"";

  position:absolute;
  inset:0;

  border-radius:inherit;

  border:1px solid rgba(255,213,61,.22);

  pointer-events:none;
}

.cashTile.autoCalculated[data-role="dinheiro"]::after,
.cashTile.autoCalculated[data-role="pago-manual"]::after,
.cashTile.autoCalculated.negativeValue::after{
  border-color:transparent;
}

.autoBadge{
  position:absolute;
  top:8px;
  right:8px;

  padding:
    3px
    7px;

  border-radius:999px;

  color:#170021;

  background:rgba(255,213,61,.88);

  font-size:10px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.cashTile.destaque{
  border-color:rgba(255,255,255,.12);

  box-shadow:
    0 18px 38px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.cashTile.destaque .tileIcon{
  color:#fff;

  background:
    linear-gradient(145deg, rgba(42,190,255,.90), rgba(50,94,255,.66));
}

@media (hover:hover){
  .cashTile:hover{
    transform:
      translateY(-2px);

    border-color:rgba(255,255,255,.24);

    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.17),
        rgba(255,255,255,.075)
      );

    box-shadow:
      0 18px 36px rgba(0,0,0,.24),
      0 0 20px rgba(55,170,255,.12),
      inset 0 1px 0 rgba(255,255,255,.16);
  }

  .cashTile:hover .tileIcon{
    box-shadow:
      0 14px 28px rgba(0,0,0,.24),
      0 0 16px rgba(55,170,255,.18),
      inset 0 1px 0 rgba(255,255,255,.28);
  }
}

.saldoCapsula{
  min-height:42px;
  height:100%;

  grid-column:1 / -1;

  align-self:center;

  padding:
    6px
    clamp(16px, 2vw, 24px);

  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  background:
    linear-gradient(
      135deg,
      rgba(255,213,61,.72),
      rgba(255,150,45,.52)
    );

  color:#170021;

  box-shadow:
    0 10px 22px rgba(0,0,0,.16),
    0 0 22px rgba(255,213,61,.12),
    inset 0 1px 0 rgba(255,255,255,.30);
}

.saldoCapsula[data-total="composicao"]{
  margin-bottom:0;

  background:
    linear-gradient(135deg, rgba(72,224,190,.72), rgba(42,190,255,.46));
}

.saldoCapsula span{
  font-size:clamp(10px, 1.35vh, 12px);
  font-weight:950;
  text-transform:uppercase;
}

.saldoCapsula strong{
  font-size:clamp(16px, 2.25vh, 21px);
  font-weight:950;
  white-space:nowrap;
}

.statementBoard,
.attendantBoard,
.registryBoard,
.settingsBoard,
.notesBoard,
.helpBoard,
.adminBoard,
.closingsBoard,
.closingBoard{
  min-height:0;
  height:100%;

  margin-top:22px;
  padding-bottom:clamp(14px, 2.2vh, 24px);

  display:grid;
  grid-template-rows:auto auto minmax(0, 1fr);
  gap:16px;
}

.attendantBoard,
.settingsBoard,
.closingsBoard,
.closingBoard{
  overflow:hidden;
}

.registryBoard,
.settingsBoard,
.notesBoard,
.helpBoard,
.adminBoard{
  padding-right:6px;

  grid-template-rows:auto minmax(0, 1fr);

  overflow-y:auto;
  overscroll-behavior:contain;
}

.settingsBoard{
  grid-template-rows:auto auto auto;
  align-content:start;
}

.helpBoard{
  grid-template-rows:auto auto minmax(0, 1fr);
  align-content:start;
}

.notesBoard{
  grid-template-rows:auto auto minmax(0, 1fr);
  align-content:start;
}

.adminBoard{
  grid-template-rows:auto auto auto;
  align-content:start;
  overflow-y:auto;
}

.statementBoard{
  padding-right:6px;

  overflow-y:auto;
  overscroll-behavior:contain;
}

.statementBoard::-webkit-scrollbar{
  width:8px;
}

.statementBoard::-webkit-scrollbar-thumb{
  border-radius:999px;

  background:rgba(255,255,255,.22);
}

.closingBoard{
  grid-template-rows:auto minmax(0, 1fr);
  overflow:hidden;
  overscroll-behavior:contain;
  padding-right:6px;
}

.cashBoard > .closingBoard{
  margin-top:0;
  padding-bottom:0;
}

.closingBoard::-webkit-scrollbar{
  width:8px;
}

.closingBoard::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(255,255,255,.22);
}

.closingPageLayout{
  min-height:0;
  height:100%;

  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(0, .82fr) minmax(220px, 260px);
  grid-template-rows:auto minmax(0, 1fr);
  align-items:stretch;
  gap:12px;
  overflow:hidden;
}

.closingMachineChecklist{
  grid-column:1 / -1;

  padding:16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:grid;
  gap:12px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.04)
    );
}

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

.closingMachineChecklistHeader strong{
  color:#fff;

  font-size:17px;
  font-weight:950;
}

.closingMachineChecklistHeader span{
  padding:
    7px
    10px;

  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-size:12px;
  font-weight:950;
}

.closingMachineChecklistList{
  max-height:230px;

  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:10px;

  overflow-y:auto;
  overscroll-behavior:contain;
}

.closingMachineRow{
  min-height:70px;

  padding:12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  background:rgba(255,255,255,.08);
}

.closingMachineRow div{
  display:grid;
  gap:4px;
}

.closingMachineRow strong{
  color:#fff;

  font-size:13px;
  font-weight:950;
}

.closingMachineRow span{
  color:rgba(255,255,255,.64);

  font-size:11px;
  font-weight:850;
}

.closingMachineRow em{
  font-style:normal;
  font-size:11px;
  font-weight:950;
}

.closingMachineRow.read{
  opacity:.34;
  filter:saturate(.55);
}

.closingMachineRow.pending{
  border-color:rgba(255,213,61,.60);

  background:
    linear-gradient(
      135deg,
      rgba(255,213,61,.20),
      rgba(255,255,255,.09)
    );

  box-shadow:0 14px 34px rgba(255,213,61,.08);
}

.closingMachineRow.pending em{
  color:var(--yellow);
}

.closingMachineEmpty{
  margin:0;

  color:rgba(255,255,255,.65);

  font-size:13px;
  font-weight:850;
}

.readingChecklistDialog{
  width:min(100%, 760px);
}

.readingChecklistCounter{
  margin:10px 0 12px;

  display:block;

  color:#fff;

  font-size:20px;
  font-weight:950;
}

.readingChecklistList{
  max-height:min(52vh, 460px);
}

.closingBoard .closingCompositionField{
  grid-column:1 / 3;
  grid-row:2;
  min-height:0;
  align-self:start;
}

.closingMachineResult,
.closingLaunchSummary{
  padding:12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:grid;
  gap:12px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
}

.closingMachineResult{
  grid-column:1;
  grid-row:1;
}

.closingLaunchSummary{
  grid-column:1 / 3;
  grid-row:1;
}

.closingMachineResult[hidden],
.closingLaunchSummary[hidden]{
  display:none;
}

.closingSectionTitle{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.closingSectionTitle div{
  display:grid;
  gap:4px;
}

.closingSectionTitle strong{
  color:#fff;

  font-size:15px;
  font-weight:950;
}

.closingSectionTitle span{
  color:rgba(255,255,255,.64);

  font-size:11px;
  font-weight:850;
  line-height:1.35;
}

.closingSectionTitle em{
  padding:6px 9px;

  border-radius:999px;

  color:#170021;
  background:var(--yellow);

  font-size:11px;
  font-style:normal;
  font-weight:950;
  white-space:nowrap;
}

.closingMachineResultGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  max-height:152px;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.closingMachineResultCard,
.closingLaunchCard{
  position:relative;
  min-width:0;

  padding:9px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;

  display:grid;
  grid-template-rows:minmax(28px, auto) 1fr;
  align-content:stretch;
  gap:7px;

  background:rgba(255,255,255,.07);
}

.closingMachineResultCard.total{
  border-color:rgba(255,213,61,.34);
  background:linear-gradient(135deg, rgba(255,213,61,.20), rgba(255,255,255,.07));
}

.closingMachineResultCard.pending{
  opacity:.58;
}

.closingMachineResultCard span,
.closingLaunchCard span{
  color:#fff;

  font-size:12px;
  font-weight:950;
  line-height:1.25;
}

.closingMachineResultCard small{
  color:rgba(255,255,255,.58);

  font-size:9px;
  font-weight:850;
}

.closingLaunchCard small{
  position:absolute;
  top:31px;
  left:12px;
  max-width:calc(100% - 24px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:rgba(255,255,255,.54);

  font-size:9px;
  font-weight:850;
  line-height:1.1;
}

.closingMachineResultCard strong,
.closingLaunchCard strong{
  color:#facc15;

  font-size:16px;
  font-weight:950;
  align-self:end;
  line-height:1;
}

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

.machineMoneyLine strong{
  min-width:0;
  padding:
    6px
    7px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;

  display:flex;
  flex-direction:column;
  gap:2px;

  background:rgba(255,255,255,.06);

  color:#fff;
}

.machineMoneyLine strong span{
  color:rgba(255,255,255,.58);

  font-size:8px;
  line-height:1;
  text-transform:uppercase;
}

.closingMachineResultCard .machineResultValue{
  width:100%;
  padding:
    8px
    9px;

  border:1px solid rgba(255,213,61,.36);
  border-radius:11px;

  display:block;

  color:#170021;
  background:linear-gradient(135deg, rgba(255,213,61,.98), rgba(255,184,77,.86));

  font-size:12px;
  font-weight:950;
  text-align:center;
}

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

.closingLaunchCard{
  min-height:76px;
}

.closingLaunchCard.total{
  min-height:76px;
  padding:10px;

  border-color:rgba(255,213,61,.38);
  border-radius:18px;

  align-content:start;
  justify-items:start;
  grid-template-rows:minmax(28px, auto) 1fr;
  gap:6px;

  background:linear-gradient(135deg, rgba(255,213,61,.22), rgba(255,255,255,.07));
  text-align:left;
}

.closingLaunchCard.total span{
  color:rgba(255,255,255,.62);

  font-size:8px;
  font-weight:950;
  text-transform:none;
}

.closingLaunchCard.total strong{
  color:#fff;

  font-size:22px;
  font-weight:950;
  line-height:1;
  align-self:end;
}

.closingBoard .closingCompositionGrid{
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
}

.closingSummaryPanel{
  position:static;
  grid-column:3;
  grid-row:1 / 3;
  align-self:stretch;
  align-content:start;

  padding:14px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:grid;
  grid-template-rows:auto auto auto auto auto 1fr;
  gap:8px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.closingSummaryPanel span{
  color:var(--yellow);

  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.closingSummaryPanel strong{
  display:block;
  max-width:100%;
  min-width:0;

  color:#fff;

  font-size:clamp(20px, 2.1vw, 30px);
  font-weight:950;
  line-height:1;
  font-variant-numeric:tabular-nums;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:center;
}

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

.closingSummaryMoneyLine strong{
  padding:
    7px
    8px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;

  display:flex;
  flex-direction:column;
  gap:3px;

  background:rgba(255,255,255,.07);

  text-align:left;
}

.closingSummaryMoneyLine strong span{
  color:rgba(255,255,255,.58);

  font-size:8px;
  line-height:1;
  text-transform:uppercase;
}

.closingSummaryMoneyLine strong em{
  color:#fff;

  font-size:clamp(11px, 1.2vw, 14px);
  font-style:normal;
  font-weight:950;
  line-height:1.1;
  white-space:nowrap;
}

.closingMachineAlert{
  padding:
    7px
    8px;

  border:1px solid rgba(255,77,125,.42);
  border-radius:13px;

  display:grid;
  align-self:start;
  align-content:start;
  grid-auto-rows:max-content;
  gap:6px;

  color:#fff;
  background:
    linear-gradient(135deg, rgba(255,77,125,.22), rgba(70,14,92,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

.closingMachineAlert[hidden]{
  display:none;
}

.closingMachineAlert strong{
  color:#ffd53d;

  max-width:100%;

  font-size:8px;
  line-height:1.1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-transform:uppercase;
}

.closingMachineAlert div{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  align-items:stretch;
  gap:4px;
}

.closingMachineAlert span{
  grid-column:1 / -1;

  color:rgba(255,255,255,.86);

  font-size:8px;
  font-weight:950;
  line-height:1.25;
  text-transform:uppercase;
}

.closingMachineAlert em{
  min-width:0;
  padding:
    5px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;

  color:#fff;
  background:rgba(255,255,255,.10);

  display:grid;
  gap:3px;

  font-size:8.5px;
  font-style:normal;
  font-weight:950;
  line-height:1.1;
  text-shadow:0 1px 10px rgba(255,255,255,.18);
}

.closingMachineAlert em b{
  color:rgba(255,255,255,.66);

  display:block;

  font-size:6px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.closingMachineAlert em.difference{
  border-color:rgba(255,77,125,.38);
  color:#ffd8e4;
  background:linear-gradient(135deg, rgba(255,77,125,.24), rgba(255,255,255,.09));
}

.closingMachineAlert em.difference b{
  color:#ff9fbd;
}

.closingSummaryPanel p{
  margin:0;

  color:rgba(255,255,255,.64);

  font-size:13px;
  font-weight:750;
  line-height:1.45;
}

.closingDeliveryPanel{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  justify-self:stretch;
  padding:0;

  border:0;
  border-radius:0;

  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:8px;

  background:transparent;
}

.closingDeliveryCard{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  min-height:76px;
  padding:10px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  display:grid;
  grid-template-rows:minmax(28px, auto) 1fr;
  align-content:start;
  gap:6px;

  background:
    linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);

  text-align:left;
}

.closingDeliveryCard:first-child{
  border-color:rgba(255,213,61,.38);
  background:linear-gradient(135deg, rgba(255,213,61,.22), rgba(255,255,255,.07));
}

.closingDeliveryCard span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:rgba(255,255,255,.62);

  font-size:8px;
  font-weight:950;
  text-transform:none;
}

.closingDeliveryCard strong{
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#fff;

  font-size:22px;
  font-weight:950;
  line-height:1;
  align-self:end;
}

.closingSummaryActions{
  align-self:end;

  display:grid;
  gap:10px;
}

.closingsLayout{
  min-height:0;

  display:grid;
  grid-template-columns:minmax(320px, .9fr) minmax(0, 1.4fr);
  gap:16px;
}

.closingsList,
.closingSnapshot{
  min-height:0;
  overflow:auto;
}

.closingHistoryRow{
  width:100%;
  border:0;
  color:inherit;
  font:inherit;
  cursor:pointer;
}

.closingHistoryRow:hover{
  border-color:rgba(255,62,200,.36);
  background:rgba(255,255,255,.12);
}

.closingSnapshot{
  padding:16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:grid;
  align-content:start;
  gap:14px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
}

.closingSnapshotHeader{
  display:grid;
  gap:6px;
}

.closingSnapshotHeader strong,
.closingSnapshotSectionTitle{
  color:#fff;

  font-size:18px;
  font-weight:950;
}

.closingSnapshotHeader span{
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:800;
  line-height:1.4;
}

.closingSnapshotSummary,
.closingSnapshotCards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.closingSnapshotSummary article,
.closingSnapshotCards article{
  padding:12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  display:grid;
  gap:6px;

  background:rgba(0,0,0,.16);
}

.closingSnapshotCard{
  cursor:pointer;
}

.closingSnapshotCard:hover,
.closingSnapshotCard:focus-visible{
  border-color:rgba(125,211,252,.38);
  background:rgba(255,255,255,.09);
  outline:none;
}

.closingSnapshotMachineAlert{
  padding:12px 14px;

  border:1px solid rgba(255,75,120,.48);
  border-radius:18px;

  display:grid;
  gap:7px;

  color:#fff;
  background:
    linear-gradient(135deg, rgba(255,47,110,.25), rgba(255,188,61,.16));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 12px 30px rgba(255,47,110,.12);
}

.closingSnapshotMachineAlert[hidden]{
  display:none;
}

.closingSnapshotMachineAlert strong{
  color:#fff;

  font-size:13px;
  font-weight:950;
}

.closingSnapshotMachineAlert span{
  color:rgba(255,255,255,.82);

  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.closingSnapshotCard.machineDifference{
  position:relative;

  border-color:rgba(255,75,120,.82);
  background:
    linear-gradient(180deg, rgba(255,47,110,.18), rgba(255,255,255,.06));

  box-shadow:
    0 0 0 2px rgba(255,75,120,.18),
    0 0 24px rgba(255,47,110,.20);

  animation:closingSnapshotPulse 1.4s ease-in-out infinite;
}

.closingSnapshotCard.machineDifference em{
  width:max-content;
  max-width:100%;

  padding:5px 8px;

  border-radius:999px;

  color:#ffe8ef;
  background:rgba(255,47,110,.20);

  font-size:10px;
  font-style:normal;
  font-weight:950;
  line-height:1;
}

@keyframes closingSnapshotPulse{
  0%,
  100%{
    box-shadow:
      0 0 0 2px rgba(255,75,120,.16),
      0 0 18px rgba(255,47,110,.16);
  }

  50%{
    box-shadow:
      0 0 0 4px rgba(255,75,120,.28),
      0 0 34px rgba(255,47,110,.30);
  }
}

.closingSnapshotSummary span,
.closingSnapshotCards span{
  color:rgba(255,255,255,.56);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.closingSnapshotSummary strong,
.closingSnapshotCards strong{
  color:#fff;

  font-size:16px;
  font-weight:950;
}

.closingSnapshotStatement{
  display:grid;
  gap:10px;
}

.machinesBoard{
  min-height:0;
  height:calc(100dvh - 128px);

  margin-top:22px;

  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  gap:12px;
}

.machinesBoard .machinesHeader,
.registryBoard .registryHeader,
.settingsBoard .settingsHeader,
.adminBoard .settingsHeader,
#statementBoard > .statementHeader,
.attendantBoard > .attendantHeader,
.closingBoard > .closingPageHeader{
  display:none;
}

#statementBoard{
  grid-template-rows:auto auto auto minmax(0, 1fr);
}

.attendantBoard{
  grid-template-rows:auto auto auto;
  align-content:start;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.closingBoard{
  grid-template-rows:minmax(0, 1fr);
}

.statementHeader,
.closingPageHeader,
.attendantHeader,
.machinesHeader,
.registryHeader,
.settingsHeader{
  padding:
    18px
    20px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.12),
      rgba(255,255,255,.055)
    );

  box-shadow:
    0 18px 38px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.statementEyebrow{
  margin:0 0 5px;

  color:var(--yellow);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.statementHeader h2,
.closingPageHeader h2,
.attendantHeader h2,
.machinesHeader h2,
.registryHeader h2{
  margin:0;

  font-size:24px;
}

.statementHeader > strong,
.statementHeaderActions > strong,
.closingPageHeader > strong,
.attendantHeader > strong,
.machinesHeader > strong,
.registryHeader > strong{
  padding:
    9px
    14px;

  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}

.statementHeaderActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.statementHeaderActions button{
  min-height:38px;
  padding:0 16px;
  border:0;
  border-radius:999px;
  color:#260033;
  background:var(--yellow);
  font:inherit;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}

.statementHeaderActions button:hover{
  filter:brightness(1.04);
}

.attendantReport{
  min-height:0;

  padding:12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;

  display:grid;
  align-content:start;
  gap:10px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );

  overflow-x:auto;
}

.attendantReportHeader,
.attendantReportTotal{
  display:grid;
  grid-template-columns:minmax(170px, 1.2fr) repeat(6, minmax(116px, 1fr)) minmax(210px, 210px);
  align-items:center;
  gap:8px;
  min-width:1110px;
}

.attendantReportHeader{
  padding:
    0
    12px
    2px;
}

.attendantReportHeader span{
  color:rgba(255,255,255,.56);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.attendantReportHeader span:not(:first-child),
.attendantReportTotal strong:not(:first-child),
.attendantMetric{
  text-align:center;
}

.attendantReportHeader span:first-child,
.attendantReportTotal strong:first-child{
  text-align:left;
}

.attendantReportTotal{
  padding:
    10px
    12px;

  border:1px solid rgba(255,213,61,.24);
  border-radius:14px;

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.16),
      rgba(255,213,61,.08)
    );
}

.attendantReportTotal strong{
  font-size:clamp(13px, 1.1vw, 16px);
  font-weight:950;
  white-space:nowrap;
}

.machineMetrics span{
  color:rgba(255,255,255,.56);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.attendantList{
  min-height:0;
  max-height:280px;

  display:grid;
  align-content:start;
  gap:8px;

  overflow:auto;
  min-width:820px;
}

.turnAttendantsPanel{
  padding:16px;

  border:1px solid rgba(255,213,61,.24);
  border-radius:20px;

  display:grid;
  gap:12px;

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.12),
      rgba(255,255,255,.06)
    );
}

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

.turnAttendantsHeader strong{
  color:#fff;

  font-size:16px;
  font-weight:950;
}

.turnAttendantsHeader span{
  color:rgba(255,255,255,.68);

  font-size:12px;
  font-weight:900;
}

.turnAttendantsHelp{
  margin:0;

  color:rgba(255,255,255,.72);

  font-size:13px;
  font-weight:800;
  line-height:1.45;
}

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

.turnAttendantsForm{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(140px, 190px) auto;
  gap:10px;
}

.turnAttendantsField{
  min-height:54px;

  padding:
    7px
    12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  display:grid;
  gap:4px;

  background:rgba(255,255,255,.07);
}

.turnAttendantsField span{
  color:rgba(255,255,255,.62);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.turnAttendantsField select{
  width:100%;

  border:0;
  outline:0;

  color:#fff;

  background:transparent;

  font:inherit;
  font-size:15px;
  font-weight:950;
}

.turnAttendantsField option{
  color:#170021;
}

.turnAttendantsAdd{
  min-height:54px;

  padding:
    0
    18px;

  border:0;
  border-radius:16px;

  color:#170021;

  background:var(--yellow);

  font-weight:950;
  cursor:pointer;
}

.turnAttendantsGroup{
  min-height:66px;

  padding:12px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;

  display:flex;
  align-content:flex-start;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;

  color:#fff;

  background:rgba(255,255,255,.07);

}

.turnAttendantsGroup > strong{
  width:100%;

  color:rgba(255,255,255,.68);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.turnAttendantChip{
  min-height:34px;

  padding:
    0
    10px;

  border:0;
  border-radius:999px;

  color:#170021;

  background:rgba(255,213,61,.86);

  font-size:12px;
  font-weight:950;
  cursor:pointer;
}

.turnAttendantsEmpty{
  color:rgba(255,255,255,.65);

  font-size:13px;
  font-weight:850;
}

.settingsPanel{
  min-height:0;

  padding:18px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:grid;
  align-content:start;
  gap:16px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.045)
    );
}

.settingsSelector{
  min-width:0;

  padding:6px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;

  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;

  background:rgba(255,255,255,.07);
}

.settingsSelectorButton{
  min-height:46px;

  border:0;
  border-radius:999px;

  color:rgba(255,255,255,.74);

  background:transparent;

  cursor:pointer;

  font:inherit;
  font-size:13px;
  font-weight:950;
}

.settingsSelectorButton.active{
  color:#200027;
  background:#ffd53d;
  box-shadow:0 12px 28px rgba(255,213,61,.20);
}

.settingsSection{
  padding:16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;

  display:grid;
  gap:14px;

  background:rgba(0,0,0,.10);
}

.settingsSectionLock{
  padding:0;

  border:0;
  background:transparent;
}

.licenseStatusCard{
  min-width:0;

  padding:16px;

  border:1px solid rgba(80,211,194,.30);
  border-radius:18px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  background:
    linear-gradient(
      135deg,
      rgba(80,211,194,.18),
      rgba(255,255,255,.06)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10);
}

.licenseStatusCard.warning{
  border-color:rgba(255,213,61,.32);
  background:
    linear-gradient(
      135deg,
      rgba(255,213,61,.18),
      rgba(255,255,255,.06)
    );
}

.licenseStatusCard.expired{
  border-color:rgba(255,91,129,.34);
  background:
    linear-gradient(
      135deg,
      rgba(255,91,129,.20),
      rgba(255,255,255,.06)
    );
}

.licenseStatusCard div{
  min-width:0;

  display:grid;
  gap:5px;
}

.licenseStatusCard span{
  color:rgba(255,255,255,.66);

  font-size:10px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.licenseStatusCard strong{
  color:#4ade80;

  font-size:18px;
  font-weight:950;
  line-height:1.2;
}

.licenseStatusCard small{
  color:rgba(134,239,172,.78);

  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.licenseStatusCard.warning strong{
  color:#fbbf24;
}

.licenseStatusCard.warning small{
  color:rgba(251,191,36,.82);
}

.licenseStatusCard.expired strong{
  color:#fb7185;
}

.licenseStatusCard.expired small{
  color:rgba(254,202,202,.88);
}

.licenseStatusActions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.licenseRenewAction,
.licenseHistoryAction{
  min-height:42px;

  padding:
    0
    18px;

  border:0;
  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  cursor:pointer;

  font:inherit;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}

.licenseHistoryAction{
  color:#fff;

  border:1px solid rgba(255,255,255,.16);

  background:rgba(255,255,255,.10);
}

.licensePlanBlock{
  padding:0;

  border:0;
  border-radius:0;

  display:grid;
  gap:12px;

  background:transparent;
}

.licensePlanIntro{
  padding:
    6px
    8px
    0;

  display:grid;
  gap:4px;
}

.licensePlanIntro strong{
  color:#fff;

  font-size:15px;
  font-weight:950;
}

.licensePlanIntro span{
  color:rgba(255,255,255,.64);

  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

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

.licenseQuantityLayout{
  grid-template-columns:minmax(220px, .55fr) minmax(280px, 1fr);
  align-items:stretch;
}

.licenseQuantitySelector,
.licensePurchaseSummary{
  min-height:124px;
  padding:16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  display:grid;
  align-content:center;
  gap:10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)),
    rgba(0,0,0,.12);
}

.licenseQuantitySelector span,
.licensePurchaseSummary small{
  color:rgba(255,255,255,.62);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.licenseUnitSelector{
  display:grid;
  gap:8px;
}

.licenseUnitOption{
  min-height:46px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:2px 9px;
  align-items:center;
  color:#fff;
  background:rgba(0,0,0,.16);
}

.licenseUnitOption input{
  grid-row:1 / span 2;
  accent-color:#58deff;
}

.licenseUnitOption span{
  overflow:hidden;
  color:#fff;
  font-size:13px;
  font-weight:950;
  text-overflow:ellipsis;
  text-transform:none;
  white-space:nowrap;
}

.licenseUnitOption small{
  color:rgba(255,255,255,.58);
  font-size:10px;
  font-weight:850;
}

.licensePurchaseSummary{
  border-color:rgba(255,213,61,.22);
  background:
    radial-gradient(circle at 90% 10%, rgba(255,213,61,.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)),
    rgba(0,0,0,.12);
}

.licensePurchaseSummary strong{
  color:#ffd53d;
  font-size:28px;
  font-weight:950;
  line-height:1;
}

.licensePurchaseSummary span,
.licensePurchaseSummary em{
  color:rgba(255,255,255,.70);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.licensePlanOption,
.licenseCustomPlan{
  min-height:104px;

  padding:13px 12px 12px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;

  color:rgba(255,255,255,.78);

  background:rgba(255,255,255,.08);

  display:grid;
  align-content:center;
  justify-items:center;
  gap:6px;

  cursor:pointer;

  font:inherit;
  text-align:center;
}

.licensePlanOption small,
.licenseCustomPlan small{
  color:rgba(255,255,255,.56);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.licensePlanOption strong,
.licenseCustomPlan strong{
  color:#fff;

  font-size:19px;
  font-weight:950;
  line-height:1;
}

.licensePlanOption span{
  color:#ffd53d;

  font-size:21px;
  font-weight:950;
  line-height:1;
}

.licensePlanOption em,
.licenseCustomPlan em{
  color:rgba(255,255,255,.64);

  max-width:100%;

  font-size:10px;
  font-style:normal;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.licensePlanOption.active,
.licensePlanOption:hover,
.licenseCustomPlan.active,
.licenseCustomPlan:hover{
  border-color:rgba(255,213,61,.52);
  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.18),
      rgba(255,255,255,.08)
    );
  box-shadow:
    0 18px 38px rgba(255,213,61,.14),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.licensePlanOption.active small,
.licensePlanOption:hover small,
.licenseCustomPlan.active small,
.licenseCustomPlan:hover small{
  color:rgba(255,255,255,.72);
}

.licenseCustomPlan{
  cursor:pointer;
}

.licenseCustomPlan input{
  height:38px;
  width:min(100%, 116px);
  padding:0 12px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;

  color:#fff;
  background:rgba(0,0,0,.22);

  font:inherit;
  font-weight:950;
  text-align:center;
  cursor:text;
}

.licenseCustomPlan input::-webkit-outer-spin-button,
.licenseCustomPlan input::-webkit-inner-spin-button{
  margin:0;
  appearance:none;
}

.licenseCustomPlan input[type="number"]{
  appearance:textfield;
}


.licenseMasterPanel{
  padding:16px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;

  display:grid;
  gap:14px;

  background:rgba(0,0,0,.12);
}

.licenseMasterPanel[hidden]{
  display:none;
}

.licenseRenewalModal{
  position:fixed;
  inset:0;
  z-index:140;

  padding:18px;

  display:none;
  align-items:center;
  justify-content:center;

  background:rgba(5,0,14,.72);
  backdrop-filter:blur(18px);
}

.licenseRenewalModal.open{
  display:flex;
}

.licenseRenewalCard{
  position:relative;

  width:min(100%, 480px);
  max-height:min(92dvh, 720px);

  padding:28px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;

  background:
    linear-gradient(
      180deg,
      rgba(31,9,55,.96),
      rgba(13,3,30,.98)
    );

  box-shadow:
    0 28px 70px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.10);

  overflow:auto;
}

.licenseRenewalSummary{
  padding:16px;

  border:1px solid rgba(255,213,61,.26);
  border-radius:22px;

  display:grid;
  gap:7px;

  background:rgba(255,213,61,.10);
}

.licenseRenewalSummary span,
.licenseRenewalSummary small{
  color:rgba(255,255,255,.70);

  font-size:12px;
  font-weight:850;
}

.licenseRenewalSummary strong{
  color:var(--yellow);

  font-size:26px;
  font-weight:950;
}

.licensePixBox{
  margin-top:14px;

  display:flex;
  justify-content:center;
}

.licensePixQr{
  width:210px;
  min-height:210px;

  padding:10px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;

  display:grid;
  place-items:center;

  background:#fff;
}

.licensePixQr img{
  width:100%;
  max-width:188px;
  aspect-ratio:1;

  display:block;
}

.licensePaymentStatus span{
  color:rgba(255,255,255,.62);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.licensePixCopyField textarea{
  font-size:11px;
  line-height:1.45;
}

.licensePixCopyField{
  margin-top:14px;

  display:grid;
  gap:7px;
}

.licensePixCopyField > span{
  color:rgba(255,255,255,.62);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.licensePixCopyRow{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 112px;
  gap:10px;
  align-items:stretch;
}

.licensePixCopyRow textarea{
  min-height:52px;
  max-height:72px;

  resize:none;
}

.licensePixCopyRow button{
  min-height:52px;
  border-radius:16px;
}

.licensePaymentStatus{
  margin:12px 0;
  padding:13px 15px;

  border:1px solid rgba(255,213,61,.22);
  border-radius:999px;

  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;

  background:rgba(255,213,61,.10);
}

.licensePaymentStatus strong{
  color:var(--yellow);

  font-size:13px;
  font-weight:950;
}

.licensePaymentStatus small{
  min-width:52px;

  padding:
    6px
    9px;

  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  text-align:center;

  font-size:12px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}

.licensePaymentStatus[data-status="paid"]{
  border-color:rgba(80,211,194,.34);
  background:rgba(80,211,194,.12);
}

.licensePaymentStatus[data-status="paid"] strong{
  color:#50d3c2;
}

.licensePaymentStatus[data-status="paid"] small{
  color:#001f1c;
  background:#50d3c2;
}

.licensePaymentStatus[data-status="expired"],
.licensePaymentStatus[data-status="rejected"]{
  border-color:rgba(255,91,129,.34);
  background:rgba(255,91,129,.12);
}

.licensePaymentStatus[data-status="expired"] strong,
.licensePaymentStatus[data-status="rejected"] strong{
  color:#ff8aa4;
}

.licensePaymentStatus[data-status="expired"] small,
.licensePaymentStatus[data-status="rejected"] small{
  color:#fff;
  background:#ff5b81;
}

.licenseRenewalHistory{
  padding:14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;

  display:grid;
  gap:10px;

  background:rgba(255,255,255,.055);
}

.licenseRenewalHistory > strong{
  color:#fff;

  font-size:14px;
  font-weight:950;
}

.licenseRenewalEmpty{
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:850;
}

.licenseRenewalRow{
  padding:12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:10px;

  background:rgba(0,0,0,.12);
}

.licenseRenewalRow div{
  min-width:0;

  display:grid;
  gap:4px;
}

.licenseRenewalRow strong{
  color:#fff;

  font-size:13px;
  font-weight:950;
}

.licenseRenewalRow span,
.licenseRenewalRow em{
  color:rgba(255,255,255,.62);

  font-size:11px;
  font-style:normal;
  font-weight:850;
}

.licenseRenewalRow[data-status="pending"] em{
  color:var(--yellow);
}

.licenseRenewalRow[data-status="confirmed"] em{
  color:#50d3c2;
}

.licenseRenewalRow[data-status="rejected"] em{
  color:#ff5b81;
}

.settingsSectionTitle{
  display:grid;
  gap:4px;
}

.settingsSectionTitle strong{
  color:#fff;

  font-size:17px;
  font-weight:950;
}

.settingsSectionTitle span{
  color:rgba(255,255,255,.64);

  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

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

.settingsSectionLock .settingsSectionGrid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.settingsExpiryDateWrap{
  min-width:0;
}

.settingsExpiryDateWrap .machineResultDateButton{
  height:74px;

  padding:
    0
    14px;

  border-radius:18px;
}

.settingsExpiryDateWrap .machineResultDateText{
  min-width:84px;

  color:#fff;

  font-size:18px;
  font-weight:950;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.settingsExpiryDateWrap .machineResultDateStack strong{
  min-width:0;

  color:rgba(255,255,255,.64);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.settingsExpiryDateWrap .machineResultCalendarPopover{
  right:auto;
  left:0;
}

.settingsExpiryDateButton:disabled,
.settingsExpiryDateWrap .dateSelector:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.settingsField{
  min-height:74px;

  padding:
    10px
    14px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;

  display:grid;
  gap:6px;

  background:rgba(255,255,255,.07);
}

.settingsField span{
  color:rgba(255,255,255,.64);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.settingsField select,
.settingsField input{
  width:100%;

  border:0;
  outline:0;

  color:#fff;

  background:transparent;

  font:inherit;
  font-size:18px;
  font-weight:950;
}

.settingsField option{
  color:#170021;
}

.settingsField input:disabled,
.settingsField select:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.settingsInfo{
  padding:16px;

  border:1px solid rgba(255,213,61,.22);
  border-radius:18px;

  display:grid;
  gap:6px;

  background:rgba(255,213,61,.10);
}

.settingsInfo strong{
  color:#fff;

  font-size:16px;
  font-weight:950;
}

.settingsInfo span{
  color:rgba(255,255,255,.72);

  font-size:13px;
  font-weight:850;
  line-height:1.45;
}

.settingsSaveAction{
  justify-self:start;
}

.settingsLoginHistory{
  min-width:0;

  padding:18px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:grid;
  gap:14px;
  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.045)
    );
}

.settingsLoginHistoryTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.settingsLoginHistoryTitle{
  display:grid;
  gap:4px;
}

.settingsLoginHistoryTitle strong{
  color:#fff;

  font-size:16px;
  font-weight:950;
}

.settingsLoginHistoryTitle span{
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:850;
}

.settingsLogLimit{
  min-width:160px;
  height:46px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.settingsLogLimit span{
  color:rgba(255,255,255,.56);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.settingsLogLimit select{
  width:100%;

  border:0;

  color:#fff;

  background:transparent;

  outline:0;

  font:inherit;
  font-size:13px;
  font-weight:950;
}

.settingsLogLimit option{
  color:#170021;
}

.settingsLoginHistoryList{
  min-width:0;

  display:grid;
  gap:8px;

  overflow-x:auto;
  overscroll-behavior-x:contain;
}

.settingsLoginHistoryHeader,
.settingsLoginHistoryRow{
  display:grid;
  grid-template-columns:
    minmax(140px, 1.2fr)
    minmax(96px, .85fr)
    minmax(88px, .75fr)
    minmax(92px, .75fr)
    minmax(72px, .6fr);
  gap:10px;
  align-items:center;
  min-width:560px;
}

.settingsLoginHistoryHeader{
  color:rgba(255,255,255,.56);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.settingsLoginHistoryRow{
  min-height:42px;

  padding:
    10px
    12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;

  color:#fff;

  background:rgba(255,255,255,.07);

  font-size:12px;
  font-weight:900;
}

.settingsLoginHistoryHeader span,
.settingsLoginHistoryRow span{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.notesHeader,
.notesForm,
.noteCard,
.notesEmpty{
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.045)
    );
}

.notesHeader{
  padding:18px 20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.notesHeader h2{
  margin:2px 0 0;

  color:#fff;

  font-size:24px;
  font-weight:950;
}

.notesHeader strong{
  padding:10px 16px;

  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}

.notesHeaderActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.notesClearAction{
  min-height:38px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.08);
  font-size:12px;
  font-weight:950;
  cursor:pointer;
}

.notesClearAction:hover{
  border-color:rgba(255,213,61,.42);
  color:#fff;
  background:rgba(255,213,61,.12);
}

.notesClearAction:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.notesForm{
  padding:16px;

  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
  gap:14px;
}

.notesForm label{
  min-width:0;

  display:grid;
  gap:8px;
}

.notesForm span{
  color:rgba(255,255,255,.66);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.notesForm textarea{
  min-height:86px;
  max-height:170px;
  width:100%;

  padding:14px 16px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  outline:0;

  color:#fff;

  resize:vertical;
  background:rgba(255,255,255,.07);

  font:inherit;
  font-weight:850;
}

.notesForm textarea:focus{
  border-color:rgba(255,213,61,.74);
  box-shadow:0 0 0 3px rgba(255,213,61,.14);
}

.notesList{
  min-height:0;

  display:grid;
  align-content:start;
  gap:10px;

  overflow:auto;
  overscroll-behavior:contain;
}

.noteCard{
  padding:14px 16px;

  display:grid;
  gap:10px;
}

.noteCard.done{
  opacity:.62;
  filter:saturate(.72);
}

.noteCardHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.noteCardHeader strong{
  min-width:0;

  color:#fff;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.noteStatus{
  padding:6px 10px;

  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.noteStatus.done{
  color:#fff;

  background:rgba(255,255,255,.14);
}

.noteText{
  margin:0;

  color:rgba(255,255,255,.84);

  font-size:14px;
  font-weight:800;
  line-height:1.45;
  white-space:pre-wrap;
}

.noteMeta{
  color:rgba(255,255,255,.56);

  font-size:11px;
  font-weight:900;
}

.noteActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.noteActions button{
  min-height:38px;
  padding:0 18px;

  border:0;
  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-weight:950;
  cursor:pointer;
}

.noteCard.done .noteActions button{
  color:#fff;

  background:rgba(255,255,255,.12);
}

.noteActions .noteDeleteAction{
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.08);
}

.noteActions .noteDeleteAction:hover{
  color:#fff;
  background:rgba(255,255,255,.14);
}

.notesEmpty{
  padding:22px;

  color:rgba(255,255,255,.68);

  font-size:14px;
  font-weight:850;
  text-align:center;
}

.helpIntro{
  padding:18px 20px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;

  display:grid;
  gap:6px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.045)
    );
}

.helpIntro strong{
  color:#fff;

  font-size:20px;
  font-weight:950;
}

.helpIntro span{
  color:rgba(255,255,255,.66);

  font-size:13px;
  font-weight:850;
}

.helpTopics{
  position:relative;
  z-index:1;

  display:flex;
  flex-wrap:wrap;
  gap:8px;

  margin-bottom:2px;
  padding:10px;

  border:1px solid rgba(255,213,61,.14);
  border-radius:16px;

  background:rgba(12,10,7,.56);
}

.helpTopics [hidden],
.helpCard[hidden]{
  display:none !important;
}

.helpTopics button{
  min-height:34px;

  padding:0 14px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  color:rgba(255,255,255,.76);
  background:rgba(255,255,255,.075);

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.helpTopics button:hover,
.helpTopics button.active{
  border-color:rgba(255,213,61,.36);
  color:#170021;
  background:linear-gradient(135deg, #ffe783, #ffd53d);
}

.helpGrid{
  position:relative;
  z-index:0;

  min-height:0;

  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.helpCard{
  min-width:0;

  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;

  overflow:hidden;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.075),
      rgba(255,255,255,.035)
    );
}

.helpCard[open]{
  border-color:rgba(255,213,61,.22);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.095),
      rgba(255,255,255,.04)
    );
}

.helpCard summary{
  position:relative;

  min-height:54px;
  padding:12px 46px 12px 18px;

  display:grid;
  grid-template-columns:minmax(0, 260px) minmax(0, 1fr);
  align-items:center;
  gap:10px 18px;

  cursor:pointer;
  list-style:none;
}

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

.helpCard summary::after{
  content:"+";

  position:absolute;
  top:50%;
  right:18px;
  transform:translateY(-50%);

  color:#ffd53d;

  font-size:22px;
  font-weight:950;
  line-height:1;
}

.helpCard[open] summary::after{
  content:"-";
}

.helpCard summary span{
  color:#fff;

  font-size:16px;
  font-weight:950;
}

.helpCard summary small{
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.helpCard ul{
  margin:0;
  padding:2px 22px 18px 42px;

  display:grid;
  gap:7px;

  color:rgba(255,255,255,.76);

  font-size:13px;
  font-weight:800;
  line-height:1.45;
}

.helpCard li::marker{
  color:#ffd53d;
}

.settingsLoginHistoryEmpty{
  padding:14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;

  color:rgba(255,255,255,.68);

  background:rgba(255,255,255,.06);

  font-size:13px;
  font-weight:850;
}

.machinesList{
  min-height:0;
  max-height:100%;

  padding:
    2px
    6px
    2px
    0;

  display:grid;
  align-content:start;
  gap:14px;

  overflow:auto;
  overscroll-behavior:contain;
}

.machinesList::-webkit-scrollbar{
  width:8px;
}

.machinesList::-webkit-scrollbar-track{
  border-radius:999px;
  background:rgba(255,255,255,.05);
}

.machinesList::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(255,255,255,.24);
}

.machineSelector{
  padding:8px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.12),
      rgba(255,255,255,.06)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 12px 28px rgba(0,0,0,.16);
}

.machineSelectorItem{
  min-height:40px;

  padding:
    0
    14px;

  border:0;
  border-radius:999px;

  color:#fff;

  background:transparent;

  font-size:12px;
  font-weight:900;

  cursor:pointer;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.machineSelectorItem.active,
.machineSelectorItem:hover{
  color:#170021;

  background:var(--yellow);

  box-shadow:
    0 8px 18px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.36);
}

.machineSubSelector{
  width:max-content;
  max-width:100%;

  padding:6px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  grid-template-columns:repeat(2, minmax(108px, 1fr));
  gap:6px;

  background:rgba(255,255,255,.07);
}

.machineSubSelectorItem{
  min-height:34px;

  padding:
    0
    14px;

  border:0;
  border-radius:999px;

  color:#fff;

  background:transparent;

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.machineSubSelectorItem.active,
.machineSubSelectorItem:hover{
  color:#170021;
  background:var(--yellow);
}

.machineReportSelector{
  width:max-content;
  max-width:100%;

  padding:6px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  grid-template-columns:repeat(4, minmax(112px, 1fr));
  gap:6px;

  background:rgba(255,255,255,.07);
}

.machineConfigSelector{
  grid-template-columns:repeat(2, minmax(112px, 1fr));
}

.machineReportSelectorItem{
  min-height:34px;

  padding:
    0
    14px;

  border:0;
  border-radius:999px;

  color:#fff;

  background:transparent;

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.machineReportSelectorItem.active,
.machineReportSelectorItem:hover{
  color:#170021;
  background:var(--yellow);
}

.machineReportContent,
.machineConfigContent{
  min-width:0;

  display:grid;
  gap:14px;
}

.machineEmbeddedPanel{
  padding:0;

  border:0;
  border-radius:0;

  background:transparent;

  box-shadow:none;
}

.machineReadingControls{
  display:grid;
  grid-template-columns:max-content minmax(0, 1fr);
  align-items:center;
  gap:10px;
}

.machineReadingSearch{
  min-width:0;
  width:100%;
  max-width:360px;
  height:46px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.machineReadingSearch span{
  color:rgba(255,255,255,.52);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.machineReadingSearch input{
  width:100%;
  min-width:0;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.machineReadingContent{
  min-width:0;
}

.machineCard{
  min-height:180px;

  padding:16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;

  display:grid;
  align-content:start;
  gap:14px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );
}

.machineReadingList{
  min-height:0;

  display:grid;
  align-content:start;
  gap:10px;
}

.machineReadingMode{
  min-height:58px;
  padding:
    12px
    16px;

  border:1px solid rgba(255,213,61,.24);
  border-radius:18px;

  display:grid;
  grid-template-columns:minmax(0, 1fr) max-content max-content;
  align-items:center;
  gap:12px;

  background:
    linear-gradient(135deg, rgba(255,213,61,.16), rgba(255,255,255,.055));
}

.machineReadingMode div{
  min-width:0;

  display:grid;
  gap:3px;
}

.machineReadingMode strong{
  color:#fff;

  font-size:15px;
  font-weight:950;
  line-height:1.15;
}

.machineReadingMode span{
  color:rgba(255,255,255,.66);

  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.machineReadingMode em{
  padding:7px 11px;

  border:1px solid rgba(255,213,61,.34);
  border-radius:999px;

  color:#fff4b8;
  background:rgba(255,213,61,.10);

  font-size:10px;
  font-style:normal;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}

.machineReadingMode button{
  min-height:34px;
  padding:0 13px;

  border:0;
  border-radius:999px;

  color:#13011d;
  background:#ffd53d;

  font-size:11px;
  font-weight:950;
  cursor:pointer;
  white-space:nowrap;
}

.machineReadingMode button:hover{
  background:#ffe174;
}

@media (max-width: 760px){
  .machineReadingMode{
    grid-template-columns:1fr;
    justify-items:start;
  }
}

.machineReadingRow{
  padding:
    16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;

  display:grid;
  grid-template-columns:minmax(200px, 1fr) repeat(3, minmax(116px, auto)) minmax(146px, auto);
  align-items:center;
  gap:12px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 28px rgba(0,0,0,.14);
}

.machineReadingTitleLine{
  min-width:0;

  display:flex;
  align-items:center;
  gap:8px;
}

.machineReadingRow > div:first-child strong,
.machineReadingRow > div:first-child span,
.machineReadingRow > div:first-child em,
.machineReadingRow > div:first-child small{
  display:block;
}

.machineReadingRow > div:first-child strong{
  color:#fff;

  font-size:15px;
  font-weight:950;
  line-height:1.2;
}

.machineReadingRow > div:first-child span,
.machineReadingRow > div:first-child em{
  margin-top:4px;

  color:rgba(255,255,255,.58);

  font-size:10px;
  font-weight:950;
  font-style:normal;
  line-height:1.35;
  text-transform:uppercase;
}

.machineReadingRow > div:first-child small{
  padding:5px 8px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;

  color:rgba(255,255,255,.76);
  background:rgba(255,255,255,.08);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}

.machineReadingRow[data-reading-state="Pendente"] > div:first-child small,
.machineReadingRow[data-reading-state="Inicial pendente"] > div:first-child small,
.machineReadingRow[data-reading-state="Final pendente"] > div:first-child small,
.machineReadingRow.pending > div:first-child small{
  border-color:rgba(255,213,61,.36);
  color:#fff4b8;
  background:rgba(255,213,61,.12);
}

.machineReadingRow[data-reading-state="Finalizada"] > div:first-child small,
.machineReadingRow.read > div:first-child small{
  border-color:rgba(112,242,164,.32);
  color:#b9ffd0;
  background:rgba(112,242,164,.10);
}

.machineReadingRow.correction > div:first-child small{
  border-color:rgba(255,62,200,.34);
  color:#ffd6f5;
  background:rgba(255,62,200,.10);
}

.machineReadingRow article{
  min-width:116px;

  padding:
    10px
    12px;

  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;

  display:grid;
  gap:4px;

  background:rgba(0,0,0,.14);
}

.machineReadingRow article span{
  color:rgba(255,255,255,.56);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineReadingRow article strong{
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}

.machineReadingRow article input{
  width:100%;
  min-width:0;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:950;
  text-align:left;
}

.machineReadingRow article input[readonly]{
  color:rgba(255,255,255,.46);
  cursor:not-allowed;
}

.machineReadingInputMetric{
  border-color:rgba(255,213,61,.18);
  background:rgba(255,255,255,.08);
}

.machineReadingInputMetric:focus-within{
  border-color:rgba(255,213,61,.44);
  box-shadow:0 0 0 3px rgba(255,213,61,.10);
}

.machineReadingRow.pending{
  border-color:rgba(255,213,61,.34);
}

.machineReadingRow.pending > div:first-child em{
  color:#ffd53d;
}

.machinePanelFields input.lockedValue{
  color:rgba(255,255,255,.62);
  border-color:rgba(255,213,61,.22);
  background:rgba(255,213,61,.08);
  cursor:not-allowed;
}

.machineReadingActions{
  min-width:146px;

  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.machineReadingActions button{
  min-height:36px;

  border:0;
  border-radius:12px;

  color:#13011d;
  background:#ffd53d;

  font-size:11px;
  font-weight:950;
  cursor:pointer;
}

.machineReadingActions button:disabled{
  color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.08);
  cursor:not-allowed;
}

.machineReadingActions .machineReadingUndo:not(:disabled){
  color:#fff;
  background:rgba(255,255,255,.16);
}

.machineReadingStatus{
  grid-column:1 / -1;
  min-height:14px;

  color:#ffd53d;

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineReadingHistory{
  min-width:0;

  display:grid;
  gap:8px;
}

.machineReadingHistoryFilters{
  display:grid;
  grid-template-columns:repeat(4, minmax(150px, 1fr));
  gap:10px;
}

.machineAverageFilters{
  display:grid;
  grid-template-columns:repeat(2, minmax(190px, 360px));
  gap:10px;
  justify-content:start;
}

.machineRankingFilters,
.machineShareFilters{
  display:grid;
  grid-template-columns:repeat(4, minmax(135px, 1fr));
  gap:10px;
}

.machineReadingHistoryHeader,
.machineReadingHistoryRow{
  display:grid;
  grid-template-columns:
    minmax(84px, .62fr)
    minmax(58px, .42fr)
    minmax(116px, 1fr)
    minmax(80px, .58fr)
    minmax(88px, .62fr)
    minmax(88px, .62fr)
    minmax(74px, .5fr)
    minmax(74px, .5fr)
    minmax(78px, .54fr)
    minmax(74px, .48fr);
  align-items:center;
  gap:8px;
}

.machineReadingHistoryHeader{
  position:sticky;
  top:0;
  z-index:3;

  padding:
    8px
    14px;

  color:rgba(255,255,255,.52);
  background:
    linear-gradient(180deg, rgba(8,35,88,.96), rgba(9,19,66,.94));
  box-shadow:0 10px 18px rgba(0,0,0,.18);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineReadingHistorySummary{
  width:100%;
  min-height:74px;

  padding:
    14px
    16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  color:#fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035)),
    rgba(0,0,0,.16);

  text-align:left;
  cursor:pointer;
}

.machineReadingHistorySummary.expanded{
  border-color:rgba(255,213,61,.34);
  background:
    linear-gradient(135deg, rgba(255,213,61,.14), rgba(255,255,255,.05)),
    rgba(0,0,0,.18);
}

.machineReadingHistorySummary > span:first-child{
  min-width:0;

  display:grid;
  gap:4px;
}

.machineReadingHistorySummary strong{
  color:#fff;

  font-size:13px;
  font-weight:950;
}

.machineReadingHistorySummary small{
  color:rgba(255,255,255,.58);

  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.machineReadingHistorySummary > span:last-child{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.machineReadingHistorySummary em{
  min-width:82px;

  padding:
    8px
    10px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;

  display:grid;
  gap:2px;

  color:#fff;
  background:rgba(0,0,0,.16);

  font-size:12px;
  font-style:normal;
  font-weight:950;
}

.machineReadingHistorySummary b{
  color:rgba(255,255,255,.55);

  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.machineReadingHistoryGroup{
  margin-top:12px;
  padding:
    13px
    16px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  background:
    linear-gradient(135deg, rgba(255,213,61,.14), rgba(255,255,255,.05)),
    rgba(0,0,0,.18);
}

.machineReadingHistoryGroup:first-of-type{
  margin-top:2px;
}

.machineReadingHistoryGroup strong{
  color:#fff;

  font-size:13px;
  font-weight:950;
}

.machineReadingHistoryGroup span{
  color:rgba(255,255,255,.58);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineReadingHistoryTurnGroup{
  padding:
    4px
    16px
    0;

  display:flex;
}

.machineReadingHistoryTurnGroup span{
  min-width:112px;

  padding:
    6px
    10px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  color:#ffd53d;
  background:rgba(0,0,0,.16);

  font-size:10px;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
}

.machineReadingHistoryRow{
  min-height:52px;

  padding:
    10px
    14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  background:rgba(0,0,0,.14);
}

.machineReadingHistoryRow span{
  min-width:0;

  color:rgba(255,255,255,.76);

  font-size:12px;
  font-weight:850;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.machineReadingHistoryAction{
  display:flex;
  justify-content:flex-end;
}

.machineReadingHistoryAction button{
  min-height:30px;

  padding:
    7px
    11px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;

  color:#fff;
  background:rgba(255,255,255,.12);

  font-size:10px;
  font-weight:950;
  cursor:pointer;
}

.machineReadingHistoryAction button:hover{
  background:rgba(255,255,255,.18);
}

.machinePanel{
  width:100%;

  padding:18px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  display:grid;
  gap:16px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 16px 34px rgba(0,0,0,.16);
}

.machinePanelHeading{
  display:grid;
  gap:5px;
}

.machinePanelHeading strong{
  color:#fff;

  font-size:18px;
  font-weight:950;
}

.machinePanelHeading span{
  color:rgba(255,255,255,.60);

  font-size:12px;
  font-weight:750;
}

.machineResultReport{
  min-width:0;

  display:grid;
  align-content:start;
  gap:8px;

  overflow:visible;
}

.machineResultReport::-webkit-scrollbar{
  width:8px;
}

.machineResultReport::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(125,203,255,.36);
}

.machineResultFilters{
  display:grid;
  grid-template-columns:repeat(5, minmax(120px, 1fr)) auto;
  gap:10px;
}

.machineResultDateWrap{
  min-width:0;

  position:relative;
}

.machineResultDateWrap.open .machineResultCalendarPopover{
  display:block;
}

.machineResultDateButton{
  width:100%;
  height:46px;

  justify-content:flex-start;
}

.machineResultDateStack{
  justify-items:start;
  gap:3px;
}

.machineResultFilters .machineResultDateText,
.machineReadingHistoryFilters .machineResultDateText,
.machineAverageFilters .machineResultDateText,
.machineRankingFilters .machineResultDateText,
.machineShareFilters .machineResultDateText{
  min-width:84px;

  color:#fff;

  font-size:13px;
  font-weight:950;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.machineResultFilters .machineResultDateStack strong,
.machineReadingHistoryFilters .machineResultDateStack strong,
.machineAverageFilters .machineResultDateStack strong,
.machineRankingFilters .machineResultDateStack strong,
.machineShareFilters .machineResultDateStack strong{
  min-width:0;

  color:rgba(255,255,255,.46);

  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.machineResultCalendarPopover{
  right:auto;
  left:0;
}

.machineResultCalendarFooter{
  margin-top:10px;

  display:flex;
  justify-content:flex-end;
}

.machineResultCalendarFooter button{
  height:30px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  color:#fff;

  background:rgba(255,255,255,.09);

  font-size:11px;
  font-weight:950;

  cursor:pointer;
}

.machineResultCalendarFooter button:hover{
  background:rgba(255,255,255,.15);
}

.appShell.machinesTheme .machinesHeader,
.appShell.machinesTheme .machineSelector,
.appShell.machinesTheme .machineSubSelector,
.appShell.machinesTheme .machineReportSelector,
.appShell.machinesTheme .machineCard,
.appShell.machinesTheme .machineReadingRow,
.appShell.machinesTheme .machinePanel,
.appShell.machinesTheme .machineResultDetail,
.appShell.machinesTheme .machinePlateSwapPanel{
  border-color:rgba(125,203,255,.18);
  background:
    linear-gradient(
      180deg,
      rgba(79,164,255,.16),
      rgba(2,20,63,.28)
    );
  box-shadow:
    0 18px 42px rgba(0,18,60,.28),
    inset 0 1px 0 rgba(202,235,255,.16);
}

.appShell.machinesTheme .machinesHeader{
  background:
    linear-gradient(
      135deg,
      rgba(89,176,255,.20),
      rgba(4,37,102,.28)
    );
}

.appShell.machinesTheme .machinesHeader .statementEyebrow,
.appShell.machinesTheme .machinePanelHeading span,
.appShell.machinesTheme .machineMetrics span,
.appShell.machinesTheme .machineReadingRow > div:first-child span,
.appShell.machinesTheme .machineReadingRow article span,
.appShell.machinesTheme .machineReadingHistoryHeader,
.appShell.machinesTheme .machineResultHeader,
.appShell.machinesTheme .machineResultDetailHeader,
.appShell.machinesTheme .machinePanelFields span,
.appShell.machinesTheme .machineSavedFilters span,
.appShell.machinesTheme .machineDraftHeader,
.appShell.machinesTheme .machineSavedHeader,
.appShell.machinesTheme .machineModelListHeader,
.appShell.machinesTheme .machineResultFilters span,
.appShell.machinesTheme .machineReadingHistoryFilters span,
.appShell.machinesTheme .machineReadingSearch span,
.appShell.machinesTheme .machineAverageFilters span,
.appShell.machinesTheme .machineRankingFilters span,
.appShell.machinesTheme .machineShareFilters span{
  color:rgba(218,240,255,.70);
}

.appShell.machinesTheme .machinesHeader > strong,
.appShell.machinesTheme .machineSelectorItem.active,
.appShell.machinesTheme .machineSelectorItem:hover,
.appShell.machinesTheme .machineSubSelectorItem.active,
.appShell.machinesTheme .machineSubSelectorItem:hover,
.appShell.machinesTheme .machineReportSelectorItem.active,
.appShell.machinesTheme .machineReportSelectorItem:hover{
  color:#031b3a;
  background:#ffd53d;
}

.appShell.machinesTheme .machineResultFilters label,
.appShell.machinesTheme .machineReadingHistoryFilters label,
.appShell.machinesTheme .machineReadingSearch,
.appShell.machinesTheme .machineAverageFilters label,
.appShell.machinesTheme .machineRankingFilters label,
.appShell.machinesTheme .machineShareFilters label,
.appShell.machinesTheme .machinePanelFields label,
.appShell.machinesTheme .machineSavedFilters label,
.appShell.machinesTheme .machinePlateSwapFields label{
  border-color:rgba(125,203,255,.16);
  background:rgba(83,169,255,.12);
}

.appShell.machinesTheme .machineReadingRow article,
.appShell.machinesTheme .machineReadingHistoryRow,
.appShell.machinesTheme .machineResultRow,
.appShell.machinesTheme .machineResultDetailRow,
.appShell.machinesTheme .machineDraftRow,
.appShell.machinesTheme .machineSavedRow,
.appShell.machinesTheme .machineModelRow{
  border-color:rgba(125,203,255,.14);
  background:rgba(3,20,62,.28);
}

.appShell.machinesTheme .machineResultRow:hover,
.appShell.machinesTheme .machineResultRow.expanded{
  border-color:rgba(125,203,255,.38);
  background:rgba(83,169,255,.16);
}

.appShell.machinesTheme .machineResultTotalRow{
  border-color:rgba(255,213,61,.44);
  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.22),
      rgba(5,31,82,.24)
    );
}

.appShell.machinesTheme .machineResultTotalRow:hover{
  border-color:rgba(255,213,61,.44);
  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.22),
      rgba(5,31,82,.24)
    );
}

.appShell.machinesTheme .machinesList::-webkit-scrollbar-track{
  background:rgba(3,20,61,.24);
}

.appShell.machinesTheme .machinesList::-webkit-scrollbar-thumb{
  background:rgba(125,203,255,.36);
}

.machineResultFilters label,
.machineReadingHistoryFilters label,
.machineAverageFilters label,
.machineRankingFilters label,
.machineShareFilters label{
  min-width:0;

  height:46px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.machineResultFilters span,
.machineReadingHistoryFilters span,
.machineAverageFilters span,
.machineRankingFilters span,
.machineShareFilters span{
  color:rgba(255,255,255,.52);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.machineResultFilters input,
.machineResultFilters select,
.machineReadingHistoryFilters input,
.machineReadingHistoryFilters select,
.machineAverageFilters input,
.machineAverageFilters select,
.machineRankingFilters input,
.machineRankingFilters select,
.machineShareFilters input,
.machineShareFilters select{
  width:100%;
  min-width:0;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.machineResultFilters select,
.machineReadingHistoryFilters select,
.machineAverageFilters select,
.machineRankingFilters select,
.machineShareFilters select{
  appearance:none;
  cursor:pointer;
}

.machineResultFilters select option,
.machineReadingHistoryFilters select option,
.machineAverageFilters select option,
.machineRankingFilters select option,
.machineShareFilters select option{
  color:#170021;
}

.machineResultChartAction{
  min-width:112px;
  height:46px;

  padding:
    0
    16px;

  border:1px solid rgba(56,189,248,.34);
  border-radius:999px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  color:#020617;
  background:linear-gradient(135deg, #74e8ff, #38bdf8);
  box-shadow:0 12px 26px rgba(56,189,248,.18);

  font-size:12px;
  font-weight:950;

  cursor:pointer;
}

.machineResultChartAction svg{
  width:18px;
  height:18px;

  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.machineResultFilters .machineResultChartAction span,
.appShell.machinesTheme .machineResultFilters .machineResultChartAction span{
  color:#020617 !important;
}

.machineResultChartAction:disabled{
  color:rgba(148,163,184,.72);
  border-color:rgba(148,163,184,.22);
  background:rgba(148,163,184,.12);
  box-shadow:none;
  cursor:not-allowed;
}

.machineResultFilters .machineResultChartAction:disabled span,
.appShell.machinesTheme .machineResultFilters .machineResultChartAction:disabled span{
  color:rgba(148,163,184,.72) !important;
}

.machineResultHeader,
.machineResultRow{
  min-width:0;
  width:100%;

  display:grid;
  grid-template-columns:
    minmax(136px, 1.06fr)
    minmax(48px, .34fr)
    minmax(86px, .66fr)
    minmax(86px, .66fr)
    minmax(94px, .72fr)
    minmax(68px, .48fr)
    minmax(92px, .70fr)
    minmax(98px, .76fr);
  align-items:center;
  gap:8px;
}

.machineResultHeader{
  position:sticky;
  top:0;
  z-index:2;

  padding:
    8px
    8px;

  border:1px solid rgba(125,203,255,.12);
  border-radius:12px;

  color:rgba(255,255,255,.52);
  background:linear-gradient(180deg, rgba(3,22,64,.98), rgba(3,18,52,.98));

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineResultHeader span:nth-child(5){
  color:var(--yellow);
}

.machineResultHeader span,
.machineResultRow > span{
  text-align:right;
}

.machineResultHeader span:first-child,
.machineResultRow > span:first-child{
  text-align:left;
}

.machineResultHeader span:nth-child(2),
.machineResultRow > span:nth-child(2){
  text-align:right;
}

.machineResultRow{
  min-height:48px;

  padding:
    7px
    10px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  background:rgba(0,0,0,.14);

  cursor:pointer;
}

.machineAverageReport{
  min-width:0;

  display:grid;
  gap:8px;
}

.machineAverageHeader,
.machineAverageRow{
  min-width:0;
  width:100%;

  display:grid;
  grid-template-columns:
    minmax(150px, 1.2fr)
    minmax(58px, .35fr)
    minmax(150px, .9fr)
    minmax(110px, .72fr)
    minmax(110px, .72fr);
  align-items:center;
  gap:8px;
}

.machineAverageHeader{
  position:sticky;
  top:0;
  z-index:2;

  padding:8px;

  border:1px solid rgba(125,203,255,.12);
  border-radius:12px;

  color:rgba(255,255,255,.52);
  background:linear-gradient(180deg, rgba(3,22,64,.98), rgba(3,18,52,.98));

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineAverageHeader span,
.machineAverageRow > span{
  text-align:right;
}

.machineAverageHeader span:first-child,
.machineAverageRow > span:first-child{
  text-align:left;
}

.machineAverageHeader span:nth-child(2),
.machineAverageRow > span:nth-child(2){
  text-align:center;
}

.machineAverageHeader span:nth-child(5){
  color:var(--yellow);
}

.machineAverageRow{
  min-height:46px;

  padding:7px 10px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  color:#fff;
  background:rgba(0,0,0,.14);

  font-size:13px;
  font-weight:900;
}

.machineAverageRow span:nth-child(4),
.machineAverageRow span:nth-child(5){
  color:var(--yellow);

  font-size:14px;
  font-weight:950;
}

.machineAverageRow.total{
  border-color:rgba(255,213,61,.34);
  background:linear-gradient(135deg, rgba(255,213,61,.92), rgba(181,134,25,.78));
}

.machineAverageRow.total span{
  color:#050816;
}

.machineAverageMatrix{
  min-width:0;

  display:grid;
  gap:0;

  overflow:auto;
}

.machineAverageMatrixHeader,
.machineAverageMatrixRow{
  min-width:max-content;

  display:grid;
  grid-template-columns:minmax(150px, 1fr) repeat(var(--average-period-count), minmax(78px, .48fr));
  align-items:center;
}

.machineAverageMatrixHeader{
  position:sticky;
  top:0;
  z-index:2;

  border-bottom:1px solid rgba(125,203,255,.28);

  color:rgba(255,255,255,.76);
  background:#082033;

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.machineAverageMatrixHeader span,
.machineAverageMatrixRow span{
  min-width:0;
  padding:8px 10px;

  text-align:right;
  white-space:nowrap;
}

.machineAverageMatrixHeader span:first-child,
.machineAverageMatrixRow span:first-child{
  position:sticky;
  left:0;
  z-index:1;

  text-align:left;
  background:#082033;
}

.machineAverageMatrixRow{
  border-bottom:1px solid rgba(125,211,252,.10);

  color:#fff;

  font-size:12px;
  font-weight:900;
}

.machineAverageMatrixRow span.negative{
  color:#ff5f6d;
}

.machineAverageModelCell{
  display:grid;
  gap:2px;
}

.machineAverageModelCell strong{
  color:#fff;

  font-size:12px;
  font-weight:950;
  line-height:1.1;
}

.machineAverageModelCell small{
  color:rgba(203,213,225,.58);

  font-size:10px;
  font-weight:850;
  line-height:1;
}

.machineAverageValueStack{
  display:grid;
  grid-template-columns:18px minmax(54px, 1fr);
  gap:6px;
  align-items:baseline;
  justify-items:end;
}

.machineAverageValueStack strong{
  color:inherit;
  font:inherit;
  line-height:1;
}

.machineAverageValueStack small{
  color:rgba(203,213,225,.58);

  font-size:10px;
  font-weight:850;
  line-height:1;
  text-align:right;
}

.machineAveragePeriodCell{
  display:grid;
  gap:2px;
  justify-items:end;

  line-height:1;
}

.machineAveragePeriodCell strong,
.machineAveragePeriodCell small{
  font:inherit;
  line-height:1;
}

.machineAveragePeriodCell small{
  color:rgba(255,255,255,.62);
}

.machineAverageMatrixRow.total{
  position:sticky;
  bottom:0;
  z-index:2;

  margin:8px 0 2px;
  border:1px solid rgba(255,213,61,.72);
  border-bottom:1px solid rgba(255,213,61,.72);
  border-radius:999px;

  color:#07111d;
  background:linear-gradient(90deg, rgba(255,213,61,.96), rgba(214,143,14,.78));
  box-shadow:0 12px 28px rgba(0,0,0,.20);

  font-weight:1000;
  overflow:hidden;
}

.machineAverageMatrixRow.total span:first-child{
  background:transparent;
}

.machineAverageMatrixRow.total .machineAverageValueStack small{
  color:rgba(7,17,29,.62);
}

.machineResultRow:hover,
.machineResultRow.expanded{
  border-color:rgba(255,213,61,.24);
  background:rgba(255,255,255,.10);
}

.machineResultRow span{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:rgba(255,255,255,.78);

  font-size:13px;
  font-weight:850;
}

.machineResultRow span:first-child{
  color:#fff;

  font-size:14px;
  font-weight:950;
}

.machineResultRow span:nth-child(5){
  color:var(--yellow);

  font-weight:950;
}

.machineResultModelCell{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  text-align:left;
}

.machineResultRow > span:not(:first-child),
.machineResultDetailRow > span:not(:first-child){
  text-align:right;
}

.machineResultHeader span:not(:first-child),
.machineResultRow > span:not(:first-child),
.machineResultDetailHeader span:not(:first-child),
.machineResultDetailRow > span:not(:first-child){
  text-align:right;
}

.machineResultRow > .machineResultModelCell,
.machineResultHeader span:first-child,
.machineResultDetailHeader span:first-child,
.machineResultDetailRow > span:first-child{
  text-align:left;
}

.machineResultModelCell strong,
.machineResultModelCell small{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.machineResultModelCell strong{
  color:#fff;
  font-size:14px;
  font-weight:950;
}

.machineResultModelCell small{
  color:rgba(255,255,255,.62);
  font-size:10px;
  font-weight:850;
}

.machineResultTotalRow{
  border-color:rgba(255,213,61,.28);

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.14),
      rgba(0,0,0,.18)
    );

  cursor:default;
}

.machineResultTotalRow:hover{
  border-color:rgba(255,213,61,.28);

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.14),
      rgba(0,0,0,.18)
    );
}

.machineResultTotalRow span{
  color:#fff;
  font-weight:950;
}

.machineResultDetail{
  margin:
    -2px
    0
    8px;

  padding:
    12px
    14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;

  display:grid;
  gap:8px;

  background:rgba(0,0,0,.18);
}

.machineResultDetailHeader,
.machineResultDetailRow{
  display:grid;
  grid-template-columns:
    minmax(110px, 1fr)
    minmax(70px, .55fr)
    repeat(6, minmax(74px, .7fr));
  align-items:center;
  gap:6px;
}

.machineResultDetailHeader{
  color:rgba(255,255,255,.52);

  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.machineResultDetailRow{
  min-height:42px;

  padding:
    8px
    10px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;

  background:rgba(255,255,255,.045);
}

.machineResultDetailRow span{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:rgba(255,255,255,.78);

  font-size:11px;
  font-weight:850;
}

.machineResultDetailRow span:first-child{
  color:#fff;
  font-weight:950;
}

.machineRankingReport{
  display:grid;
  gap:12px;
}

.machineRankingSummary{
  display:grid;
  grid-template-columns:repeat(4, minmax(150px, 1fr));
  gap:10px;
}

.machineRankingSummary article{
  min-height:82px;

  padding:
    14px
    16px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;

  display:grid;
  align-content:center;
  gap:6px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
}

.machineRankingSummary span{
  color:rgba(255,255,255,.55);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineRankingSummary strong{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#fff;

  font-size:18px;
  font-weight:950;
}

.machineRankingList{
  display:grid;
  gap:10px;
}

.machineRankingLegend{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.machineRankingLegend span{
  display:flex;
  align-items:center;
  gap:6px;

  color:rgba(255,255,255,.62);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineRankingLegend i{
  width:14px;
  height:8px;

  border-radius:999px;

  display:block;
}

.machineRankingLegend span[data-type="entry"] i{
  background:#44b7ff;
}

.machineRankingLegend span[data-type="retained"] i{
  background:#ffd53d;
}

.machineRankingLegend span[data-type="negative"] i{
  background:#ff4d5f;
}

.machineRankingItem{
  min-width:0;

  padding:
    14px
    16px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;

  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  gap:12px;

  background:rgba(0,0,0,.14);
}

.machineRankingRank{
  width:38px;
  height:38px;

  border:1px solid rgba(255,213,61,.34);
  border-radius:50%;

  display:grid;
  place-items:center;

  color:#06153f;
  background:#ffd53d;

  font-size:14px;
  font-weight:950;
}

.machineRankingBody{
  min-width:0;

  display:grid;
  gap:12px;
}

.machineRankingHeading{
  min-width:0;

  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.machineRankingHeading strong{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#fff;

  font-size:14px;
  font-weight:950;
}

.machineRankingHeading small{
  flex:0 0 auto;

  color:rgba(255,255,255,.56);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineRankingBars{
  display:grid;
  gap:10px;
}

.machineRankingTrack{
  display:grid;
  gap:5px;
}

.machineRankingTrack > span{
  color:rgba(255,255,255,.70);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineRankingTrack.result > span{
  color:rgba(255,213,61,.82);
}

.machineRankingBar{
  position:relative;

  height:11px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;

  overflow:hidden;

  background:rgba(0,0,0,.20);
}

.machineRankingBar span{
  position:absolute;
  inset:
    0
    auto
    0
    0;

  height:100%;

  border-radius:inherit;

  display:block;
}

.machineRankingBar .entryFill{
  background:#44b7ff;
}

.machineRankingBar .retainedFill{
  background:#ffd53d;
  box-shadow:0 0 12px rgba(255,213,61,.32);
}

.machineRankingBar .retainedFill.negative{
  background:#ff4d5f;
  box-shadow:0 0 12px rgba(255,77,95,.34);
}

.machineRankingTrack.result:has(.retainedFill.negative) > span{
  color:#ff7b88;
}

.machineRankingMetrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(115px, 1fr));
  gap:8px;
}

.machineRankingMetrics em{
  min-width:0;

  padding:
    9px
    10px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;

  display:grid;
  gap:3px;

  background:rgba(255,255,255,.045);

  font-style:normal;
}

.machineRankingMetrics b{
  color:rgba(255,255,255,.50);

  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.machineRankingMetrics span{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#fff;

  font-size:11px;
  font-weight:900;
}

.machineShareReport{
  display:grid;
  gap:12px;
}

.machineShareTotalLine{
  min-height:54px;

  padding:
    10px
    14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  background:rgba(0,0,0,.14);
}

.machineShareTotalLine span{
  color:rgba(255,255,255,.58);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineShareTotalLine strong{
  color:#fff;

  font-size:18px;
  font-weight:950;
}

.machineShareTotalLine.negative strong{
  color:#ff5f6d;
}

.machineShareChart{
  min-width:0;

  padding:
    16px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;

  display:grid;
  grid-template-columns:minmax(180px, 240px) minmax(0, 1fr);
  align-items:center;
  gap:18px;

  background:rgba(0,0,0,.14);
}

.machineShareDonut{
  position:relative;

  width:100%;
  max-width:240px;
  aspect-ratio:1;

  border-radius:50%;

  display:grid;
  place-items:center;

  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.machineShareCenter{
  width:46%;
  aspect-ratio:1;

  border-radius:50%;

  display:grid;
  place-items:center;
  align-content:center;
  gap:2px;

  background:linear-gradient(180deg, rgba(8,35,88,.98), rgba(9,19,66,.98));
  box-shadow:0 0 0 1px rgba(255,255,255,.10);
}

.machineShareCenter span{
  color:rgba(255,255,255,.52);

  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.machineShareCenter strong{
  color:#fff;

  font-size:22px;
  font-weight:950;
}

.machineShareList{
  display:grid;
  gap:8px;
}

.machineShareItem{
  min-width:0;

  padding:
    10px
    12px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;

  display:grid;
  grid-template-columns:14px minmax(0, 1fr) auto;
  align-items:center;
  gap:9px;

  background:rgba(255,255,255,.045);
}

.machineShareItem i{
  width:12px;
  height:12px;

  border-radius:50%;

  display:block;
}

.machineShareItem strong{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#fff;

  font-size:12px;
  font-weight:950;
}

.machineShareItem span{
  color:rgba(255,255,255,.82);

  font-size:13px;
  font-weight:950;
}

.machineShareItem.negative span{
  color:#ff5f6d;
}

.machinePanelFields{
  display:grid;
  grid-template-columns:repeat(2, minmax(180px, 1fr));
  gap:10px;
}

.machineModelForm{
  display:grid;
  gap:12px;
}

.machineModelRegisterForm{
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
}

.machineMachineCreateForm{
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
}

.machineModelRegisterGrid{
  grid-template-columns:
    minmax(220px, 1.3fr)
    minmax(190px, 1fr)
    minmax(170px, .85fr)
    minmax(140px, .7fr);
  width:100%;
}

.machineMachineCreateGrid{
  grid-template-columns:minmax(240px, 1fr) minmax(118px, 150px);
  width:100%;
}

.machineModelActions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.machineModelRegisterForm .machineModelActions{
  height:52px;
  align-items:stretch;
}

.machineModelActions .saveAction{
  min-width:132px;
}

.machineModelActions .secondaryAction{
  min-width:132px;
}

.machineMachineCreateForm .machineModelActions{
  height:52px;
  align-items:stretch;
}

.machineMachineCreateForm .machineModelActions .saveAction,
.machineMachineCreateForm .machineModelActions .secondaryAction{
  min-width:118px;
}

.machinePanelFields label{
  min-width:0;

  height:52px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.machinePanelFields span{
  color:rgba(255,255,255,.52);

  font-size:10px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.machinePanelFields input,
.machinePanelFields select{
  width:100%;
  min-width:0;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;

  pointer-events:auto;
  user-select:text;
  -webkit-user-select:text;
}

.machineDraftList{
  display:grid;
  gap:8px;
}

.machineDraftError{
  padding:
    11px
    14px;

  border:1px solid rgba(255,70,110,.24);
  border-radius:14px;

  color:#ffd7df;

  background:rgba(255,70,110,.10);

  font-size:12px;
  font-weight:850;
}

.machineDraftHeader,
.machineDraftRow{
  display:grid;
  grid-template-columns:minmax(180px, 1fr) minmax(260px, 1.2fr);
  align-items:center;
  gap:10px;
}

.machineDraftHeader{
  position:sticky;
  top:0;
  z-index:2;

  padding:
    8px
    14px;

  color:rgba(255,255,255,.52);
  background:
    linear-gradient(180deg, rgba(8,35,88,.96), rgba(9,19,66,.94));
  box-shadow:0 8px 14px rgba(0,0,0,.14);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineDraftRow{
  min-height:56px;

  padding:
    10px
    14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  background:rgba(0,0,0,.14);
}

.machineDraftRow strong{
  font-size:13px;
  font-weight:950;
}

.machineDraftRow label{
  min-width:0;

  height:42px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.machineDraftRow label span{
  color:rgba(255,255,255,.52);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.machineDraftRow input{
  width:100%;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.machineSavedList{
  display:grid;
  gap:8px;
}

.machineSavedTitle{
  margin-top:4px;

  color:#fff;

  font-size:15px;
  font-weight:950;
}

.machineSavedFilters{
  display:grid;
  grid-template-columns:minmax(220px, 1fr) minmax(180px, .45fr);
  gap:10px;
}

.machineSavedFilters label{
  min-width:0;

  height:46px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.machineSavedFilters span{
  color:rgba(255,255,255,.52);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.machineSavedFilters input,
.machineSavedFilters select{
  width:100%;
  min-width:0;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.machineSavedFilters select{
  appearance:none;
  cursor:pointer;
}

.machineSavedFilters select option{
  color:#170021;
}

.machineSavedHeader,
.machineSavedRow{
  display:grid;
  grid-template-columns:
    minmax(180px, 1.2fr)
    minmax(150px, .8fr)
    minmax(150px, .8fr)
    minmax(270px, auto);
  align-items:center;
  gap:10px;
}

.machineSavedHeader{
  position:sticky;
  top:0;
  z-index:2;

  padding:
    8px
    14px;

  color:rgba(255,255,255,.52);
  background:
    linear-gradient(180deg, rgba(8,35,88,.96), rgba(9,19,66,.94));
  box-shadow:0 8px 14px rgba(0,0,0,.14);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineSavedHeader span:last-child{
  text-align:center;
}

.machineSavedRow{
  min-height:54px;

  padding:
    10px
    14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  background:rgba(0,0,0,.14);
}

.machineSavedName{
  min-width:0;

  display:grid;
  gap:3px;
}

.machineSavedRow strong,
.machineSavedRow span{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.machineSavedRow strong{
  font-size:13px;
  font-weight:950;
}

.machineSavedRow span{
  color:rgba(255,255,255,.70);

  font-size:12px;
  font-weight:800;
}

.machineSavedName span{
  color:rgba(255,255,255,.54);

  font-size:10px;
  font-weight:950;
  text-transform:none;
}

.machineSavedPosition input{
  width:100%;
  height:34px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  color:#fff;

  background:rgba(255,255,255,.07);

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.machinePanelFields select{
  appearance:none;
  cursor:pointer;
}

.machinePanelFields select option{
  color:#170021;
}

.machinePanelFields input::-webkit-outer-spin-button,
.machinePanelFields input::-webkit-inner-spin-button{
  margin:0;
  appearance:none;
  -webkit-appearance:none;
}

.machinePanelFields input[type="number"]{
  appearance:textfield;
  -moz-appearance:textfield;
}

.machineModelList{
  display:grid;
  gap:8px;
}

.machineModelListHeader,
.machineModelRow{
  display:grid;
  grid-template-columns:
    minmax(180px, 1.3fr)
    minmax(150px, 1fr)
    minmax(118px, .75fr)
    minmax(104px, .65fr)
    minmax(96px, auto);
  align-items:center;
  gap:10px;
}

.machineModelListHeader{
  position:sticky;
  top:0;
  z-index:2;

  padding:
    8px
    14px;

  color:rgba(255,255,255,.52);
  background:
    linear-gradient(180deg, rgba(8,35,88,.96), rgba(9,19,66,.94));
  box-shadow:0 8px 14px rgba(0,0,0,.14);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineModelListHeader[data-group]::before{
  content:attr(data-group);
  grid-column:1 / -1;

  color:#ffd53d;
}

.machineModelRow{
  min-height:52px;

  padding:
    10px
    14px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  background:rgba(0,0,0,.14);
}

.machineModelRow.inactive{
  opacity:.72;
  border-style:dashed;
}

.machineModelRow strong,
.machineModelRow span{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.machineModelRow strong{
  font-size:13px;
  font-weight:950;
}

.machineModelRow span{
  color:rgba(255,255,255,.70);

  font-size:12px;
  font-weight:800;
}

.machineModelRowActions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.machineModelRow button,
.machineSavedRow button{
  height:34px;

  padding:
    0
    12px;

  border:0;
  border-radius:999px;

  color:#ffd7df;

  background:rgba(255,70,110,.12);

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.machineModelRow button:first-child,
.machineSavedRow button:first-child{
  color:#170021;
  background:var(--yellow);
}

.machineSavedRow .machineSwapPlateButton{
  color:#fff;
  background:rgba(255,255,255,.12);
}

.machineModelRow button:hover,
.machineSavedRow button:hover{
  background:rgba(255,70,110,.20);
}

.machineModelRow button:first-child:hover,
.machineSavedRow button:first-child:hover{
  background:#ffe66b;
}

.machineSavedRow .machineSwapPlateButton:hover{
  background:rgba(255,255,255,.20);
}

.machinePlateSwapPanel{
  padding:14px;

  border:1px solid rgba(255,213,61,.18);
  border-radius:16px;

  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
  gap:12px;

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.10),
      rgba(0,0,0,.16)
    );
}

.machinePlateSwapFields{
  display:grid;
  grid-template-columns:minmax(120px, .5fr) minmax(150px, .7fr) minmax(220px, 1fr);
  gap:10px;
}

.machinePlateSwapFields label{
  min-width:0;

  display:grid;
  gap:5px;
}

.machinePlateSwapFields span{
  color:rgba(255,255,255,.54);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machinePlateSwapFields strong{
  min-height:34px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;

  display:flex;
  align-items:center;

  color:#fff;

  background:rgba(0,0,0,.16);

  font-size:13px;
  font-weight:900;
}

.machinePlateSwapFields input{
  width:100%;
  height:34px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  color:#fff;

  background:rgba(255,255,255,.07);

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.machinePlateSwapActions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.machinePlateSwapActions .saveAction,
.machinePlateSwapActions .secondaryAction{
  height:34px;
  min-height:34px;

  padding:
    0
    12px;

  font-size:12px;
}

.machineCardDetail{
  max-width:780px;
}

.machineCardHeader{
  display:grid;
  gap:5px;
}

.machineCardHeader strong{
  font-size:18px;
  font-weight:950;
}

.machineCardHeader > span:not(.machineStatus){
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:800;
}

.machineStatus{
  width:max-content;

  padding:
    5px
    9px;

  border-radius:999px;

  color:#170021;

  background:var(--yellow);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineCard[data-status="inactive"] .machineStatus{
  color:#fff;
  background:rgba(255,255,255,.18);
}

.machineCard[data-status="maintenance"] .machineStatus{
  color:#2b1200;
  background:#ffb15f;
}

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

.machineMetrics article{
  padding:12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  display:grid;
  gap:5px;

  background:rgba(0,0,0,.16);
}

.machineMetrics strong{
  font-size:14px;
  font-weight:950;
}

.machineNote{
  margin:0;

  color:rgba(255,255,255,.64);

  font-size:12px;
  font-weight:750;
  line-height:1.45;
}

.attendantRow{
  min-height:58px;

  padding:
    10px
    12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;

  display:grid;
  grid-template-columns:minmax(170px, 1.2fr) repeat(6, minmax(116px, 1fr)) minmax(210px, 210px);
  align-items:center;
  gap:8px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );
}

.attendantRow:nth-child(even){
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.045)
    );
}

.attendantRow.settled{
  opacity:.48;
  filter:saturate(.68);
}

.attendantRow.attention{
  border-color:rgba(255,213,61,.45);

  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.17),
      rgba(255,255,255,.07)
    );

  box-shadow:0 12px 28px rgba(255,213,61,.08);
}

.attendantRow.attention .attendantName span{
  color:var(--yellow);
}

.attendantMetric.highlight strong{
  color:var(--yellow);
}

.attendantAction{
  min-height:34px;

  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;

  color:rgba(255,255,255,.38);

  font-size:12px;
  font-weight:900;
}

.attendantAction button{
  min-height:34px;
  flex:0 0 auto;

  padding:
    0
    10px;

  border:0;
  border-radius:999px;

  color:#fff;
  background:rgba(255,255,255,.12);

  font-size:11px;
  font-weight:950;

  cursor:pointer;
}

.attendantAction button:hover{
  background:rgba(255,255,255,.18);
}

.attendantName strong,
.attendantMetric strong{
  display:block;
}

.attendantName strong{
  font-size:14px;
  font-weight:950;
}

.attendantName span,
.attendantMetric span{
  display:block;

  margin-top:4px;

  color:rgba(255,255,255,.58);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.attendantMetric strong{
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}

.registryControls{
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
}

.registryTabs{
  padding:8px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;

  background:rgba(255,255,255,.07);
}

.registryClientFilters,
.registryUserFilters{
  padding:10px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;

  display:grid;
  gap:8px;

  background:rgba(255,255,255,.07);
}

.registryClientFilters{
  grid-template-columns:auto minmax(220px, 1fr);
  align-items:center;
}

.registryUserFilters{
  grid-template-columns:auto minmax(220px, 1fr) auto;
  align-items:center;
}

.registryClientSearchField{
  grid-column:auto;
}

.registryClientStatusTabs,
.registryUserStatusTabs{
  display:flex;
  justify-content:center;
  gap:6px;
}

.registryClientStatusTabs button,
.registryUserStatusTabs button{
  min-width:64px;
  min-height:28px;

  padding:
    0
    10px;

  border:0;
  border-radius:999px;

  color:#fff;

  background:rgba(255,255,255,.08);

  font:inherit;
  font-size:10px;
  font-weight:900;

  cursor:pointer;
}

.registryClientStatusTabs button.active,
.registryClientStatusTabs button:hover,
.registryUserStatusTabs button.active,
.registryUserStatusTabs button:hover{
  color:#170021;
  background:var(--yellow);
}

.registryClientFilters[hidden],
.registryUserFilters[hidden]{
  display:none;
}

.registryClientFilters label,
.registryUserFilters label{
  min-width:0;

  height:42px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.06);
}

.registryClientFilters span,
.registryUserFilters span{
  color:rgba(255,255,255,.52);

  font-size:8px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.registryClientFilters input,
.registryClientFilters select,
.registryUserFilters input,
.registryUserFilters select{
  width:100%;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:12px;
  font-weight:850;
}

.registryClientFilters select,
.registryUserFilters select{
  appearance:none;
  cursor:pointer;
}

.registryClientFilters select option,
.registryUserFilters select option{
  color:#170021;
}

.registryPermissionsAction{
  min-height:42px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:0 14px;

  color:#fff;
  background:rgba(255,255,255,.09);

  font:inherit;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;

  cursor:pointer;
}

.registryPermissionsAction:hover{
  color:#170021;
  background:var(--yellow);
}

.registryPermissionsAction[hidden]{
  display:none;
}

.registryTab{
  min-height:38px;

  border:0;
  border-radius:999px;

  color:#fff;

  background:transparent;

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.registryTab.active,
.registryTab:hover{
  color:#170021;

  background:var(--yellow);
}

.registryEntryPanel{
  padding:12px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;

  display:grid;
  grid-template-rows:auto auto minmax(0, 1fr);
  gap:10px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.045)
    );
}

.registryForm{
  position:sticky;
  top:0;
  z-index:2;

  display:grid;
  grid-template-columns:minmax(180px, 1fr) minmax(180px, 1fr) auto;
  gap:10px;
}

.registryForm.equipmentMode{
  grid-template-columns:minmax(180px, 1fr) minmax(180px, 1fr) auto;
}

.registryForm.userMode{
  grid-template-columns:minmax(180px, 1fr) minmax(180px, 1fr) minmax(150px, .55fr) auto;
}

.equipmentFields{
  grid-column:1 / -1;

  display:grid;
  grid-template-columns:repeat(4, minmax(140px, 1fr));
  gap:10px;
}

.equipmentFields[hidden]{
  display:none;
}

.userProfileField[hidden]{
  display:none;
}

.registryUserAccessPanel{
  grid-column:1 / -1;

  min-width:0;
}

.registryUserAccessPanel[hidden]{
  display:none;
}

.registryUserAccessDetails{
  border-top:1px solid rgba(255,255,255,.12);

  padding-top:8px;
}

.registryUserAccessDetails summary{
  min-height:36px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  padding:0 12px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  color:#fff;
  background:rgba(255,255,255,.045);

  cursor:pointer;
  list-style:none;
}

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

.registryUserAccessDetails summary::after{
  content:"Editar";

  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:5px 9px;

  color:rgba(255,255,255,.82);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.registryUserAccessDetails[open] summary::after{
  content:"Ocultar";
}

.registryUserAccessDetails strong{
  color:#fff;

  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.registryUserAccessDetails small{
  margin-left:auto;

  color:rgba(255,255,255,.54);

  font-size:11px;
  font-weight:850;
}

.registryUserAccessBody{
  margin-top:8px;

  display:grid;
  gap:10px;
}

.registryUserAccessBody > button{
  justify-self:start;

  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  padding:7px 10px;

  color:#fff;
  background:rgba(255,255,255,.06);

  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

.registryUserAccessGroup{
  min-width:0;

  display:grid;
  grid-template-columns:132px repeat(auto-fit, minmax(132px, 1fr));
  gap:6px;
  align-items:center;
}

.registryUserAccessGroup > span{
  color:rgba(255,255,255,.54);

  font-size:10px;
  font-weight:950;
  line-height:1.15;
  text-transform:uppercase;
}

.registryUserAccessGroup label{
  width:auto;
  height:auto;
  min-height:30px;

  display:flex;
  align-items:center;
  gap:8px;

  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  padding:0 9px;

  background:rgba(255,255,255,.045);
}

.registryForm .registryUserAccessGroup input{
  width:14px;
  height:14px;
  accent-color:#58d68d;
}

.registryUserAccessGroup em{
  color:#fff;

  font-style:normal;
  font-size:11px;
  font-weight:850;
}

.registryForm label{
  min-width:0;

  height:48px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.registryForm span{
  color:rgba(255,255,255,.52);

  font-size:10px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.registryForm input,
.registryForm select{
  width:100%;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.registryForm select{
  appearance:none;
  cursor:pointer;
}

.registryForm select option{
  color:#170021;
}

.registryForm .saveAction{
  align-self:center;

  min-width:118px;
}

.registryForm .registryUserAccessGroup{
  grid-template-columns:132px repeat(auto-fit, minmax(132px, 1fr));
}

.registryForm .registryUserAccessGroup > span{
  color:rgba(255,255,255,.54);

  font-size:10px;
  font-weight:950;
  line-height:1.15;
  text-transform:uppercase;
}

.registryForm .registryUserAccessGroup label{
  width:auto;
  height:auto;
  min-height:30px;

  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  padding:0 9px;

  display:flex;
  align-items:center;
  gap:8px;

  background:rgba(255,255,255,.045);
}

.registryForm .registryUserAccessGroup input{
  width:14px;
  height:14px;
}

.registryForm .registryUserAccessGroup em{
  color:#fff;

  font-style:normal;
  font-size:11px;
  font-weight:850;
}

.registryPermissionsModal{
  position:fixed;
  inset:0;
  z-index:80;

  padding:24px;

  display:none;
  place-items:center;

  background:rgba(10, 0, 18, .72);
  backdrop-filter:blur(18px);
}

.registryPermissionsModal.open{
  display:grid;
}

.registryPermissionsCard{
  position:relative;

  width:min(960px, 100%);
  max-height:min(760px, calc(100vh - 48px));

  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;

  display:grid;
  grid-template-rows:auto auto auto auto minmax(0, 1fr) auto;
  gap:14px;

  color:#fff;
  background:#1b0828;
  box-shadow:0 26px 80px rgba(0,0,0,.42);
}

.registryPermissionsCard h2{
  margin:0;

  font-size:24px;
  line-height:1;
}

.registryPermissionsNote{
  margin:0;

  max-width:720px;

  color:rgba(255,255,255,.68);

  font-size:12px;
  font-weight:750;
  line-height:1.45;
}

.permissionProfileTabs{
  padding:6px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:6px;

  background:rgba(255,255,255,.06);
}

.permissionProfileTabs button{
  min-height:34px;

  border:0;
  border-radius:999px;

  color:#fff;
  background:transparent;

  font:inherit;
  font-size:11px;
  font-weight:950;

  cursor:pointer;
}

.permissionProfileTabs button.active,
.permissionProfileTabs button:hover{
  color:#170021;
  background:var(--yellow);
}

.permissionProfileBody{
  min-height:0;
  overflow:auto;

  padding:2px 4px 2px 0;

  display:grid;
  gap:14px;
}

.permissionProfileGroup{
  padding:0;

  border:0;
  border-radius:0;

  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;

  background:transparent;
}

.permissionProfileGroup label small,
.registryUserAccessGroup label small{
  margin-left:auto;

  color:rgba(88,214,141,.9);

  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.permissionProfileGroup > span{
  flex:0 0 112px;

  color:rgba(255,255,255,.56);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.permissionProfileGroup label{
  position:relative;

  width:auto;
  min-width:126px;
  min-height:32px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  padding:0 12px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;

  color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.035);

  cursor:pointer;
  user-select:none;
}

.permissionProfileGroup label:has(input:checked){
  border-color:rgba(250,204,21,.44);
  color:#1f1607;
  background:linear-gradient(135deg, #fde68a, #ffd53d);
  box-shadow:
    0 8px 18px rgba(250,204,21,.14),
    inset 0 1px 0 rgba(255,255,255,.54);
}

.permissionProfileGroup label[data-recommended="false"]:has(input:checked){
  border-color:rgba(255,236,179,.46);
  color:#2b1f08;
  background:linear-gradient(135deg, #fff4c4, #e6b84f);
  box-shadow:
    0 8px 18px rgba(230,184,79,.13),
    inset 0 1px 0 rgba(255,255,255,.48);
}

.permissionProfileGroup label:has(input:not(:checked)){
  opacity:.48;
  filter:saturate(.55);
}

.permissionProfileGroup label:hover{
  opacity:1;
  filter:none;
}

.permissionProfileGroup input{
  position:absolute;
  inline-size:1px;
  block-size:1px;

  opacity:0;
  pointer-events:none;
}

.permissionProfileGroup em{
  color:currentColor;

  font-style:normal;
  font-size:10px;
  font-weight:950;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
}

.registryPermissionsCard .modalActions{
  margin-top:4px;

  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.registryPermissionsCard .modalActions button{
  min-width:156px;
  min-height:38px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:0 18px;

  font:inherit;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;

  cursor:pointer;
}

.registryList{
  min-height:0;
  max-height:100%;

  padding:
    6px
    6px
    0
    0;

  display:grid;
  align-content:start;
  gap:10px;

  overflow:auto;
  overscroll-behavior:contain;
}

.registryList::-webkit-scrollbar{
  width:8px;
}

.registryList::-webkit-scrollbar-track{
  border-radius:999px;
  background:rgba(255,255,255,.05);
}

.registryList::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(255,255,255,.24);
}

.registryCard{
  padding:
    14px
    16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;

  display:grid;
  gap:12px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );
}

.registryCardMain{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.registryCard.clientCard:hover{
  border-color:rgba(255,255,255,.22);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.14),
      rgba(255,255,255,.065)
    );
}

.registryCardActions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.registryCardInfo{
  min-width:0;
}

.registryCard strong,
.registryCard span{
  display:block;
}

.registryCard strong{
  font-size:14px;
  font-weight:950;
}

.registryCard span{
  margin-top:4px;

  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:750;
  line-height:1.45;
}

.clientPlaySummary{
  width:100%;
  margin-top:0;

  display:grid;
  gap:10px;
}

.clientPlaySummary[hidden]{
  display:none;
}

.clientPlaySummaryControls{
  display:grid;
  grid-template-columns:minmax(150px, .35fr) repeat(2, minmax(142px, .32fr)) minmax(160px, 1fr);
  align-items:center;
  gap:8px;
}

.clientPlaySummaryControls label{
  min-width:0;
  height:44px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.clientPlaySummaryControls label span{
  margin:0;

  color:rgba(255,255,255,.56);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.clientPlaySummaryControls select,
.clientPlaySummaryControls input{
  width:100%;

  border:0;
  outline:0;

  color:#fff;

  background:transparent;

  font:inherit;
  font-size:12px;
  font-weight:950;
}

.clientPlaySummaryControls option{
  color:#170021;
}

.clientPlaySummaryControls em{
  color:rgba(255,255,255,.64);

  font-size:12px;
  font-style:normal;
  font-weight:850;
}

.clientPlaySummaryMetrics{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.clientPlaySummaryMetrics span{
  min-width:116px;

  margin:0;
  padding:
    8px
    10px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;

  background:rgba(255,255,255,.07);
}

.clientPlaySummaryMetrics small,
.clientPlaySummaryMetrics strong{
  display:block;
}

.clientPlaySummaryMetrics small{
  color:rgba(255,255,255,.58);

  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.clientPlaySummaryMetrics strong{
  margin-top:3px;

  color:#fff;

  font-size:13px;
  font-weight:950;
}

.equipmentCard{
  align-items:flex-start;
}

.equipmentCard > div{
  min-width:0;
}

.registryCard button{
  height:34px;

  padding:
    0
    12px;

  border:0;
  border-radius:999px;

  color:#ffd7df;

  background:rgba(255,70,110,.12);

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.registryCardActions button[data-action="edit"]{
  color:#170021;
  background:var(--yellow);
}

.registryCardActions button[data-action="details"]{
  color:#fff;
  background:rgba(255,255,255,.12);
}

.registryCardActions button[data-action="reset-password"]{
  color:#fff;
  background:rgba(255,255,255,.12);
}

.registryCard button:hover{
  background:rgba(255,70,110,.20);
}

.registryCardActions button[data-action="edit"]:hover{
  background:#ffe66b;
}

.registryCardActions button[data-action="details"]:hover{
  background:rgba(255,255,255,.20);
}

.registryCardActions button[data-action="reset-password"]:hover{
  background:rgba(255,255,255,.20);
}

.appShell.registryTheme .registryHeader,
.appShell.registryTheme .registryTabs,
.appShell.registryTheme .registryClientFilters,
.appShell.registryTheme .registryUserFilters,
.appShell.registryTheme .registryEntryPanel,
.appShell.registryTheme .registryCard{
  border-color:rgba(250,204,21,.14);
  background:
    linear-gradient(
      180deg,
      rgba(42,36,27,.92),
      rgba(17,15,12,.96)
    );
  box-shadow:
    0 18px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.registryTheme .registryHeader{
  background:
    linear-gradient(
      135deg,
      rgba(245,158,11,.18),
      rgba(250,204,21,.08)
    );
}

.appShell.registryTheme .registryHeader .statementEyebrow,
.appShell.registryTheme .registryClientFilters span,
.appShell.registryTheme .registryUserFilters span,
.appShell.registryTheme .registryForm span,
.appShell.registryTheme .registryCard span{
  color:rgba(255,255,255,.68);
}

.appShell.registryTheme .registryClientFilters label,
.appShell.registryTheme .registryUserFilters label,
.appShell.registryTheme .registryForm label{
  border-color:rgba(250,204,21,.13);
  background:rgba(12,10,7,.48);
}

.appShell.registryTheme .registryTab.active,
.appShell.registryTheme .registryTab:hover,
.appShell.registryTheme .registryHeader > strong,
.appShell.registryTheme .registryCardActions button[data-action="edit"]{
  color:#1f1607;
  background:linear-gradient(135deg, #fde68a, #ffd53d);
}

.appShell.registryTheme .registryList::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06);
}

.appShell.registryTheme .registryList::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.28);
}

.statementFilters{
  padding:12px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;

  display:grid;
  grid-template-columns:repeat(5, minmax(130px, 1fr));
  gap:10px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.045)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08);
}

.reportsBoard{
  grid-template-rows:auto auto auto minmax(0, 1fr);
}

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

.reportsSummary[hidden]{
  display:none;
}

.reportsSummary article{
  min-height:82px;
  padding:16px;

  border:1px solid rgba(94,215,255,.13);
  border-radius:20px;

  display:grid;
  align-content:center;
  gap:8px;

  background:
    radial-gradient(circle at 82% 0%, rgba(94,215,255,.15), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 36px rgba(0,0,0,.22);
}

.reportsSummary span{
  color:rgba(255,255,255,.58);

  font-size:11px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.reportsSummary strong{
  color:#fff;

  font-size:clamp(18px, 2vw, 26px);
  font-weight:950;
  line-height:1;
}

.reportsSummary .statementClientSummaryMetrics{
  grid-template-columns:minmax(0, 1fr);
}

.reportsSummary.statementClientSummary{
  min-height:0;
  padding:12px 16px;

  grid-template-columns:minmax(0, 1fr) minmax(180px, 260px);
  align-items:center;
}

.reportsSummary .statementClientSummaryTitle{
  display:grid;
  justify-content:start;
  gap:4px;
}

.reportsSummary .statementClientSummaryTitle span{
  text-align:left;
}

.reportsSummary .statementClientSummaryMetrics span{
  min-height:46px;
  padding:8px 14px;

  justify-items:end;
}

.reportsSummary .statementClientSummaryMetrics strong{
  font-size:clamp(18px, 2.1vw, 24px);
}

.statementHeaderActions{
  display:grid;
  justify-items:end;
  gap:4px;
}

.statementHeaderActions small{
  color:rgba(255,255,255,.62);

  font-size:11px;
  font-weight:900;
  line-height:1;
}

.statementHeaderActions small[hidden]{
  display:none;
}

.reportsFilters .reportsDateWrap{
  min-width:0;
}

.reportsFilters .dateSelector{
  width:100%;
  height:48px;
}

.reportsFilters .machineResultDateText{
  min-width:84px;

  color:#fff;

  font-size:13px;
  font-weight:950;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.reportsFilters .machineResultDateStack strong{
  min-width:0;

  color:rgba(255,255,255,.52);

  font-size:10px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.closingDocumentReportRow{
  width:100%;
  border:0;
  text-align:left;
  cursor:pointer;
}

.closingDocumentReportRow:hover{
  background:rgba(94,215,255,.10);
}

.statementSelect{
  min-width:0;

  height:48px;

  padding:
    0
    14px;

  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(255,255,255,.07);
}

.statementSelect span{
  color:rgba(255,255,255,.52);

  font-size:10px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.statementSelect select,
.statementSelect input{
  width:100%;

  border:0;

  color:#fff;

  background:transparent;

  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.statementSelect input::-webkit-calendar-picker-indicator{
  filter:invert(1);
  opacity:.62;
}

.statementSelect select,
.statementSelect input{
  cursor:pointer;
}

.statementSelect option{
  color:#170021;
}

.statementClientSummary{
  min-width:0;

  padding:14px;

  border:1px solid rgba(255,213,61,.20);
  border-radius:20px;

  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:12px;

  background:
    linear-gradient(
      135deg,
      rgba(255,213,61,.14),
      rgba(255,255,255,.055)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09);
}

.statementClientSummary[hidden]{
  display:none;
}

.statementClientSummaryTitle{
  min-width:0;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.statementClientSummaryTitle strong{
  color:#fff;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  font-size:17px;
  font-weight:950;
}

.statementClientSummaryTitle span{
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:850;
  text-align:right;
  white-space:nowrap;
}

.statementClientSummaryMetrics{
  min-width:0;

  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(118px, 1fr));
  gap:10px;
}

.statementClientSummaryMetrics span{
  min-height:54px;

  padding:
    9px
    12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  display:grid;
  align-content:center;
  gap:4px;

  background:rgba(0,0,0,.12);
}

.statementClientSummaryMetrics small{
  color:rgba(255,255,255,.56);

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.statementClientSummaryMetrics strong{
  color:#fff;

  font-size:14px;
  font-weight:950;
  white-space:nowrap;
}

.statementClientSummaryMetrics .highlight{
  border-color:rgba(255,213,61,.28);
  background:rgba(255,213,61,.13);
}

.statementClientSummaryMetrics .highlight strong{
  color:#ffd53d;
}

.statementFilterSummary{
  min-width:0;

  padding:12px 14px;

  border:1px solid rgba(94,215,255,.22);
  border-radius:18px;

  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;

  background:
    linear-gradient(135deg, rgba(94,215,255,.15), rgba(255,255,255,.055));

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 14px 30px rgba(0,0,0,.14);
}

.statementFilterSummaryTitle{
  min-width:0;

  display:grid;
  gap:4px;
}

.statementFilterSummaryTitle strong{
  color:#fff;

  font-size:14px;
  font-weight:950;
}

.statementFilterSummaryTitle span{
  color:rgba(255,255,255,.62);

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  font-size:11px;
  font-weight:850;
}

.statementFilterSummaryMetrics{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.statementFilterSummaryMetrics span{
  min-width:118px;
  min-height:48px;

  padding:8px 12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;

  display:grid;
  align-content:center;
  gap:4px;

  background:rgba(0,0,0,.14);
}

.statementFilterSummaryMetrics small{
  color:rgba(255,255,255,.54);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.statementFilterSummaryMetrics strong{
  color:#ffd53d;

  font-size:15px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}

.statementList{
  min-height:0;
  max-height:100%;

  padding-bottom:10px;

  display:grid;
  align-content:start;
  gap:10px;

  overflow:visible;
}

.statementEmpty,
.statementRow{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );
}

.statementEmpty{
  min-height:160px;

  display:grid;
  place-content:center;
  gap:6px;

  color:rgba(255,255,255,.70);

  text-align:center;
}

.statementEmpty strong{
  color:#fff;

  font-size:16px;
}

.statementEmpty span{
  font-size:13px;
  font-weight:700;
}

.statementRow{
  padding:
    14px
    16px;

  display:grid;
  grid-template-columns:92px minmax(0, 1fr) auto auto;
  align-items:center;
  gap:14px;
}

.statementRow.canceled{
  opacity:.42;
  filter:saturate(.65);
}

.statementRow.zeroValue{
  opacity:.46;
  filter:saturate(.55);
}

.statementRow.zeroValue .statementValue{
  color:rgba(255,255,255,.56);
}

.statementRow.transportedVale{
  border-color:rgba(255,213,61,.32);
  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.16),
      rgba(255,255,255,.06)
    );
}

.statementRow.transportedVale .statementInfo strong,
.statementRow.transportedVale .statementValue{
  color:var(--yellow);
}

.statementRow.settledTransportedVale{
  border-color:rgba(148,163,184,.24);
  background:
    linear-gradient(
      180deg,
      rgba(148,163,184,.13),
      rgba(255,255,255,.04)
    );
  opacity:.58;
  filter:saturate(.45);
}

.statementRow.settledTransportedVale .statementInfo strong,
.statementRow.settledTransportedVale .statementValue{
  color:rgba(226,232,240,.72);
}

.statementRow.settledTransportedVale .statementInfo span{
  color:rgba(203,213,225,.64);
}

.statementTime{
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

.statementDateTime{
  min-width:88px;

  display:grid;
  gap:3px;

  color:rgba(255,255,255,.62);

  font-variant-numeric:tabular-nums;
}

.statementDateTime strong,
.statementDateTime small{
  display:block;
}

.statementDateTime strong{
  color:#fff;

  font-size:12px;
  font-weight:950;
}

.statementDateTime small{
  color:rgba(255,255,255,.58);

  font-size:11px;
  font-weight:850;
}

.statementInfo{
  min-width:0;

  display:grid;
  gap:4px;
}

.statementInfo strong{
  font-size:14px;
  font-weight:950;
}

.statementInfo span{
  color:rgba(255,255,255,.62);

  font-size:12px;
  font-weight:750;
  line-height:1.35;
}

.statementValue{
  color:#fff;

  font-size:16px;
  font-weight:950;
  white-space:nowrap;
}

.statementActions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.statementActions button{
  min-height:34px;

  padding:
    0
    12px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;

  color:#fff;

  background:rgba(255,255,255,.08);

  font:inherit;
  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.statementActions button:hover:not(:disabled){
  background:rgba(255,255,255,.14);
}

.statementActions .statementDetailsAction{
  color:#170021;
  border-color:rgba(255,213,61,.58);
  background:linear-gradient(135deg, rgba(255,213,61,.98), rgba(255,184,77,.86));
}

.statementActions .statementDetailsAction:hover:not(:disabled){
  background:linear-gradient(135deg, rgba(255,230,102,1), rgba(255,197,88,.92));
}

.statementActions button:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.closingCardQuickModal{
  position:fixed;
  inset:0;
  z-index:135;

  display:none;
  align-items:center;
  justify-content:center;

  padding:20px;

  background:rgba(5,0,16,.68);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.closingCardQuickModal.open{
  display:flex;
}

.closingCardQuickDialog{
  position:relative;

  width:min(520px, 100%);
  max-height:min(82dvh, 680px);

  padding:22px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;

  color:#fff;
  background:
    radial-gradient(circle at 20% 0%, rgba(169,62,255,.32), transparent 34%),
    linear-gradient(180deg, rgba(46,13,74,.97), rgba(20,4,40,.98));

  box-shadow:
    0 28px 80px rgba(0,0,0,.50),
    inset 0 1px 0 rgba(255,255,255,.12);

  display:grid;
  gap:12px;

  overflow:auto;
}

.closingCardQuickDialog h2{
  margin:0;
  padding-right:42px;

  font-size:24px;
  line-height:1;
}

.closingCardQuickTotal{
  width:max-content;
  min-width:150px;

  padding:10px 14px;

  border:1px solid rgba(255,213,61,.32);
  border-radius:999px;

  color:var(--yellow);
  background:linear-gradient(135deg, rgba(255,213,61,.14), rgba(255,255,255,.06));

  font-size:20px;
  font-weight:950;
}

.closingCardQuickList{
  display:grid;
  gap:8px;
}

.closingCardQuickRow,
.closingCardQuickEmpty{
  padding:12px 14px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  background:rgba(255,255,255,.07);
}

.closingCardQuickRow{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
}

.closingCardQuickRow span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;

  color:rgba(255,255,255,.82);

  font-size:13px;
  font-weight:850;
  white-space:nowrap;
}

.closingCardQuickRow strong{
  color:#fff;

  font-size:14px;
  font-weight:950;
  white-space:nowrap;
}

.closingCardQuickEmpty{
  color:rgba(255,255,255,.66);

  font-size:13px;
  font-weight:800;
  line-height:1.35;
}

.closingCardQuickCloseAction{
  min-height:42px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;

  color:#fff;
  background:rgba(255,255,255,.08);

  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.closingDetailsModal{
  position:fixed;
  inset:0;
  z-index:130;

  display:none;
  align-items:center;
  justify-content:center;

  padding:20px;

  background:rgba(5,0,16,.74);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.closingDetailsModal.open{
  display:flex;
}

.closingDetailsDialog{
  position:relative;

  width:min(1180px, 100%);
  max-height:min(92dvh, 820px);

  padding:24px;

  border:1px solid rgba(216,180,254,.16);
  border-radius:22px;

  color:#fff;
  background:
    radial-gradient(circle at 18% 0%, rgba(126,34,206,.18), transparent 32%),
    linear-gradient(180deg, rgba(34,16,53,.98), rgba(16,7,29,.99));

  box-shadow:
    0 28px 80px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(255,255,255,.08);

  overflow:auto;
}

.closingDetailsContent{
  display:grid;
  gap:16px;
}

.closingDetailsHeader{
  padding:0 44px 14px 0;
  border-bottom:1px solid rgba(255,255,255,.10);

  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.closingDetailsHeader h2{
  margin:0;

  font-size:clamp(24px, 2.8vw, 34px);
  line-height:1;
}

.closingDetailsHeader span{
  display:block;
  margin-top:7px;

  color:rgba(255,255,255,.66);

  font-size:12px;
  font-weight:850;
}

.closingDocumentIdentity{
  padding:12px 14px;

  border:1px solid rgba(216,180,254,.14);
  border-radius:16px;

  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;

  background:rgba(255,255,255,.045);
}

.closingDocumentIdentity span{
  min-width:0;

  display:grid;
  gap:4px;
}

.closingDocumentIdentity b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:rgba(255,255,255,.54);
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.closingDocumentIdentity em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.closingDetailsLaunchGrid article{
  min-width:0;
  min-height:76px;
  padding:10px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  display:grid;
  gap:5px;

  background:rgba(255,255,255,.075);
}

.closingDetailsLaunchGrid span{
  color:rgba(255,255,255,.62);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.closingDetailsLaunchGrid strong{
  color:#fff;

  font-size:18px;
  font-weight:950;
  white-space:nowrap;
}

.closingDetailBreakdown{
  margin-top:4px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.10);

  display:grid;
  gap:5px;
}

.closingDetailBreakdown span{
  min-width:0;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;

  color:rgba(255,255,255,.62);
  text-transform:none;
}

.closingDetailBreakdown b{
  white-space:nowrap;

  color:rgba(255,255,255,.66);
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.closingDetailBreakdown em{
  white-space:nowrap;

  color:#fff !important;
  font-size:11px;
  font-style:normal;
  font-weight:950;
  opacity:1;
}

.closingDetailsLayout{
  display:grid;
  grid-template-columns:minmax(240px, .82fr) minmax(0, 1.18fr);
  grid-template-rows:auto minmax(0, 1fr);
  gap:12px;
}

.closingDetailsMachine{
  grid-column:1;
  grid-row:1 / 3;

  padding:14px;

  border:1px solid rgba(216,180,254,.13);
  border-radius:18px;

  display:grid;
  align-content:start;
  gap:10px;

  background:linear-gradient(180deg, rgba(255,255,255,.070), rgba(255,255,255,.035));
}

.closingDetailsMachine > span{
  color:var(--yellow);

  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.closingDetailsMachine > p{
  margin:0;

  color:rgba(255,255,255,.66);

  font-size:12px;
  font-weight:800;
  line-height:1.35;
}

.closingDetailsMachine > strong{
  padding:13px;

  border:1px solid rgba(255,213,61,.38);
  border-radius:16px;

  color:#170021;
  background:linear-gradient(135deg, rgba(255,213,61,.98), rgba(255,184,77,.86));

  font-size:clamp(22px, 2.8vw, 34px);
  font-weight:950;
  text-align:center;
}

.closingDetailsPanel{
  min-width:0;
  padding:14px;

  border:1px solid rgba(216,180,254,.13);
  border-radius:18px;

  display:grid;
  gap:12px;

  background:linear-gradient(180deg, rgba(255,255,255,.070), rgba(255,255,255,.035));
}

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

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

.closingDetailCompositionCard{
  min-width:0;
  min-height:76px;
  padding:10px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;

  display:grid;
  align-content:start;
  gap:5px;

  background:rgba(255,255,255,.07);
}

.closingDetailCompositionCard.hasDifference{
  border-color:rgba(255,77,125,.40);
  background:linear-gradient(135deg, rgba(255,77,125,.16), rgba(255,255,255,.07));
}

.closingDetailCompositionCard span{
  color:#fff;

  font-size:11px;
  font-weight:950;
}

.closingDetailCompositionCard small,
.closingDetailCompositionCard em{
  color:rgba(255,255,255,.58);

  font-size:10px;
  font-style:normal;
  font-weight:850;
}

.closingDetailCompositionCard strong{
  color:#fff;

  font-size:16px;
  font-weight:950;
}

.closingDetailCompositionCard em.negative{
  color:#ff8fb0;
}

.closingDetailCompositionCard em.positive{
  color:#8fffd9;
}

.closingMachineReadingsPanel{
  overflow:hidden;
}

.closingMachineReadingsTable{
  overflow:auto;

  display:grid;
  grid-template-columns:minmax(210px, 1.45fr) repeat(6, minmax(96px, 1fr));
  align-items:stretch;

  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;

  background:rgba(0,0,0,.10);
}

.closingMachineReadingsHeaderCell,
.closingMachineReadingsMachine,
.closingMachineReadingsTable > span{
  min-width:0;
  padding:9px 11px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.closingMachineReadingsHeaderCell{
  color:rgba(255,255,255,.58);
  background:rgba(255,255,255,.050);

  font-size:10px;
  font-weight:950;
  text-align:right;
  text-transform:uppercase;
}

.closingMachineReadingsHeaderCell:first-child{
  text-align:left;
}

.closingMachineReadingsMachine{
  display:grid;
  align-content:center;
  gap:3px;
}

.closingMachineReadingsMachine strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#fff;
  font-size:12px;
  font-weight:950;
}

.closingMachineReadingsMachine small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:rgba(255,255,255,.58);
  font-size:10px;
  font-weight:850;
}

.closingMachineReadingsMachine.pending small{
  color:#ffd53d;
}

.closingMachineReadingsMachine.total,
.closingMachineReadingsMachine.total + span,
.closingMachineReadingsMachine.total + span + span,
.closingMachineReadingsMachine.total + span + span + span,
.closingMachineReadingsMachine.total + span + span + span + span,
.closingMachineReadingsMachine.total + span + span + span + span + span,
.closingMachineReadingsMachine.total + span + span + span + span + span + span{
  border-bottom:0;
  background:linear-gradient(135deg, rgba(255,213,61,.18), rgba(255,255,255,.055));
}

.closingMachineReadingsTable > span{
  display:grid;
  align-content:center;
  justify-items:end;
  gap:3px;
}

.closingMachineReadingsTable > span b{
  display:none;
}

.closingMachineReadingsTable > span em{
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  text-align:right;
  white-space:nowrap;
}

.closingMachineReadingsTable > span.readingBalanceValue.zero em{
  color:rgba(255,255,255,.46);
}

.closingMachineReadingsTable > span.readingBalanceValue.positive em{
  color:#ffd53d;
  text-shadow:0 0 12px rgba(255,213,61,.24);
}

.closingMachineReadingsTable > span.readingBalanceValue.negative em{
  color:#ff7d9a;
  text-shadow:0 0 12px rgba(255,77,125,.22);
}

.closingDetailsAlert{
  padding:9px;

  border:1px solid rgba(255,77,125,.42);
  border-radius:14px;

  display:grid;
  gap:8px;

  background:linear-gradient(135deg, rgba(255,77,125,.20), rgba(70,14,92,.74));
}

.closingDetailsAlert > strong{
  padding:0;
  border:0;
  border-radius:0;

  color:var(--yellow);
  background:transparent;

  font-size:12px;
  text-align:left;
}

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

.closingDetailsAlert span{
  grid-column:1 / -1;

  color:#fff;

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.closingDetailsAlert em{
  padding:7px;

  border-radius:10px;

  display:grid;
  gap:4px;

  color:#fff;
  background:rgba(255,255,255,.08);

  font-size:11px;
  font-style:normal;
  font-weight:950;
}

.closingDetailsAlert em b{
  color:rgba(255,255,255,.62);

  font-size:8px;
  text-transform:uppercase;
}

.cashModal{
  position:fixed;
  inset:0;

  display:none;
  align-items:center;
  justify-content:center;

  padding:20px;

  background:rgba(5,0,16,.62);

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  z-index:100;
}

.cashModal.open{
  display:flex;
}

.cashModalCard{
  position:relative;

  width:min(100%, 480px);
  max-height:min(92dvh, 760px);

  padding:28px;

  border-radius:28px;

  background:
    linear-gradient(
      180deg,
      rgba(31,9,55,.94),
      rgba(13,3,30,.96)
    );

  border:1px solid rgba(255,255,255,.13);

  box-shadow:
    0 28px 70px rgba(0,0,0,.46),
    0 0 38px rgba(255,62,200,.14),
    inset 0 1px 0 rgba(255,255,255,.10);

  overflow:auto;
}

.cashModalCard:has(.closingCompositionField:not([hidden])){
  width:min(100%, 680px);
}

.modalClose{
  position:absolute;
  top:16px;
  right:16px;

  width:34px;
  height:34px;

  border:0;
  border-radius:50%;

  color:#fff;

  background:rgba(255,255,255,.10);

  font-size:22px;
  line-height:1;

  cursor:pointer;
}

.modalEyebrow{
  margin:0 0 8px;

  color:var(--yellow);

  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.cashModalCard h2{
  margin:
    0
    0
    22px;

  color:#fff;

  font-size:30px;
}

.modalField{
  display:grid;
  gap:8px;

  margin-top:14px;
}

.modalField span{
  color:rgba(255,255,255,.70);

  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}

.modalField input,
.modalField textarea,
.modalField select{
  width:100%;

  border:1px solid rgba(255,255,255,.13);
  border-radius:var(--modal-control-radius);

  color:#fff;

  background:rgba(255,255,255,.08);

  outline:none;

  font:inherit;
  font-weight:800;
}

.modalField input,
.modalField select{
  height:52px;

  padding:0 16px;

  font-size:20px;
}

.modalField select{
  font-size:14px;
}

.modalField option{
  color:#170021;
}

.modalField input:disabled{
  color:rgba(255,255,255,.42);

  background:rgba(255,255,255,.045);

  cursor:not-allowed;
}

.modalGrid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
}

.sangriaCheckBox{
  margin-top:14px;

  display:grid;
  gap:12px;
}

.sangriaCheckBox[hidden],
.sangriaCheckResult[hidden]{
  display:none;
}

.sangriaCheckBox .secondaryAction{
  display:none;
}

.sangriaCheckResult{
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  gap:8px;

  max-height:min(46vh, 420px);
  overflow:hidden;
}

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

.sangriaCheckTotals article{
  min-width:0;

  padding:
    10px
    12px;

  border:1px solid rgba(255,213,61,.34);
  border-radius:14px;

  display:grid;
  gap:4px;

  background:
    linear-gradient(
      135deg,
      rgba(255,213,61,.20),
      rgba(255,255,255,.07)
    );
}

.sangriaCheckTotals span{
  color:rgba(255,255,255,.64);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.sangriaCheckTotals strong{
  color:var(--yellow);

  font-size:17px;
  font-weight:950;
}

.sangriaCheckList{
  min-height:0;

  display:grid;
  align-content:start;
  gap:7px;

  overflow:auto;
  padding-right:4px;
}

.sangriaCheckList::-webkit-scrollbar{
  width:8px;
}

.sangriaCheckList::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(255,255,255,.18);
}

.sangriaCheckRow{
  min-width:0;
  padding:
    10px
    12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;

  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(98px, max-content) minmax(98px, max-content);
  align-items:center;
  gap:10px;

  background:rgba(255,255,255,.07);
}

.sangriaCheckRow span,
.sangriaCheckRow small{
  color:rgba(255,255,255,.68);

  font-size:10px;
  font-weight:900;
  line-height:1.25;
}

.sangriaCheckRow strong,
.sangriaCheckRow em{
  color:#fff;

  font-size:12px;
  font-style:normal;
  font-weight:950;
  line-height:1.05;
  white-space:nowrap;
}

.sangriaCheckRow strong{
  display:grid;
  gap:3px;
  justify-items:end;
}

.sangriaCheckRow strong small{
  color:rgba(255,255,255,.48);

  font-size:8px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.sangriaCheckRow em{
  color:var(--yellow);
}

.sangriaCheckRow em{
  text-align:right;
}

.sangriaCheckEmpty{
  color:rgba(255,255,255,.72);

  font-size:12px;
  font-weight:850;
}

.reinforcementField,
.sangriaTypeField,
.promotionTypeField,
.resgateTypeField,
.resgateSettlementField,
.resgatePaymentField{
  grid-column:1 / -1;

  grid-template-columns:max-content minmax(0, 1fr);
  align-items:center;
  column-gap:14px;
}

.reinforcementField select,
.sangriaTypeField select,
.promotionTypeField select,
.resgateTypeField select,
.resgateSettlementField select,
.resgatePaymentField select{
  min-width:0;
  width:100%;

  font-size:16px;
}

.sangriaModelField,
.sangriaEquipmentField,
.sangriaClientField,
.resgateTypeField,
.resgateSettlementField,
.resgatePaymentField,
.resgateExistingField,
.closingCompositionField,
.fullLineField{
  grid-column:1 / -1;
}

.closingCompositionField{
  padding:12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;

  display:grid;
  grid-template-rows:auto auto;
  align-content:start;
  gap:10px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.045)
    );
}

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

.closingCompositionGrid label{
  position:relative;
  min-width:0;
  min-height:76px;

  padding:10px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;

  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:6px;

  background:
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    rgba(0,0,0,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.closingCompositionGrid label:hover{
  border-color:rgba(255,62,200,.44);
  box-shadow:0 16px 34px rgba(0,0,0,.24), 0 0 0 3px rgba(255,62,200,.08), inset 0 1px 0 rgba(255,255,255,.10);
}

.closingCompositionGrid label.confirmed{
  border-color:rgba(112,242,164,.70);
  background:
    radial-gradient(circle at 88% 8%, rgba(112,242,164,.24), transparent 38%),
    linear-gradient(145deg, rgba(28,174,82,.24), rgba(0,0,0,.20));
  box-shadow:0 16px 34px rgba(0,0,0,.24), 0 0 0 1px rgba(112,242,164,.12) inset;
}

.closingCompositionGrid label.zeroValue{
  border-color:rgba(255,255,255,.08);
  background:
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    rgba(0,0,0,.16);
}

.closingLaunchCard.zeroValue,
.closingCompositionGrid label.zeroValue{
  border-color:rgba(255,255,255,.075);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
    rgba(0,0,0,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.closingLaunchCard.zeroValue span,
.closingLaunchCard.zeroValue small,
.closingLaunchCard.zeroValue strong,
.closingCompositionGrid label.zeroValue span,
.closingCompositionGrid label.zeroValue small,
.closingCompositionGrid label.zeroValue input[data-closing-field]{
  color:rgba(237,233,254,.38);
}

.closingCompositionGrid label.lockedValue{
  border-color:rgba(255,255,255,.16);
}

.closingCompositionGrid label.autoConfirmed{
  border-color:rgba(148,163,184,.22);
  background:
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(0,0,0,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.closingCompositionGrid label.autoConfirmed::after{
  color:rgba(226,235,246,.72);
  background:rgba(148,163,184,.18);
  box-shadow:none;
}

.closingCompositionGrid label.confirmed::after{
  content:"✓";
  position:absolute;
  top:7px;
  right:7px;
  width:18px;
  height:18px;

  border-radius:50%;

  display:grid;
  place-items:center;

  color:#062a12;
  background:#70f2a4;
  box-shadow:0 8px 18px rgba(112,242,164,.24);

  font-size:11px;
  font-weight:950;
}

.closingCompositionGrid span{
  max-width:calc(100% - 28px);

  color:rgba(255,255,255,.90);

  font-size:11px;
  font-weight:950;
  text-transform:none;
  white-space:normal;
}

.closingCompositionGrid label:has([data-closing-field="Vale"]) > span::after{
  content:"Vale crédito";

  display:block;
  margin-top:2px;

  color:rgba(255,255,255,.54);

  font-size:9px;
  font-weight:850;
  line-height:1.1;
  text-transform:none;
}

.closingCompositionGrid small,
.closingCompositionGrid em{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;

  color:rgba(255,255,255,.72);

  font-size:clamp(8px, .72vw, 10px);
  font-style:normal;
  font-weight:900;
  text-align:left;
  white-space:nowrap;
}

.closingCompositionGrid em::before{
  content:"Diferença: ";
  color:rgba(255,255,255,.42);
}

.closingCompositionGrid em.negative{
  color:#ff8a8a;
}

.closingCompositionGrid em.positive{
  color:#70f2a4;
}

.closingCompositionGrid input[data-closing-field]{
  height:38px;
  min-width:96px;

  padding:0 9px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:11px;
  outline:none;

  color:#fff;
  background:rgba(0,0,0,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);

  font-size:14px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  text-align:right;
  cursor:text;
}

.closingCompositionGrid input[data-closing-field]:focus{
  border-color:rgba(255,62,200,.58);
  background:rgba(0,0,0,.34);
  box-shadow:0 0 0 3px rgba(255,62,200,.12), inset 0 1px 0 rgba(255,255,255,.08);
}

.closingCompositionGrid input[data-closing-field]:disabled,
.closingCompositionGrid input[data-closing-field][readonly]{
  color:rgba(255,255,255,.46);
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.045);
  box-shadow:none;
  cursor:not-allowed;
}

.closingCompositionGrid input[type="checkbox"]{
  position:absolute;
  width:1px;
  height:1px;

  opacity:0;
  pointer-events:none;
}

.closingBalanceStatus,
.closingValeCaixa{
  grid-column:span 2;
  min-width:0;
  min-height:76px;
  padding:10px;

  border:1px solid rgba(112,242,164,.34);
  border-radius:16px;

  display:grid;
  align-content:start;
  gap:6px;

  background:
    linear-gradient(135deg, rgba(34,197,94,.22), rgba(255,255,255,.06));
  box-shadow:
    0 14px 28px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.closingValeCaixa{
  border-color:rgba(248,113,113,.76);
  background:
    radial-gradient(circle at 92% 12%, rgba(248,113,113,.28), transparent 36%),
    linear-gradient(135deg, rgba(127,29,29,.78), rgba(255,213,61,.16));
  box-shadow:
    0 16px 32px rgba(127,29,29,.28),
    0 0 0 1px rgba(248,113,113,.12),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.closingBalanceStatus.negative{
  border-color:rgba(248,113,113,.70);
  background:
    radial-gradient(circle at 92% 12%, rgba(248,113,113,.22), transparent 36%),
    linear-gradient(135deg, rgba(127,29,29,.64), rgba(255,255,255,.06));
}

.closingBalanceStatus[hidden],
.closingValeCaixa[hidden]{
  display:none;
}

.closingBalanceStatus span,
.closingValeCaixa span{
  max-width:calc(100% - 28px);

  color:rgba(255,255,255,.90);

  font-size:11px;
  font-weight:950;
  text-transform:none;
  white-space:normal;
}

.closingBalanceStatus strong,
.closingValeCaixa strong{
  color:var(--yellow);

  font-size:22px;
  font-weight:950;
  line-height:1;
  text-align:left;
  white-space:nowrap;
}

.closingBalanceStatus small,
.closingValeCaixa small{
  color:rgba(255,255,255,.72);

  font-size:10px;
  font-weight:850;
  line-height:1.25;
}

.closingDeliveryStatus{
  grid-column:1 / -1;
  margin:0;
  padding:
    0
    0;

  color:rgba(255,255,255,.70);

  font-size:10px;
  font-weight:850;
  line-height:1.25;
  text-align:left;
}

.closingDeliveryStatus[hidden]{
  display:none;
}

.saveAction:disabled{
  color:rgba(255,255,255,.42);

  background:rgba(255,255,255,.10);

  cursor:not-allowed;
}

.saveAction[data-cash-busy="true"]{
  cursor:progress !important;
  opacity:.86;
  filter:saturate(.92) brightness(.98);
}

.cashModalCard:has(.closingCompositionField:not([hidden])) > .modalField:not(.cashModalNoteField){
  max-width:260px;
  margin-left:auto;
}

.cardReviewModal{
  position:fixed;
  inset:0;
  z-index:120;

  padding:24px;

  display:none;
  place-items:center;

  background:rgba(4,0,13,.72);
  backdrop-filter:blur(12px);
}

.cardReviewModal.open{
  display:grid;
}

.cardReviewDialog{
  position:relative;
  width:min(760px, 100%);
  max-height:min(82dvh, 720px);
  padding:24px;

  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;

  display:grid;
  gap:14px;

  overflow:auto;

  background:
    radial-gradient(circle at 90% 0%, rgba(255,62,200,.20), transparent 34%),
    linear-gradient(180deg, rgba(84,32,118,.96), rgba(31,5,52,.98));
  box-shadow:0 30px 70px rgba(0,0,0,.38);
}

.cardReviewDialog h2{
  margin:0;

  color:#fff;

  font-size:26px;
  font-weight:950;
}

.cardReviewBody{
  display:grid;
  gap:14px;
}

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

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

.readingReviewMachineField{
  grid-column:1 / -1;
}

.readingReviewMatrix{
  min-width:0;
  padding:12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  display:grid;
  grid-template-columns:minmax(74px, .42fr) repeat(2, minmax(0, 1fr));
  align-items:center;
  gap:8px;

  background:rgba(255,255,255,.07);
}

.readingReviewMatrix strong{
  color:rgba(255,255,255,.70);

  font-size:11px;
  font-weight:950;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
}

.cardReviewComposition label,
.readingReviewGrid label,
.cardReviewRow{
  min-width:0;
  padding:12px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  display:grid;
  gap:7px;

  background:rgba(255,255,255,.07);
}

.cardReviewComposition span,
.readingReviewGrid span,
.cardReviewRow span{
  color:rgba(255,255,255,.64);

  font-size:11px;
  font-weight:950;
  line-height:1.25;
  text-transform:uppercase;
}

.cardReviewComposition input,
.readingReviewGrid input,
.readingReviewGrid select,
.readingReviewMatrix input,
.cardReviewRow input,
.cardReviewReason textarea{
  width:100%;

  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  outline:0;

  color:#fff;
  background:rgba(0,0,0,.22);

  font:inherit;
  font-weight:950;
}

.cardReviewComposition input,
.readingReviewGrid input,
.readingReviewGrid select,
.readingReviewMatrix input,
.cardReviewRow input{
  height:44px;
  padding:0 12px;

  font-size:17px;
  text-align:right;
}

.readingReviewMatrix input[readonly],
.readingReviewGrid input[readonly]{
  border-color:rgba(255,255,255,.08);
  color:rgba(255,255,255,.46);
  background:rgba(0,0,0,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  cursor:not-allowed;
}

.readingReviewMatrix input[readonly]::placeholder,
.readingReviewGrid input[readonly]::placeholder{
  color:rgba(255,255,255,.30);
}

.readingReviewHint{
  display:block;

  margin-top:-4px;

  color:#fff0a8;

  font-size:11px;
  font-weight:900;
  line-height:1.3;
}

.cardReviewComposition input[readonly]{
  opacity:.58;
}

.cardReviewList{
  display:grid;
  gap:8px;
}

.cardReviewList > strong{
  color:#fff;

  font-size:14px;
  font-weight:950;
}

.cardReviewRow{
  grid-template-columns:minmax(0, 1fr) minmax(130px, .32fr);
  align-items:center;
}

.cardReviewReason textarea{
  min-height:82px;
  padding:12px;

  resize:vertical;
}

.cardReviewActions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.cardReviewModal.machinesTheme{
  background:
    radial-gradient(circle at 50% 100%, rgba(46,28,155,.42), transparent 40%),
    rgba(1,12,38,.76);
}

.cardReviewModal.machinesTheme .cardReviewDialog{
  border-color:rgba(94,178,255,.24);

  background:
    radial-gradient(circle at 18% 0%, rgba(65,166,255,.22), transparent 34%),
    linear-gradient(180deg, rgba(10,68,130,.98), rgba(3,20,67,.98));
  box-shadow:0 30px 70px rgba(0,7,28,.48);
}

.cardReviewModal.machinesTheme .modalEyebrow,
.cardReviewModal.machinesTheme .cardReviewComposition span,
.cardReviewModal.machinesTheme .readingReviewGrid span,
.cardReviewModal.machinesTheme .cardReviewRow span,
.cardReviewModal.machinesTheme .readingReviewMatrix strong{
  color:rgba(202,226,255,.72);
}

.cardReviewModal.machinesTheme .readingReviewMatrix,
.cardReviewModal.machinesTheme .cardReviewComposition label,
.cardReviewModal.machinesTheme .readingReviewGrid label,
.cardReviewModal.machinesTheme .cardReviewRow{
  border-color:rgba(130,190,255,.16);
  background:rgba(0,33,86,.26);
}

.cardReviewModal.machinesTheme .cardReviewComposition input,
.cardReviewModal.machinesTheme .readingReviewGrid input,
.cardReviewModal.machinesTheme .readingReviewGrid select,
.cardReviewModal.machinesTheme .readingReviewMatrix input,
.cardReviewModal.machinesTheme .cardReviewRow input,
.cardReviewModal.machinesTheme .cardReviewReason textarea{
  border-color:rgba(130,190,255,.18);
  background:rgba(0,18,60,.42);
}

.cardReviewModal.machinesTheme .saveAction{
  background:linear-gradient(135deg, #4aa8ff, #2f6fff);
  box-shadow:0 12px 30px rgba(47,111,255,.26);
}

.cardReviewModal.machinesTheme .secondaryAction{
  border-color:rgba(130,190,255,.20);
  background:rgba(255,255,255,.08);
}

.modalField textarea{
  resize:none;

  padding:16px 18px;

  font-size:14px;
  line-height:1.35;
}

.modalField input:focus,
.modalField textarea:focus,
.modalField select:focus{
  border-color:rgba(255,62,200,.58);

  box-shadow:
    0 0 0 3px rgba(255,62,200,.12);
}

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

  margin-top:22px;
}

.secondaryAction,
.saveAction{
  height:46px;

  border:0;
  border-radius:999px;

  font-weight:950;

  cursor:pointer;
}

.secondaryAction{
  color:#fff;

  background:rgba(255,255,255,.10);
}

.saveAction{
  color:#170021;

  background:var(--yellow);
}

@media (max-width:1180px){
  .machineReadingRow{
    grid-template-columns:minmax(180px, 1fr) repeat(3, minmax(96px, auto)) minmax(136px, auto);
  }

  .closingPageLayout{
    grid-template-columns:minmax(0, 1.08fr) minmax(0, .78fr) minmax(190px, 220px);
    grid-template-rows:auto minmax(0, 1fr);
  }

  .closingSummaryPanel{
    grid-column:3;
    grid-row:1 / 3;
  }

  .closingBoard .closingCompositionGrid{
    grid-template-columns:repeat(5, minmax(0, 1fr));
  }

  .closingLaunchGrid{
    grid-template-columns:repeat(5, minmax(0, 1fr));
  }
}

@media (max-width:820px){
  .licenseRenewalCard{
    width:100%;
    max-height:94dvh;

    padding:22px;
    border-radius:24px;
  }

  .licensePixBox{
    grid-template-columns:1fr;
  }

  .licensePixQr{
    min-height:210px;
  }

  .licensePixQr img{
    max-width:190px;
  }

  .licensePaymentStatus{
    align-items:flex-start;
    flex-direction:column;

    border-radius:20px;
  }

  .licensePixCopyRow{
    grid-template-columns:1fr;
  }

  .licensePixCopyRow button{
    min-height:46px;
  }

  .unitSelectionHeader{
    align-items:flex-start;
    flex-direction:column;
  }

  .unitCards{
    grid-template-columns:1fr;
  }

  .adminGrid,
  .adminFormGrid,
  .adminUnitList{
    grid-template-columns:1fr;
  }

  .adminUnitList article,
  .adminUnitList div{
    grid-template-columns:1fr;
  }

  .adminUnitList span,
  .adminUnitList div,
  .adminUnitList .adminUnitActions{
    grid-column:auto;
    grid-row:auto;
  }

  .adminUnitList .adminUnitActions{
    justify-content:flex-start;
  }

  .appShell{
    grid-template-columns:1fr;
    max-height:none;
    overflow:auto;
  }

  .appShell.sidebarCollapsed{
    grid-template-columns:1fr;
  }

  .sidebar{
    position:fixed;
    top:0;
    left:0;
    z-index:80;

    width:min(286px, calc(100vw - 58px));
    height:100dvh;
    max-height:100dvh;

    display:grid;
    grid-template-rows:auto minmax(0, 1fr) auto;
    overflow:hidden;

    transform:translateX(-105%);
    transition:transform .22s ease;

    border-right:1px solid rgba(255,62,200,.22);

    background:
      linear-gradient(180deg, rgba(30,0,56,.96), rgba(10,0,25,.98));

    box-shadow:24px 0 60px rgba(0,0,0,.36);
  }

  .sidebarHeader{
    flex:0 0 auto;
  }

  .navMenu{
    min-height:0;
    padding-right:4px;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  .sidebarFooter{
    flex:0 0 auto;
  }

  .sidebarCollapseAction{
    display:none;
  }

  .appShell.sidebarCollapsed .brand,
  .appShell.sidebarCollapsed .navGroupLabel,
  .appShell.sidebarCollapsed .navItem > span:not(.navIcon),
  .appShell.sidebarCollapsed .sidebarUnitsAction > span:not(.navIcon),
  .appShell.sidebarCollapsed .sidebarSignature{
    position:static;
    width:auto;
    height:auto;
    overflow:visible;
    clip:auto;
    white-space:normal;
  }

  .appShell.sidebarCollapsed .navItem{
    width:100%;
    padding:0 16px;
    justify-content:flex-start;
    gap:14px;
  }

  .appShell.sidebarOpen .sidebar{
    transform:translateX(0);
  }

  .sidebarScrim{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:min(286px, calc(100vw - 58px));
    z-index:70;

    border:0;

    display:none;

    background:rgba(4,0,13,.58);
    cursor:pointer;
  }

  .appShell.sidebarOpen .sidebarScrim{
    display:block;
  }

  .workspace{
    height:auto;
    max-height:none;
    padding:20px 18px;
    overflow:auto;
    display:block;
  }

  .topbar{
    align-items:flex-start;
    position:relative;
    min-height:78px;
  }

  .topbarTitle{
    align-items:flex-start;
    width:100%;
    max-width:100%;
    padding-right:0;
  }

  .topbarEyebrow{
    display:grid;
    gap:1px;
  }

  .mobileMenuButton{
    flex:0 0 auto;
    width:46px;
    height:46px;

    display:grid;
  }

  .topActions{
    position:absolute;
    top:0;
    right:0;
    width:178px;
    display:flex;
    flex-wrap:nowrap;
    justify-content:flex-end;
    gap:8px;
  }

  .appShell.registryTheme .topActions{
    align-items:flex-start;
    flex-wrap:nowrap;
    justify-content:flex-end;
    gap:8px;
  }

  .appShell.registryTheme .datePickerWrap,
  .appShell.registryTheme .avatarMenuWrap{
    order:1;
    flex:0 0 auto;
  }

  .appShell.settingsViewActive .topbarTitle{
    max-width:100%;
  }

  .appShell.settingsViewActive .topbarTitle h1{
    font-size:28px;
    line-height:1.02;
    white-space:nowrap;
  }

  .licenseWarningStrip{
    position:absolute;
    top:50px;
    right:0;
    order:3;
    flex:0 0 auto;
    width:164px;
    max-width:164px;
    min-height:38px;
    padding:7px 12px;
    margin-left:auto;
    justify-content:center;
  }

  .licenseWarningStrip span{
    display:none;
  }

  .licenseWarningStrip strong{
    font-size:11px;
    white-space:nowrap;
    text-align:center;
  }

  .licenseWarningStrip small{
    display:none;
  }

  .dateSelector{
    height:42px;
    width:126px;
    flex:0 0 126px;
    padding:
      0
      10px;
    gap:8px;
  }

  .calendarPopover{
    right:-54px;
    width:min(286px, calc(100vw - 36px));
  }

  .dateClockStack strong{
    min-width:54px;

    font-size:11px;
  }

  .dateClockStack span{
    font-size:10px;
  }

  .avatarButton{
    width:42px;
    height:42px;
  }

  .primaryAction{
    display:none;
  }

  .avatarDropdown{
    right:0;
    width:min(230px, calc(100vw - 36px));
  }

  .cashGrid{
    grid-template-columns:repeat(2, minmax(130px, 1fr));
    grid-template-rows:none;
    height:auto;

    gap:14px;
  }

  .historyBanner{
    align-items:stretch;
    flex-direction:column;
  }

  .cashStatusStrip{
    grid-template-columns:1fr 1fr;
    align-items:start;
    gap:8px;
    min-height:0;
    padding:12px;
    border-radius:18px;
  }

  .cashStatusStrip span{
    grid-column:1 / -1;

    font-size:9px;
    line-height:1;
  }

  .cashStatusStrip strong{
    grid-column:1 / -1;

    font-size:15px;
    line-height:1.12;
  }

  .cashStatusStrip .cashStatusMeta{
    grid-column:1 / -1;

    justify-self:start;
    max-width:100%;
    min-height:28px;
    padding:6px 11px;
    text-align:left;
  }

  .cashStatusStrip .cashStatusReview,
  .cashStatusStrip .cashStatusCancel{
    justify-self:stretch;
    width:100%;
    min-height:34px;
    padding:0 10px;
    font-size:10.5px;
  }

  .cashStatusStrip .cashStatusReview{
    margin-top:2px;
  }

  .cashStatusStrip .cashStatusCancel{
    margin-top:2px;
  }

  .cashStatusStrip:not(:has(.cashStatusReview:not([hidden]))) .cashStatusCancel{
    grid-column:1 / -1;
  }

  .cashSectionHeader{
    align-items:start;
    flex-direction:column;
    gap:3px;
  }

  .cashSectionHeader small{
    text-align:left;
  }

  .historyControls{
    width:max-content;
  }

  .historyClosingSelect{
    width:100%;
  }

  .saldoCapsula{
    grid-column:1 / -1;

    min-height:46px;

    padding:
      0
      20px;
  }

  .saldoCapsula strong{
    font-size:20px;
  }

  .cashTile{
    min-height:112px;
    height:auto;
  }

  .valeSplitTile{
    grid-template-columns:42px minmax(0, 1fr);
    grid-template-rows:1fr;
    align-items:center;
    column-gap:14px;
    min-height:112px;
    padding:12px;
  }

  .valeSplitTile .tileIcon{
    grid-column:1;
    grid-row:1;
    width:42px;
    height:42px;
    border-radius:14px;
  }

  .valeSplitContent{
    grid-column:2;
    grid-row:1;
    grid-template-columns:minmax(0, 1fr);
    grid-template-rows:auto auto;
    align-content:center;
    row-gap:14px;
    width:100%;
  }

  .valeSplitContent::after,
  .valeCompositionSplit .valeSplitContent::after{
    display:none;
  }

  .valeSplitContent span{
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    grid-template-rows:auto auto;
    gap:5px;
    margin:0;
    padding:0;
    border:0;
  }

  .valeSplitContent span + span,
  .valeSplitContent span:first-child{
    margin:0;
    padding:0;
    border:0;
  }

  .valeSplitContent span:nth-child(1){
    grid-row:1;
  }

  .valeSplitContent span:nth-child(2){
    grid-row:2;
  }

  .valeSplitContent span:nth-child(1) em,
  .valeSplitContent span:nth-child(1) b,
  .valeSplitContent span:nth-child(2) em,
  .valeSplitContent span:nth-child(2) b{
    grid-column:1 !important;
  }

  .valeSplitContent em{
    max-width:100%;
    font-size:clamp(11px, 1.45vh, 14px);
    font-weight:900;
    line-height:1.08;
    white-space:nowrap;
  }

  .valeSplitContent b{
    max-width:100%;
    font-size:clamp(13px, 1.95vh, 17px);
    font-weight:950;
    line-height:1;
    text-align:left;
    white-space:nowrap;
  }

  .valeSplitContent b.zeroValue{
    color:rgba(237,233,254,.42);
    opacity:.62;
    font-weight:720;
  }

  .valeSplitTile.primaryValeOnly .valeSplitContent,
  .valeSplitTile.primaryCommonValeOnly .valeSplitContent{
    height:100%;
    grid-template-rows:1fr auto;
    align-items:end;
    row-gap:0;
  }

  .valeSplitTile.primaryValeOnly .valeSplitContent span:first-child,
  .valeSplitTile.primaryCommonValeOnly .valeSplitContent span:first-child{
    height:100%;
    grid-template-rows:1fr auto;
    align-items:end;
  }

  .valeSplitTile.primaryValeOnly .valeSplitContent span:first-child em,
  .valeSplitTile.primaryCommonValeOnly .valeSplitContent span:first-child em{
    align-self:center;
  }

  .valeSplitTile.primaryValeOnly .valeSplitContent span:first-child b,
  .valeSplitTile.primaryCommonValeOnly .valeSplitContent span:first-child b{
    align-self:end;
  }

  .statementBoard{
    height:calc(100dvh - 128px);
    min-height:420px;
  }

  .attendantBoard{
    height:auto;
  }

  .machinesBoard{
    height:auto;
  }

  .registryBoard{
    height:auto;
  }

  .settingsBoard{
    height:auto;
    max-height:none;
    padding-bottom:90px;
    overflow:visible;
  }

  .helpBoard{
    height:auto;
    max-height:none;
    padding-bottom:90px;
    overflow:visible;
  }

  .notesBoard{
    height:auto;
    max-height:none;
    padding-bottom:90px;
    overflow:visible;
  }

  .notesForm{
    grid-template-columns:1fr;
  }

  .notesForm .saveAction{
    width:100%;
  }

  .notesList{
    overflow:visible;
  }

  .cashBoard,
  .cashGrid,
  .statementBoard,
  .attendantBoard,
  .machinesBoard,
  .registryBoard,
  .settingsBoard,
  .notesBoard,
  .helpBoard,
  .adminBoard,
  .closingsBoard,
  .closingBoard{
    height:auto;
    max-height:none;
    overflow:visible;
  }

  .machinesBoard{
    height:auto;
    max-height:none;
    min-height:0;
    overflow:visible;
    grid-template-rows:auto minmax(0, 1fr);
  }

  .machinesList{
    min-height:0;
    max-height:none;
    overflow-y:visible;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  .machinesList .machinePanel,
  .machinesList .machineReadingContent,
  .machinesList .machineReadingList,
  .machinesList .machineReadingHistory{
    min-height:0;
    max-height:none;
    overflow:visible;
  }

  .attendantMobile{
    padding:
      max(10px, env(safe-area-inset-top))
      10px
      max(18px, env(safe-area-inset-bottom));
    grid-template-rows:auto auto auto;
    align-content:start;
    gap:12px;
    overflow-y:auto;
  }

  .attendantMobileHeader{
    position:sticky;
    top:max(8px, env(safe-area-inset-top));
    z-index:12;

    width:min(100%, 520px);
    padding:12px 14px;
    border-radius:20px;

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .attendantMobileHeader h1{
    margin-bottom:2px;
    font-size:22px;
    line-height:1;
  }

  .attendantMobileHeader span{
    font-size:12px;
  }

  .mobileAvatarButton{
    width:42px;
    height:42px;
  }

  .attendantMobileContent{
    min-height:auto;
    padding-bottom:24px;
    gap:12px;
    overflow:visible;
  }

  .mobileActionCard,
  .mobileStatementCard{
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
  }

  .mobileActionCard,
  .mobileStatementCard,
  .mobileBalanceCard,
  .mobileExchangeAlert,
  .mobileConferenceAlert{
    border-radius:20px;
  }

  .mobileStatementCard{
    grid-template-rows:auto auto auto;
  }

  .mobilePanelHeader{
    min-height:40px;
    align-items:center;
  }

  .mobilePanelHeader .mobileCardTitle{
    align-items:center;
  }

  .mobileCardTitle h2{
    font-size:19px;
  }

  .mobileBackButton{
    width:38px;
    height:38px;
  }

  .mobileStatementList{
    max-height:none;
    overflow:visible;
  }

  .mobileClientRecentList{
    min-height:0;
    max-height:min(360px, 42dvh);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }

  .mobileClientSearchResults{
    max-height:min(420px, 52dvh);
    overflow-y:auto;
  }

  .helpGrid{
    grid-template-columns:1fr;
  }

  .settingsPanel,
  .settingsLoginHistory{
    overflow:visible;
  }

  .closingsBoard{
    height:auto;
  }

  .closingsLayout{
    grid-template-columns:1fr;
  }

  .closingSnapshotSummary,
  .closingSnapshotCards{
    grid-template-columns:1fr;
  }

  .closingDetailsModal{
    padding:8px;
    align-items:stretch;
  }

  .closingDetailsDialog{
    width:100%;
    max-height:none;
    height:calc(100dvh - 16px);
    padding:
      16px
      12px;
    border-radius:22px;
  }

  .closingDetailsContent{
    gap:12px;
  }

  .closingDetailsHeader{
    padding-right:38px;
  }

  .closingDetailsHeader h2{
    font-size:28px;
    line-height:1.02;
  }

  .closingDetailsHeader span{
    font-size:11px;
    line-height:1.35;
  }

  .closingDocumentIdentity{
    grid-template-columns:1fr;
    gap:8px;
  }

  .closingDocumentIdentity em{
    white-space:normal;
    line-height:1.25;
  }

  .closingDetailsLayout{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }

  .closingDetailsMachine{
    grid-column:1;
    grid-row:auto;
    padding:12px;
    border-radius:18px;
  }

  .closingDetailsMachine > strong{
    font-size:26px;
  }

  .closingDetailsPanel{
    padding:12px;
    border-radius:18px;
  }

  .closingDetailsLaunchGrid,
  .closingDetailsCompositionGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .closingDetailsLaunchGrid strong,
  .closingDetailCompositionCard strong{
    font-size:15px;
    white-space:normal;
  }

  .closingDetailsAlert div{
    grid-template-columns:1fr;
  }

  .closingMachineReadingsTable{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    border:0;
    background:transparent;
    overflow:visible;
  }

  .closingMachineReadingsHeaderCell{
    display:none;
  }

  .closingMachineReadingsMachine,
  .closingMachineReadingsTable > span{
    padding:0;
    border-bottom:0;
  }

  .closingMachineReadingsMachine{
    margin-top:6px;
    padding:11px 12px 2px;
    border:1px solid rgba(255,255,255,.10);
    border-bottom:0;
    border-radius:14px 14px 0 0;
    background:rgba(255,255,255,.07);
  }

  .closingMachineReadingsMachine strong{
    white-space:normal;
    font-size:13px;
  }

  .closingMachineReadingsMachine small{
    white-space:normal;
    line-height:1.3;
  }

  .closingMachineReadingsTable > span{
    margin-top:-8px;
    padding:8px 12px;
    border-left:1px solid rgba(255,255,255,.10);
    border-right:1px solid rgba(255,255,255,.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:rgba(255,255,255,.07);
  }

  .closingMachineReadingsTable > span:nth-of-type(6n){
    border-bottom:1px solid rgba(255,255,255,.10);
    border-radius:0 0 14px 14px;
  }

  .closingMachineReadingsTable > span b{
    display:block;
    color:rgba(255,255,255,.58);
    font-size:10px;
    font-weight:950;
    text-transform:uppercase;
  }

  .closingMachineReadingsTable > span em{
    font-size:12px;
  }

  .closingMachineReadingsMachine.total,
  .closingMachineReadingsMachine.total + span,
  .closingMachineReadingsMachine.total + span + span,
  .closingMachineReadingsMachine.total + span + span + span,
  .closingMachineReadingsMachine.total + span + span + span + span,
  .closingMachineReadingsMachine.total + span + span + span + span + span,
  .closingMachineReadingsMachine.total + span + span + span + span + span + span{
    background:linear-gradient(135deg, rgba(255,213,61,.18), rgba(255,255,255,.07));
  }

  .closingMachineResultGrid{
    grid-template-columns:1fr;
  }

  .closingLaunchGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .closingLaunchCard{
    min-height:76px;
    padding:9px;
  }

  .closingLaunchCard.total{
    grid-column:1 / -1;
  }

  .closingBoard{
    height:auto;
    overflow:visible;
  }

  .closingPageLayout{
    height:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    overflow:visible;
  }

  .closingMachineResult,
  .closingLaunchSummary,
  .closingBoard .closingCompositionField,
  .closingSummaryPanel{
    grid-column:1;
    grid-row:auto;
  }

  .closingDeliveryPanel{
    grid-template-columns:1fr;
  }

  .closingPageHeader{
    align-items:flex-start;
    flex-direction:column;
  }

  .statementHeader,
  .machinesHeader{
    align-items:flex-start;
    flex-direction:column;
  }

  .machinesList{
    grid-template-columns:1fr;
  }

  .machineSelector{
    border-radius:20px;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .machineSubSelector{
    width:100%;
  }

  .machineReportSelector{
    width:100%;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .machineConfigSelector{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .machineReadingControls{
    grid-template-columns:1fr;
  }

  .machineReadingRow,
  .machineReadingHistoryHeader,
  .machineReadingHistoryRow,
  .machinePanelFields{
    grid-template-columns:1fr;
  }

  .machineReadingHistoryHeader{
    display:none;
  }

  .machineReadingHistoryGroup{
    align-items:flex-start;
    flex-direction:column;
  }

  .machineModelRegisterGrid{
    grid-template-columns:1fr;
  }

  .machineMachineCreateForm{
    grid-template-columns:1fr;
  }

  .machineMachineCreateGrid,
  .machineDraftHeader,
  .machineDraftRow,
  .machineResultFilters,
  .machineReadingHistoryFilters,
  .machineAverageFilters,
  .machineRankingFilters,
  .machineShareFilters,
  .machineSavedFilters,
  .machineSavedHeader,
  .machineSavedRow{
    grid-template-columns:1fr;
  }

  .machineReadingHistorySummary{
    align-items:stretch;
    flex-direction:column;
  }

  .machineReadingHistorySummary > span:last-child{
    justify-content:stretch;
  }

  .machineReadingHistorySummary em{
    flex:1 1 88px;
  }

  .machineSavedHeader{
    display:none;
  }

  .machineRankingSummary{
    grid-template-columns:1fr;
  }

  .machineRankingItem{
    grid-template-columns:1fr;
  }

  .machineRankingHeading{
    flex-direction:column;
  }

  .machineRankingHeading small{
    flex:auto;
  }

  .machineRankingMetrics{
    grid-template-columns:1fr;
  }

  .machineShareChart{
    grid-template-columns:1fr;
    justify-items:center;
  }

  .machineShareList{
    width:100%;
  }

  .settingsSectionGrid,
  .settingsSectionLock .settingsSectionGrid{
    grid-template-columns:1fr;
  }

  .licenseStatusCard{
    align-items:stretch;
    flex-direction:column;
  }

  .licenseStatusActions,
  .licenseRenewAction,
  .licenseHistoryAction{
    width:100%;
  }

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

  .licenseStatusActions .licenseRenewAction,
  .licenseStatusActions .licenseHistoryAction{
    width:100%;
    min-width:0;
    padding:0 10px;
  }

  .licensePlans{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .licenseCustomPlan{
    grid-template-columns:1fr;
  }

  .settingsSelector{
    border-radius:20px;
    grid-template-columns:1fr;
  }

  .settingsLoginHistoryTop{
    align-items:stretch;
    flex-direction:column;
  }

  .settingsLogLimit{
    width:100%;
  }

  .settingsLoginHistoryHeader{
    display:none;
  }

  .settingsLoginHistoryList{
    overflow-x:visible;
  }

  .settingsLoginHistoryRow{
    grid-template-columns:1fr;
    gap:4px;
    min-width:0;
    padding:12px;
  }

  .settingsLoginHistoryRow span{
    white-space:normal;
  }

  .settingsLoginHistoryRow span::before{
    content:attr(data-label) ": ";
    color:rgba(255,255,255,.55);
    font-size:10px;
    font-weight:950;
    text-transform:uppercase;
  }

  .machineModelActions{
    flex-direction:column;
    justify-content:stretch;
  }

  .machineModelActions .saveAction,
  .machineModelActions .secondaryAction{
    width:100%;
  }

  .machineModelListHeader{
    display:none;
  }

  .machineModelRow{
    grid-template-columns:1fr;
    align-items:start;
  }

  .machineModelRowActions{
    width:100%;
    justify-content:stretch;
  }

  .machineModelRow button,
  .machineSavedRow button{
    width:100%;
  }

  .machinePlateSwapPanel,
  .machinePlateSwapFields{
    grid-template-columns:1fr;
  }

  .machinePlateSwapActions{
    align-items:stretch;
    flex-direction:column;
  }

  .machinePlateSwapActions .saveAction,
  .machinePlateSwapActions .secondaryAction{
    width:100%;
  }

  .machineReadingRow{
    grid-template-columns:1fr;
    align-items:stretch;
    gap:10px;
    min-height:0;
    height:auto;
    padding:14px;
    overflow:visible;
    align-content:start;
  }

  .machineReadingTitleLine{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .machineReadingRow article{
    min-width:0;
    width:100%;
  }

  .machineReadingActions{
    min-width:0;
    width:100%;
  }

  .machineReadingStatus{
    grid-column:1 / -1;
  }

  .statementFilters{
    grid-template-columns:1fr;
  }

  .reportsSummary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .statementClientSummary{
    grid-template-columns:1fr;
  }

  .statementClientSummaryMetrics{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .statementClientSummaryTitle{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }

  .statementClientSummaryTitle span{
    text-align:left;
    white-space:normal;
  }

  .statementClientSummaryMetrics .highlight{
    grid-column:1 / -1;
  }

  .registryTabs{
    border-radius:20px;

    grid-template-columns:repeat(2, 1fr);
  }

  .registryControls{
    grid-template-columns:1fr;
  }

  .registryClientFilters,
  .registryUserFilters{
    border-radius:20px;
  }

  .registryClientFilters{
    grid-template-columns:1fr;
  }

  .registryUserFilters{
    grid-template-columns:1fr;
  }

  .registryPermissionsAction{
    width:100%;
  }

  .registryForm,
  .registryForm.userMode,
  .registryForm.equipmentMode{
    grid-template-columns:1fr;
  }

  .registryForm .saveAction{
    width:100%;
  }

  .registryForm .registryUserAccessGroup{
    grid-template-columns:1fr;
  }

  .registryPermissionsModal{
    padding:12px;
  }

  .registryPermissionsCard{
    max-height:calc(100vh - 24px);
    padding:16px;
    border-radius:14px;
  }

  .permissionProfileTabs{
    border-radius:14px;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .permissionProfileGroup{
    grid-template-columns:1fr;
  }

  .registryPermissionsCard .modalActions{
    flex-direction:column;
  }

  .registryPermissionsCard .modalActions button{
    width:100%;
  }

  .registryUserAccessDetails summary{
    align-items:flex-start;
    flex-direction:column;
    padding:9px 12px;
  }

  .registryUserAccessDetails small{
    margin-left:0;
  }

  .registryCard{
    align-items:stretch;
  }

  .registryCardMain{
    align-items:stretch;
    flex-direction:column;
  }

  .registryCardActions{
    justify-content:stretch;
  }

  .clientPlaySummaryControls{
    grid-template-columns:1fr;
  }

  .clientPlaySummaryMetrics{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .clientPlaySummaryMetrics span:last-child{
    grid-column:1 / -1;
  }

  .registryCardActions button{
    width:100%;
  }

  .equipmentFields{
    grid-template-columns:1fr;
  }

  .modalGrid{
    grid-template-columns:1fr;
  }

  .sangriaCheckRow{
    grid-template-columns:1fr;
  }

  .closingCompositionGrid,
  .closingBoard .closingCompositionGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .closingBalanceStatus,
  .closingValeCaixa{
    grid-column:1 / -1;
    min-height:76px;
  }

  .closingCompositionGrid label{
    grid-template-columns:1fr;
    min-height:76px;
    padding:9px;
    gap:5px;
  }

  .closingCompositionGrid small,
  .closingCompositionGrid em{
    text-align:left;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .closingCompositionGrid span{
    font-size:10px;
  }

  .closingCompositionGrid input[data-closing-field]{
    width:100%;
    min-width:0;
    height:34px;
    padding:0 8px;
    font-size:13px;
  }

  .closingCompositionGrid label.confirmed::after{
    top:7px;
    right:7px;
    width:20px;
    height:20px;
    font-size:12px;
  }

  .statementRow{
    grid-template-columns:1fr;
    gap:8px;
  }

  .statementValue{
    justify-self:start;
  }

  .statementActions{
    width:100%;
    justify-content:stretch;
  }

  .statementActions button{
    flex:1;
  }

  .attendantMobileContent{
    width:min(100%, 520px);
    grid-template-columns:1fr;
  }

  .mobileHomeGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:none;
    gap:10px;
  }

  .mobileStatementCard,
  .mobileActionCard{
    min-height:0;
  }

  .mobileHomeCard{
    min-height:104px;
    padding:14px;
    border-radius:20px;
    gap:8px;
  }

  .mobileHomeIcon{
    width:46px;
    height:46px;

    border-radius:16px;

    font-size:23px;
  }

  .mobileHomeCard strong{
    font-size:18px;
  }

  .mobileHomeCard.primaryPayment{
    grid-column:1 / -1;
    grid-row:auto;
    min-height:116px;
    grid-template-columns:auto minmax(0, 1fr);
    align-items:center;
    align-content:center;
  }

  .mobileHomeCard.readingWide{
    grid-column:1 / -1;
    min-height:96px;
  }

  .mobilePanelHeader{
    align-items:center;
  }

  .mobilePanelHeader .mobileCardTitle{
    min-height:38px;
    align-items:center;
  }

  .mobilePaymentForm{
    gap:11px;
  }

  #mobilePaymentPanel{
    height:calc(var(--app-viewport-height) - 132px);
    max-height:calc(var(--app-viewport-height) - 132px);
    padding:12px;
    gap:8px;
  }

  #mobilePaymentPanel .mobilePanelHeader{
    min-height:34px;
  }

  #mobilePaymentPanel .mobilePaymentForm{
    gap:8px;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }

  .mobilePaymentForm input,
  .mobilePaymentForm select{
    height:46px;
    font-size:16px;
  }

  .mobileExchangeAlert{
    align-items:stretch;
    flex-direction:column;
  }

  .mobileConferenceAlert{
    align-items:stretch;
    flex-direction:column;
    justify-content:flex-start;
    gap:10px;
    padding:
      12px
      16px;
  }

  .mobileConferenceAlert button{
    align-self:stretch;
  }

  .mobileExchangeAlertActions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .mobileStatementList{
    min-height:0;
  }

  .mobileClientRecentRow,
  .mobileClientSearchResult,
  .mobileStatementRow{
    border-radius:14px;
  }

  .mobileBalanceGrid{
    grid-template-columns:1fr;
  }

  .mobileStatementRow{
    grid-template-columns:minmax(52px, auto) minmax(0, 1fr) auto;
    gap:8px;
  }

  .mobileStatementRow > strong{
    justify-self:end;
  }
}

@media (max-height:680px){
  .attendantMobile{
    padding:10px;
    gap:10px;
  }

  .attendantMobileHeader{
    padding:10px 12px;
    border-radius:18px;
  }

  .attendantMobileHeader h1{
    margin-bottom:2px;
    font-size:20px;
  }

  .attendantMobileHeader span{
    font-size:11px;
  }

  .mobileAvatarButton{
    width:38px;
    height:38px;
  }

  .mobileActionCard,
  .mobileStatementCard{
    max-height:none;
    padding:12px;
    border-radius:18px;
    gap:10px;
  }

  .mobileStatementCard{
    height:auto;
  }

  .mobilePanelHeader{
    gap:8px;
  }

  .mobileBackButton{
    width:34px;
    height:34px;
    font-size:22px;
  }

  .mobileCardTitle h2{
    font-size:18px;
  }

  .mobilePaymentForm{
    gap:8px;
  }

  .mobilePaymentForm label{
    gap:5px;
  }

  #mobilePaymentPanel{
    height:calc(var(--app-viewport-height) - 154px);
    max-height:calc(var(--app-viewport-height) - 154px);
    padding:10px;
  }

  #mobilePaymentPanel .mobilePaymentForm{
    gap:6px;
    padding-bottom:calc(22px + env(safe-area-inset-bottom));
  }

  .mobilePaymentForm input,
  .mobilePaymentForm select{
    height:42px;
    border-radius:13px;
    font-size:16px;
  }

  .mobilePaymentForm button{
    height:44px;
  }
}

@media (max-height:760px) and (min-width:821px){
  .brand{
    margin-bottom:18px;
  }

  .navItem{
    height:42px;
  }

  .workspace{
    padding:
      18px
      36px
      20px;
  }

  .eyebrow{
    margin-bottom:4px;

    font-size:11px;
  }

  h1{
    font-size:31px;
  }

  .primaryAction{
    height:38px;
  }

  .avatarButton{
    width:40px;
    height:40px;
  }

  .cashBoard{
    margin-top:16px;
    padding-bottom:clamp(10px, 1.8vh, 18px);
  }

  .cashGrid{
    gap:clamp(8px, 1.2vh, 12px);
  }

  .cashTile{
    min-height:0;

    border-radius:16px;
  }

  .tileIcon{
    width:clamp(32px, 5.5vh, 42px);
    height:clamp(32px, 5.5vh, 42px);

    font-size:clamp(19px, 3.2vh, 25px);
  }

  .cashTile strong{
    font-size:12px;
  }

  .cashTile small{
    font-size:14px;
  }

  .saldoCapsula{
    min-height:0;
  }

  .settingsBoard{
    gap:12px;
    padding-bottom:70px;
    overflow-y:auto;
  }

  .settingsPanel{
    padding:16px;
    gap:14px;
  }

  .settingsSection{
    padding:14px;
    gap:12px;
  }

  .settingsSelectorButton{
    min-height:40px;
  }

  .licenseStatusCard{
    padding:14px;
  }

  .licenseStatusCard strong{
    font-size:17px;
  }

  .licenseStatusCard small{
    font-size:12px;
  }

  .licensePlanBlock{
    grid-template-columns:minmax(190px, .74fr) minmax(0, 2fr);
    align-items:center;
    gap:10px;
  }

  .licensePlanIntro{
    padding:0 6px;
  }

  .licensePlanIntro strong{
    font-size:14px;
  }

  .licensePlanIntro span{
    font-size:11px;
  }

  .licensePlans{
    gap:8px;
  }

  .licenseCustomPlan{
    grid-column:1 / -1;
    padding:10px;
    gap:8px;
  }

  .licensePlanOption{
    min-height:76px;
    padding:10px 7px;
    gap:5px;
    border-radius:14px;
  }

  .licensePlanOption small{
    font-size:8.5px;
  }

  .licensePlanOption strong{
    font-size:16px;
  }

  .licensePlanOption span{
    font-size:17px;
  }

  .licensePlanOption em{
    font-size:8.5px;
  }

  .licenseMasterPanel{
    margin-top:16px;
    padding:14px;
    gap:12px;
  }

  .settingsField{
    min-height:60px;
    padding:8px 12px;
  }

  .settingsExpiryDateWrap .machineResultDateButton{
    height:60px;
  }

  .settingsExpiryDateWrap .machineResultDateText,
  .settingsField input,
  .settingsField select{
    font-size:15px;
  }
}

select,
.modalField select,
.mobilePaymentForm select,
.registryForm select,
.settingsField select,
.statementSelect select,
.machineResultFilters select,
.machineReadingHistoryFilters select,
.machineAverageFilters select,
.machineRankingFilters select,
.machinePanelFields select,
.machineSavedFilters select,
.machineShareFilters select,
.registryUserFilters select,
.turnAttendantsField select{
  border-radius:999px !important;
  -webkit-appearance:none;
  appearance:none;
  padding-right:42px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.92) 50%),
    linear-gradient(135deg, rgba(255,255,255,.92) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50% !important;
  background-size:
    6px 6px,
    6px 6px !important;
  background-repeat:no-repeat !important;
}

@media (max-width:820px){
  .attendantReportHeader,
  .attendantReportTotal,
  .attendantRow{
    grid-template-columns:1fr;
  }

  .attendantReport{
    min-width:0;
    overflow:visible;
  }

  .attendantReportHeader{
    display:none;
  }

  .attendantList{
    min-width:0;
    max-height:none;
    overflow:visible;
  }

  .attendantRow{
    align-items:stretch;
    gap:10px;
    padding:12px;
  }

  .attendantMetric{
    min-height:42px;
    padding:9px 10px;

    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    background:rgba(0,0,0,.08);
    text-align:right;
  }

  .attendantMetric::before{
    color:rgba(255,255,255,.58);

    font-size:10px;
    font-weight:950;
    text-transform:uppercase;
  }

  .attendantRow .attendantMetric:nth-of-type(1)::before{
    content:"Câmbio";
  }

  .attendantRow .attendantMetric:nth-of-type(2)::before{
    content:"Pendente";
  }

  .attendantRow .attendantMetric:nth-of-type(3)::before{
    content:"Pago manual";
  }

  .attendantRow .attendantMetric:nth-of-type(4)::before{
    content:"Saldo";
  }

  .attendantRow .attendantMetric:nth-of-type(5)::before{
    content:"Devolvido";
  }

  .attendantRow .attendantMetric:nth-of-type(6)::before{
    content:"Vale";
  }

  .attendantMetric strong{
    font-size:14px;
    text-align:right;
  }

  .attendantAction{
    justify-content:stretch;
  }

  .attendantAction button{
    flex:1 1 120px;
  }

  .attendantReportTotal{
    min-width:0;
    gap:8px;
  }

  .attendantReportTotal strong{
    display:flex;
    justify-content:space-between;
    gap:10px;
  }

  .attendantReportTotal strong::before{
    color:rgba(255,255,255,.58);

    font-size:10px;
    font-weight:950;
    text-transform:uppercase;
  }

  .attendantReportTotal strong:nth-child(1)::before{
    content:"Somatório";
  }

  .attendantReportTotal strong:nth-child(2)::before{
    content:"Pendente";
  }

  .attendantReportTotal strong:nth-child(3)::before{
    content:"Pago manual";
  }

  .attendantReportTotal strong:nth-child(4)::before{
    content:"Saldo";
  }

  .attendantReportTotal strong:nth-child(5)::before{
    content:"Devolvido";
  }

  .attendantReportTotal strong:nth-child(6)::before{
    content:"Vale";
  }

  .attendantMobile{
    height:auto;
    min-height:100dvh;
    grid-template-rows:auto auto auto;
    align-content:start;
  }

  .attendantMobileHeader{
    position:relative;
    top:auto;
    align-items:center;
  }

  .attendantMobileContent{
    width:100%;
    max-width:520px;
    grid-template-columns:1fr;
    gap:12px;
  }

  .mobileHomeGrid{
    grid-template-columns:1.08fr 1fr;
    grid-template-rows:repeat(2, minmax(118px, 1fr)) minmax(96px, auto);
    gap:14px;
  }

  .mobileHomeCard{
    min-height:156px;
    height:auto;
    padding:18px;
    border-radius:24px;
    gap:10px;
  }

  .mobileHomeCard.primaryPayment{
    grid-column:auto;
    grid-row:1 / 3;
    grid-template-columns:1fr;
    align-items:initial;
    align-content:end;
    min-height:250px;
  }

  .mobileHomeCard.compactCard{
    grid-column:auto;
    min-height:118px;
  }

  .mobileHomeCard.readingWide{
    grid-column:1 / -1;
    min-height:102px;
    grid-template-columns:auto 1fr;
    align-items:center;
    align-content:center;
  }

  .mobileHomeIcon{
    width:54px;
    height:54px;
    border-radius:18px;
    font-size:27px;
  }

  .mobileHomeCard.compactCard .mobileHomeIcon{
    width:46px;
    height:46px;
    border-radius:16px;
    font-size:23px;
  }

  .mobileHomeCard strong,
  .mobileHomeCard.compactCard strong{
    min-width:0;
    max-width:100%;

    overflow:visible;
    text-overflow:clip;

    font-size:22px;
    line-height:1.05;
    white-space:normal;
  }

  .mobileHomeCard.compactCard strong{
    font-size:18px;
  }

  .mobileActionCard,
  .mobileStatementCard{
    padding:14px;
    gap:12px;
  }

  .mobilePanelHeader .mobileCardTitle{
    justify-content:flex-start;
    text-align:left;
  }

  .mobileBalanceSummary{
    align-items:flex-start;
    flex-direction:column;
  }

  .mobileBalanceActions{
    width:100%;
    justify-content:flex-start;
  }

  .mobileStatementRow{
    grid-template-columns:minmax(0, 1fr);
    align-items:start;
  }

  .mobileStatementRow span{
    white-space:normal;
  }

  .mobileStatementRow > strong{
    justify-self:start;
  }

}

@media (max-width:1180px){
  html.machinesViewActiveRoot,
  html.machinesViewActiveRoot body,
  body.machinesViewActive{
    min-height:100dvh;
    height:auto;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }

  html.machinesViewActiveRoot .appShell,
  body.machinesViewActive .appShell.machinesTheme,
  .appShell.machinesTheme .workspace{
    min-height:100dvh;
    height:auto;
    max-height:none;
    overflow:visible;
  }

  .appShell.machinesTheme .workspace{
    display:block;
    overflow-x:hidden;
    padding-bottom:120px;
  }

  .machineReadingPanel{
    display:block;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
  }

  .machineReadingPanel > * + *{
    margin-top:14px;
  }

  .machineReadingContent{
    display:block;
    min-height:0;
    height:auto;
    overflow:visible;
  }

  .machineReadingList{
    display:grid;
    align-content:start;
    gap:10px;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
  }

  .machineReadingList > .machineReadingMode,
  .machineReadingList > .machineReadingRow{
    width:100%;
  }

  .machineReadingRow{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    gap:10px;
    min-height:0;
    height:auto;
    overflow:visible;
  }
}

@media (max-width:1180px){
  .appShell.machinesTheme .workspace{
    min-height:0 !important;
    height:100dvh !important;
    max-height:100dvh !important;
    overflow:hidden !important;
  }

  .appShell.machinesTheme .machinesBoard{
    height:calc(100dvh - 92px) !important;
    max-height:calc(100dvh - 92px) !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom:120px;
  }

  .appShell.machinesTheme .machinesList,
  .appShell.machinesTheme .machineReadingPanel,
  .appShell.machinesTheme .machineReadingContent,
  .appShell.machinesTheme .machineReadingList{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .appShell.machinesTheme .machineReadingPanel{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    align-self:start !important;
  }

  .appShell.machinesTheme .machineReadingPanel > * + *{
    margin-top:0 !important;
  }

  .appShell.machinesTheme .machineReadingContent,
  .appShell.machinesTheme .machineReadingList{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .appShell.machinesTheme .machineReadingList{
    gap:12px !important;
  }

  .appShell.machinesTheme .machineReadingRow{
    flex:0 0 auto !important;
  }
}

/* Tema operacional Cashier */
:root{
  --bg:#050b13;
  --panel:#0d1622;
  --panel-soft:rgba(230,238,248,.075);
  --text:#f6f9ff;
  --muted:rgba(222,231,243,.70);
  --accent:#21c7b7;
  --accent-2:#38bdf8;
  --yellow:#f8d24a;
}

body,
.loginScreen,
.unitSelectionScreen,
.systemLockScreen{
  background:
    radial-gradient(circle at 18% 12%, rgba(56,189,248,.20), transparent 34%),
    radial-gradient(circle at 82% 5%, rgba(33,199,183,.12), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(248,210,74,.055), transparent 38%),
    linear-gradient(135deg, #03070d 0%, #071321 44%, #0b1724 100%);
  color:var(--text);
}

.loginScreen::before,
.unitSelectionScreen::before{
  opacity:.42;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:42px 42px;
}

.loginCard,
.unitSelectionHeader,
.unitCard,
.adminPanel,
.mobileBalanceCard,
.mobileActionCard,
.mobileStatementCard,
.operatorCard,
.cashBoard,
.statementBoard,
.attendantBoard,
.registryBoard,
.settingsBoard,
.notesBoard,
.helpBoard,
.closingsBoard,
.closingBoard,
.machineCard,
.machinePanel,
.machinePlateSwapPanel,
.registryEntryPanel,
.registryCard,
.settingsPanel,
.licenseStatusCard,
.noteCard,
.helpCard,
.cashModalCard,
.cardReviewDialog,
.closingDetailsPanel{
  background:
    linear-gradient(180deg, rgba(15,27,42,.94), rgba(6,13,22,.96));
  border-color:rgba(148,163,184,.20);
  box-shadow:
    0 22px 56px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.025) inset,
    inset 0 1px 0 rgba(255,255,255,.075);
}

.loginCard{
  box-shadow:
    0 28px 70px rgba(0,0,0,.46),
    0 0 42px rgba(56,189,248,.11),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.loginBrand strong,
.unitSelectionHeader h1,
.mobileCardTitle h2,
.cashModalCard h2,
.machinePanelHeading strong,
.registryCard strong,
.operatorCard strong,
.saldoCapsula strong{
  color:#ffffff;
  letter-spacing:.01em;
}

.loginBrand span,
.unitEyebrow,
.modalEyebrow,
.mobileCardTitle span,
.machinePanelHeading span,
.registryCard span,
.operatorCard span,
.modalField span,
.machinePanelFields span,
.machinePanelFields label{
  color:rgba(217,226,239,.74);
}

.loginField input,
.modalField input,
.modalField textarea,
.modalField select,
.machinePanelFields input,
.machinePanelFields select,
.machineReadingSearch,
.cardReviewComposition input,
.cardReviewRow input,
.cardReviewReason textarea{
  color:#f8fbff;
  background:rgba(3,9,16,.58);
  border-color:rgba(148,163,184,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.loginField input:focus,
.modalField input:focus,
.modalField textarea:focus,
.modalField select:focus,
.machinePanelFields input:focus,
.machinePanelFields select:focus{
  border-color:rgba(56,189,248,.72);
  box-shadow:
    0 0 0 4px rgba(56,189,248,.12),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.loginSubmit,
.saveAction,
.primaryAction,
.mobilePaymentForm button,
.statementActions button,
.machineReadingActions button,
.attendantAction button{
  color:#031019;
  background:linear-gradient(135deg, #5eead4, #38bdf8);
  box-shadow:
    0 14px 30px rgba(34,211,238,.20),
    inset 0 1px 0 rgba(255,255,255,.38);
}

.adminTabs button.active,
.mobileClientModeTabs button.active,
.registryClientStatusTabs button.active,
.registryUserStatusTabs button.active{
  color:#031019;
  background:linear-gradient(135deg, rgba(94,234,212,.96), rgba(56,189,248,.92));
  border-color:rgba(125,211,252,.58);
}

.unitCard:hover,
.unitCard.active,
.mobileHomeCard:hover,
.mobileHomeCard:focus-visible,
.machineCard:hover,
.registryCard.clientCard:hover{
  border-color:rgba(56,189,248,.42);
  box-shadow:
    0 22px 52px rgba(0,0,0,.34),
    0 0 30px rgba(56,189,248,.13),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.unitCard em,
.mobileBalanceSummary strong,
.closingMachineResultCard strong,
.closingLaunchCard strong,
.closingSummaryPanel strong,
.closingDeliveryCard strong,
.closingSnapshotCards strong,
.machineResultValue{
  color:#f8d24a;
}

.saldoCapsula{
  color:#061019;
  background:
    linear-gradient(135deg, rgba(248,210,74,.96), rgba(245,158,11,.78));
  box-shadow:
    0 12px 26px rgba(0,0,0,.22),
    0 0 24px rgba(248,210,74,.12),
    inset 0 1px 0 rgba(255,255,255,.32);
}

.saldoCapsula[data-total="composicao"]{
  color:#031019;
  background:
    linear-gradient(135deg, rgba(94,234,212,.95), rgba(56,189,248,.78));
}

.cashModal{
  background:rgba(2,8,16,.68);
}

.modalClose,
.passwordToggle{
  background:rgba(15,23,42,.82);
  border:1px solid rgba(148,163,184,.22);
}

.machineReadingMode button,
.adminUnitPicker button,
.machineModelRow button,
.machineSavedRow button,
.registryCard button,
.noteActions button,
.statementHeaderActions button{
  border-color:rgba(148,163,184,.20);
  background:rgba(10,20,32,.72);
  color:#f4f7fb;
}

.machineReadingMode button:hover,
.adminUnitPicker button:hover,
.machineModelRow button:hover,
.machineSavedRow button:hover,
.registryCard button:hover,
.noteActions button:hover,
.statementHeaderActions button:hover{
  border-color:rgba(56,189,248,.42);
  background:rgba(14,35,52,.86);
}

.loginError,
.mobileConferenceAlert{
  color:#fecaca;
}

/* Tela de máquinas: placas operacionais */
.appShell.machinesTheme .machinesBoard{
  background:
    radial-gradient(circle at 15% 0%, rgba(56,189,248,.13), transparent 34%),
    radial-gradient(circle at 86% 22%, rgba(34,197,94,.075), transparent 28%),
    linear-gradient(180deg, rgba(6,13,22,.70), rgba(3,7,13,.92));
}

.appShell.machinesTheme .machinePanel,
.appShell.machinesTheme .machineReadingRow,
.appShell.machinesTheme .machineCard,
.appShell.machinesTheme .machinePlateSwapPanel{
  border-color:rgba(148,163,184,.22);
  background:
    linear-gradient(180deg, rgba(15,29,45,.96), rgba(7,15,25,.98));
}

.appShell.machinesTheme .machineReadingRow{
  position:relative;
  min-height:92px;
  padding:14px;
  border-radius:22px;
  grid-template-columns:minmax(230px, 1.25fr) repeat(3, minmax(112px, .72fr)) minmax(176px, .95fr);
  gap:12px;
  overflow:hidden;
}

.appShell.machinesTheme .machineReadingRow::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:#38bdf8;
  opacity:.86;
}

.appShell.machinesTheme .machineReadingRow.read::before{
  background:#22c55e;
}

.appShell.machinesTheme .machineReadingRow.pending::before,
.appShell.machinesTheme .machineReadingRow[data-reading-state*="Pendente"]::before,
.appShell.machinesTheme .machineReadingRow[data-reading-state*="pendente"]::before{
  background:#f59e0b;
}

.appShell.machinesTheme .machineReadingRow.locked::before{
  background:#94a3b8;
}

.appShell.machinesTheme .machineReadingRow.correction::before{
  background:#f97316;
}

.appShell.machinesTheme .machineReadingTitleLine{
  align-items:center;
  gap:10px;
}

.appShell.machinesTheme .machineReadingTitleLine strong{
  color:#ffffff;
  font-size:clamp(16px, 1.15vw, 20px);
  font-weight:1000;
  line-height:1.05;
}

.appShell.machinesTheme .machineReadingTitleLine small,
.appShell.machinesTheme .machineStatus{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#031019;
  background:linear-gradient(135deg, #5eead4, #38bdf8);
  box-shadow:0 0 20px rgba(56,189,248,.16);
  font-size:10px;
  font-weight:1000;
  letter-spacing:.04em;
  white-space:nowrap;
}

.appShell.machinesTheme .machineReadingRow.pending .machineReadingTitleLine small,
.appShell.machinesTheme .machineReadingRow[data-reading-state*="Pendente"] .machineReadingTitleLine small,
.appShell.machinesTheme .machineReadingRow[data-reading-state*="pendente"] .machineReadingTitleLine small{
  background:linear-gradient(135deg, #fde68a, #f59e0b);
  box-shadow:0 0 20px rgba(245,158,11,.18);
}

.appShell.machinesTheme .machineReadingRow.read .machineReadingTitleLine small{
  background:linear-gradient(135deg, #86efac, #22c55e);
  box-shadow:0 0 20px rgba(34,197,94,.16);
}

.appShell.machinesTheme .machineReadingRow.locked .machineReadingTitleLine small{
  color:#0f172a;
  background:linear-gradient(135deg, #cbd5e1, #94a3b8);
}

.appShell.machinesTheme .machineReadingRow.correction .machineReadingTitleLine small{
  background:linear-gradient(135deg, #fdba74, #f97316);
}

.appShell.machinesTheme .machineReadingRow > div:first-child em,
.appShell.machinesTheme .machineReadingRow > div:first-child span{
  color:rgba(226,235,246,.76);
  font-size:10px;
  font-weight:850;
}

.appShell.machinesTheme .machineReadingRow article,
.appShell.machinesTheme .machineReadingInputMetric{
  min-height:64px;
  padding:11px 12px;
  border-color:rgba(148,163,184,.18);
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}

.appShell.machinesTheme .machineReadingRow article span,
.appShell.machinesTheme .machineReadingInputMetric span{
  color:rgba(226,235,246,.66);
  font-size:10px;
  letter-spacing:.04em;
}

.appShell.machinesTheme .machineReadingRow article strong,
.appShell.machinesTheme .machineReadingInputMetric input{
  color:#ffffff;
  font-size:clamp(17px, 1.2vw, 22px);
  font-weight:1000;
}

.appShell.machinesTheme .machineReadingInputMetric input{
  height:34px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingActions{
  gap:7px;
}

.appShell.machinesTheme .machineReadingActions button{
  min-height:36px;
  border-radius:14px;
  font-size:11px;
  font-weight:950;
}

.appShell.machinesTheme .machineReadingStatus{
  color:rgba(226,235,246,.72);
  font-size:10px;
  line-height:1.25;
}

.appShell.machinesTheme .machineCard{
  min-height:190px;
  border-radius:24px;
}

.appShell.machinesTheme .machineCardHeader{
  grid-template-columns:minmax(0, 1fr) max-content;
  align-items:start;
  gap:6px 12px;
}

.appShell.machinesTheme .machineCardHeader strong{
  color:#ffffff;
  font-size:clamp(20px, 1.55vw, 27px);
  line-height:1;
}

.appShell.machinesTheme .machineCardHeader > span:not(.machineStatus){
  grid-column:1;
  color:rgba(226,235,246,.72);
  font-size:13px;
}

.appShell.machinesTheme .machineCardHeader .machineStatus{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
}

.appShell.machinesTheme .machineCard[data-status="active"]{
  border-color:rgba(34,197,94,.28);
  box-shadow:
    0 22px 54px rgba(0,0,0,.30),
    0 0 30px rgba(34,197,94,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.machinesTheme .machineCard[data-status="active"] .machineStatus{
  background:linear-gradient(135deg, #86efac, #22c55e);
}

.appShell.machinesTheme .machineCard[data-status="inactive"]{
  opacity:.78;
}

.appShell.machinesTheme .machineCard[data-status="inactive"] .machineStatus{
  color:#0f172a;
  background:linear-gradient(135deg, #cbd5e1, #94a3b8);
}

.appShell.machinesTheme .machineCard[data-status="maintenance"]{
  border-color:rgba(249,115,22,.30);
  box-shadow:
    0 22px 54px rgba(0,0,0,.30),
    0 0 30px rgba(249,115,22,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.machinesTheme .machineCard[data-status="maintenance"] .machineStatus{
  color:#1c0c00;
  background:linear-gradient(135deg, #fdba74, #f97316);
}

.appShell.machinesTheme .machineMetrics{
  gap:12px;
}

.appShell.machinesTheme .machineMetrics article{
  border-color:rgba(148,163,184,.18);
  background:rgba(2,8,16,.44);
}

.appShell.machinesTheme .machineMetrics article span{
  color:rgba(226,235,246,.62);
}

.appShell.machinesTheme .machineMetrics article strong{
  color:#ffffff;
  font-size:17px;
}

@media (max-width:1180px){
  .appShell.machinesTheme .machineReadingRow{
    grid-template-columns:1fr;
    min-height:0;
  }

  .appShell.machinesTheme .machineReadingActions{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* TEMA PREMIUM - MAQUINAS CASHIER */
.appShell.machinesTheme{
  background:
    radial-gradient(circle at 16% 14%, rgba(20,184,166,.24), transparent 32%),
    radial-gradient(circle at 78% 10%, rgba(34,197,94,.13), transparent 27%),
    radial-gradient(circle at 55% 112%, rgba(5,150,105,.22), transparent 36%),
    linear-gradient(135deg, #03110f 0%, #06231f 42%, #071a1c 72%, #03080d 100%);
}

.appShell.machinesTheme .sidebar{
  border-right-color:rgba(45,212,191,.16);
  background:
    linear-gradient(
      180deg,
      rgba(3,31,28,.72),
      rgba(2,12,18,.54)
    );
}

.appShell.machinesTheme .workspace{
  background:
    radial-gradient(circle at 32% 38%, rgba(20,184,166,.17), transparent 34%),
    radial-gradient(circle at 74% 92%, rgba(34,197,94,.10), transparent 31%),
    linear-gradient(135deg, rgba(4,47,46,.24), rgba(3,15,21,.28));
}

.appShell.machinesTheme .machinesBoard{
  position:relative;
  padding:clamp(12px, 1.35vw, 22px);
  border:1px solid rgba(94,234,212,.13);
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(94,234,212,.095), transparent 34%),
    radial-gradient(circle at 16% 8%, rgba(20,184,166,.20), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(34,197,94,.11), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(6,78,59,.46), transparent 44%),
    linear-gradient(180deg, rgba(3,14,17,.98), rgba(2,7,12,.98));
  box-shadow:
    0 30px 90px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.055);
  overflow:hidden;
}

.appShell.machinesTheme .machinesBoard::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.58), rgba(0,0,0,.16));
}

.appShell.machinesTheme .machinePanel,
.appShell.machinesTheme .machineReadingRow,
.appShell.machinesTheme .machineCard,
.appShell.machinesTheme .machinePlateSwapPanel{
  position:relative;
  border:1px solid rgba(148,163,184,.18);
  background:
    linear-gradient(180deg, rgba(18,32,49,.92), rgba(6,13,22,.96));
  box-shadow:
    0 24px 58px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.025) inset,
    inset 0 1px 0 rgba(255,255,255,.07);
}

.appShell.machinesTheme .machinePanel{
  border-radius:26px;
  padding:clamp(14px, 1.3vw, 20px);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.appShell.machinesTheme .machinePanelHeading{
  padding:2px 2px 10px;
}

.appShell.machinesTheme .machinePanelHeading strong{
  color:#f8fbff;
  font-size:clamp(19px, 1.45vw, 25px);
  letter-spacing:.01em;
}

.appShell.machinesTheme .machinePanelHeading span{
  color:rgba(226,235,246,.68);
}

.appShell.machinesTheme .machineSelector,
.appShell.machinesTheme .machineSubSelector,
.appShell.machinesTheme .machineReportSelector{
  border:1px solid rgba(94,234,212,.20);
  background:
    linear-gradient(180deg, rgba(15,23,42,.88), rgba(3,7,13,.88));
  box-shadow:
    0 18px 38px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.appShell.machinesTheme .machineSelectorItem,
.appShell.machinesTheme .machineSubSelectorItem,
.appShell.machinesTheme .machineReportSelectorItem{
  color:rgba(226,235,246,.78);
}

.appShell.machinesTheme .machineSelectorItem.active,
.appShell.machinesTheme .machineSelectorItem:hover,
.appShell.machinesTheme .machineSubSelectorItem.active,
.appShell.machinesTheme .machineSubSelectorItem:hover,
.appShell.machinesTheme .machineReportSelectorItem.active,
.appShell.machinesTheme .machineReportSelectorItem:hover{
  color:#031019;
  background:linear-gradient(135deg, #99f6e4, #34d399);
  box-shadow:
    0 10px 24px rgba(34,197,94,.22),
    inset 0 1px 0 rgba(255,255,255,.44);
}

.appShell.machinesTheme .machineReadingSearch,
.appShell.machinesTheme .machinePanelFields label,
.appShell.machinesTheme .machineSavedFilters label,
.appShell.machinesTheme .machineResultFilters label,
.appShell.machinesTheme .machineReadingHistoryFilters label,
.appShell.machinesTheme .machineAverageFilters label,
.appShell.machinesTheme .machineRankingFilters label,
.appShell.machinesTheme .machineShareFilters label{
  border-color:rgba(94,234,212,.17);
  background:rgba(2,8,16,.48);
}

.appShell.machinesTheme .machineReadingRow{
  min-height:98px;
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(20,35,53,.94), rgba(6,13,22,.96));
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.appShell.machinesTheme .machineReadingRow:hover{
  transform:translateY(-1px);
  border-color:rgba(94,234,212,.34);
  background:
    linear-gradient(180deg, rgba(26,45,67,.96), rgba(7,16,27,.98));
  box-shadow:
    0 28px 66px rgba(0,0,0,.40),
    0 0 32px rgba(20,184,166,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.machinesTheme .machineReadingRow::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(94,234,212,.10), transparent 26%);
  opacity:.72;
}

.appShell.machinesTheme .machineReadingRow::before{
  width:7px;
  box-shadow:0 0 22px currentColor;
}

.appShell.machinesTheme .machineReadingTitleLine strong{
  text-shadow:0 2px 14px rgba(0,0,0,.32);
}

.appShell.machinesTheme .machineReadingTitleLine small,
.appShell.machinesTheme .machineStatus{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-shadow:none;
}

.appShell.machinesTheme .machineReadingRow article,
.appShell.machinesTheme .machineReadingInputMetric{
  border-color:rgba(148,163,184,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.028));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.appShell.machinesTheme .machineReadingRow article strong,
.appShell.machinesTheme .machineReadingInputMetric input{
  color:#f8fbff;
  text-shadow:0 0 18px rgba(125,211,252,.10);
}

.appShell.machinesTheme .machineReadingActions button{
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg, rgba(30,41,59,.92), rgba(8,13,23,.95));
  color:#f8fbff;
  box-shadow:
    0 10px 22px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.appShell.machinesTheme .machineReadingActions .machineReadingSave:not(:disabled){
  color:#031019;
  border-color:rgba(94,234,212,.48);
  background:linear-gradient(135deg, #99f6e4, #34d399);
}

.appShell.machinesTheme .machineReadingActions button:disabled{
  opacity:.56;
}

.appShell.machinesTheme .machineCard{
  border-radius:26px;
  overflow:hidden;
}

.appShell.machinesTheme .machineCard::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 10%, rgba(94,234,212,.13), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 26%);
}

.appShell.machinesTheme .machineMetrics article{
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(15,23,42,.72), rgba(2,8,16,.62));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.appShell.machinesTheme .machineMetrics article strong{
  font-size:clamp(17px, 1.15vw, 22px);
}

@media (max-width:1180px){
  .appShell.machinesTheme .machinesBoard{
    border-radius:22px;
    padding:12px;
  }

  .appShell.machinesTheme .machinePanel{
    border-radius:22px;
    padding:12px;
  }

  .appShell.machinesTheme .machineReadingRow{
    border-radius:22px;
    gap:10px;
  }
}

/* TEMA FINAL - CAIXA ROXO PROFUNDO / MAQUINAS AZUL GRAFITE */
.appShell.operationalTheme{
  background:
    radial-gradient(circle at 34% 22%, rgba(168,85,247,.24), transparent 34%),
    radial-gradient(circle at 78% 86%, rgba(236,72,153,.12), transparent 30%),
    linear-gradient(135deg, #211236 0%, #2b1b46 48%, #12091f 100%);
}

.appShell.operationalTheme .sidebar{
  border-right-color:rgba(216,180,254,.16);
  background:
    linear-gradient(
      180deg,
      rgba(42,25,68,.84),
      rgba(20,10,34,.66)
    );
  box-shadow:
    18px 0 44px rgba(0,0,0,.18),
    inset -1px 0 0 rgba(216,180,254,.06);
}

.appShell.operationalTheme .workspace{
  background:
    radial-gradient(circle at 36% 24%, rgba(168,85,247,.15), transparent 34%),
    radial-gradient(circle at 78% 92%, rgba(236,72,153,.08), transparent 30%),
    linear-gradient(135deg, rgba(55,31,88,.24), rgba(18,9,31,.28));
}

.appShell.operationalTheme .cashBoard{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .statementBoard,
.appShell.operationalTheme .attendantBoard,
.appShell.operationalTheme .closingBoard,
.appShell.operationalTheme .closingsBoard{
  border-color:rgba(216,180,254,.14);
  background:
    radial-gradient(circle at 24% 10%, rgba(168,85,247,.13), transparent 34%),
    radial-gradient(circle at 88% 86%, rgba(236,72,153,.06), transparent 32%),
    linear-gradient(180deg, rgba(35,21,55,.50), rgba(17,8,29,.54));
  box-shadow:
    0 22px 58px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.045);
}

.appShell.operationalTheme .statementBoard,
.appShell.operationalTheme .attendantBoard{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .statementHeader,
.appShell.operationalTheme .attendantHeader,
.appShell.operationalTheme .closingPageHeader,
.appShell.operationalTheme .statementFilters,
.appShell.operationalTheme .reportsSummary article,
.appShell.operationalTheme .statementClientSummary,
.appShell.operationalTheme .closingMachineChecklist,
.appShell.operationalTheme .closingLaunchSummary,
.appShell.operationalTheme .closingCompositionField,
.appShell.operationalTheme .closingSummaryPanel,
.appShell.operationalTheme .closingSnapshot,
.appShell.operationalTheme .turnAttendantsPanel{
  border-color:rgba(216,180,254,.16);
  background:
    linear-gradient(180deg, rgba(54,38,75,.84), rgba(22,16,34,.90));
  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.appShell.operationalTheme .statementRow,
.appShell.operationalTheme .closingHistoryRow,
.appShell.operationalTheme .closingSnapshotSummary article,
.appShell.operationalTheme .closingSnapshotCards article,
.appShell.operationalTheme .closingMachineRow,
.appShell.operationalTheme .closingLaunchCard,
.appShell.operationalTheme .closingCard,
.appShell.operationalTheme .closingDeliveryCard,
.appShell.operationalTheme .turnAttendantChip,
.appShell.operationalTheme .attendantRow{
  border-color:rgba(216,180,254,.13);
  background:
    radial-gradient(circle at 88% 14%, rgba(168,85,247,.10), transparent 34%),
    linear-gradient(180deg, rgba(42,31,60,.86), rgba(18,13,29,.92));
}

.appShell.operationalTheme .statementSelect,
.appShell.operationalTheme .turnAttendantsField,
.appShell.operationalTheme .closingCompositionGrid label,
.appShell.operationalTheme .closingCompositionGrid input[data-closing-field]{
  border-color:rgba(216,180,254,.16);
  background:rgba(18,9,31,.34);
}

.appShell.operationalTheme .statementEyebrow,
.appShell.operationalTheme .statementHeader span,
.appShell.operationalTheme .statementFilters span,
.appShell.operationalTheme .closingSectionTitle span,
.appShell.operationalTheme .closingSummaryPanel p,
.appShell.operationalTheme .turnAttendantsHeader span,
.appShell.operationalTheme .attendantHeader span{
  color:rgba(237,233,254,.68);
}

.appShell.operationalTheme .statementHeader h2,
.appShell.operationalTheme .closingPageHeader h2,
.appShell.operationalTheme .closingSectionTitle strong,
.appShell.operationalTheme .closingSummaryPanel > span,
.appShell.operationalTheme .turnAttendantsHeader strong{
  color:#ffffff;
}

/* Ajuste de luminosidade para telas financeiras roxas */
.appShell.operationalTheme .statementBoard,
.appShell.operationalTheme .attendantBoard,
.appShell.operationalTheme .closingsBoard,
.appShell.operationalTheme .closingBoard{
  background:
    radial-gradient(circle at 24% 10%, rgba(168,85,247,.18), transparent 34%),
    radial-gradient(circle at 88% 86%, rgba(236,72,153,.08), transparent 32%),
    linear-gradient(180deg, rgba(48,28,74,.42), rgba(28,13,46,.46));
}

.appShell.operationalTheme .statementBoard,
.appShell.operationalTheme .attendantBoard{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .statementHeader,
.appShell.operationalTheme .attendantHeader,
.appShell.operationalTheme .closingPageHeader,
.appShell.operationalTheme .statementFilters,
.appShell.operationalTheme .statementClientSummary,
.appShell.operationalTheme .attendantReport,
.appShell.operationalTheme .turnAttendantsPanel,
.appShell.operationalTheme .turnAttendantsGroup,
.appShell.operationalTheme .closingMachineChecklist,
.appShell.operationalTheme .closingLaunchSummary,
.appShell.operationalTheme .closingCompositionField,
.appShell.operationalTheme .closingSummaryPanel,
.appShell.operationalTheme .closingSnapshot{
  background:
    linear-gradient(180deg, rgba(70,48,98,.66), rgba(34,18,54,.72));
}

.appShell.operationalTheme .statementRow,
.appShell.operationalTheme .statementEmpty,
.appShell.operationalTheme .attendantReportTotal,
.appShell.operationalTheme .attendantMetric,
.appShell.operationalTheme .closingHistoryRow,
.appShell.operationalTheme .closingSnapshotSummary article,
.appShell.operationalTheme .closingSnapshotCards article,
.appShell.operationalTheme .closingMachineRow,
.appShell.operationalTheme .closingLaunchCard,
.appShell.operationalTheme .closingCard,
.appShell.operationalTheme .closingDeliveryCard{
  background:
    linear-gradient(180deg, rgba(62,43,88,.68), rgba(30,17,48,.76));
}

.appShell.operationalTheme .statementSelect,
.appShell.operationalTheme .turnAttendantsField,
.appShell.operationalTheme .statementClientSummaryMetrics span,
.appShell.operationalTheme .closingCompositionGrid input[data-closing-field]{
  background:rgba(37,18,58,.44);
}

.appShell.operationalTheme .statementActions button{
  border-color:rgba(216,180,254,.24);
  color:#ffffff;
  background:linear-gradient(135deg, #c084fc, #9333ea);
  box-shadow:
    0 10px 22px rgba(147,51,234,.20),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.appShell.operationalTheme .statementActions button:hover:not(:disabled){
  background:linear-gradient(135deg, #d8b4fe, #a855f7);
}

.appShell.operationalTheme .statementActions .statementDetailsAction{
  border-color:rgba(216,180,254,.16);
  color:#f8f3ff;
  background:linear-gradient(180deg, rgba(58,38,82,.72), rgba(22,13,35,.84));
}

.appShell.analysisTheme .workspace{
  background:
    radial-gradient(circle at 18% 10%, rgba(127,255,212,.13), transparent 32%),
    radial-gradient(circle at 86% 82%, rgba(72,187,255,.08), transparent 34%),
    linear-gradient(180deg, rgba(8,28,34,.52), rgba(5,16,24,.62));
}

.appShell.analysisTheme .sidebar{
  border-right-color:rgba(127,255,212,.18);
  background:
    radial-gradient(circle at 32% 8%, rgba(127,255,212,.11), transparent 32%),
    linear-gradient(180deg, rgba(9,38,45,.96), rgba(6,20,31,.98));
}

.appShell.analysisTheme .sidebar::before{
  background:
    linear-gradient(180deg, rgba(127,255,212,.16), transparent 36%),
    radial-gradient(circle at 0% 50%, rgba(72,187,255,.12), transparent 38%);
}

.appShell.analysisTheme .sidebar::after{
  background:rgba(127,255,212,.14);
}

.appShell.analysisTheme .reportsBoard{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.analysisTheme .statementHeader,
.appShell.analysisTheme .statementFilters,
.appShell.analysisTheme .reportsSummary article{
  border-color:rgba(127,255,212,.18);
  background:
    linear-gradient(180deg, rgba(20,62,66,.66), rgba(8,25,35,.76));
  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.appShell.analysisTheme .statementRow,
.appShell.analysisTheme .statementEmpty{
  border-color:rgba(127,255,212,.14);
  background:
    radial-gradient(circle at 88% 14%, rgba(127,255,212,.10), transparent 34%),
    linear-gradient(180deg, rgba(19,55,61,.72), rgba(7,23,34,.82));
}

.appShell.analysisTheme .statementRow:hover{
  background:
    radial-gradient(circle at 88% 14%, rgba(127,255,212,.16), transparent 34%),
    linear-gradient(180deg, rgba(23,70,72,.78), rgba(9,30,40,.86));
}

.appShell.analysisTheme .statementSelect,
.appShell.analysisTheme .reportsFilters .dateSelector{
  border-color:rgba(127,255,212,.18);
  background:rgba(8,30,36,.58);
}

.appShell.analysisTheme .statementEyebrow,
.appShell.analysisTheme .statementHeader span,
.appShell.analysisTheme .statementFilters span,
.appShell.analysisTheme .reportsSummary span,
.appShell.analysisTheme .reportsFilters .machineResultDateStack strong{
  color:rgba(211,255,241,.68);
}

.appShell.analysisTheme .statementHeader h2,
.appShell.analysisTheme .reportsSummary strong,
.appShell.analysisTheme .reportsFilters .machineResultDateText,
.appShell.analysisTheme .statementInfo strong,
.appShell.analysisTheme .statementValue{
  color:#ffffff;
}

.appShell.analysisTheme .statementHeader .statementEyebrow,
.appShell.analysisTheme .reportRow .statementValue{
  color:#7fffd4;
}

/* Atendentes: formulario em estilo capsula */
.appShell.operationalTheme .turnAttendantsPanel{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .turnAttendantsForm{
  grid-template-columns:minmax(260px, 1fr) minmax(150px, 200px) auto;
  gap:10px;
  align-items:stretch;
}

.appShell.operationalTheme .turnAttendantsField{
  min-height:56px;
  padding:8px 14px;
  border:1px solid rgba(216,180,254,.18);
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(56,35,82,.70), rgba(29,15,47,.78));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.14);
}

.appShell.operationalTheme .turnAttendantsField span{
  padding-left:2px;
  color:rgba(237,233,254,.72);
}

.appShell.operationalTheme .turnAttendantsField select{
  min-height:24px;
  color:#ffffff;
}

.appShell.operationalTheme .turnAttendantsAdd{
  min-height:56px;
  padding:0 24px;
  border:1px solid rgba(255,226,90,.42);
  border-radius:999px;
  color:#190b25;
  background:linear-gradient(135deg, #ffe66b, #facc15);
  box-shadow:
    0 12px 24px rgba(250,204,21,.18),
    inset 0 1px 0 rgba(255,255,255,.36);
}

.appShell.operationalTheme .turnAttendantsGroup{
  min-height:54px;
  padding:10px 14px;
  border:1px solid rgba(216,180,254,.16);
  border-radius:26px;
  background:
    linear-gradient(180deg, rgba(54,34,80,.50), rgba(29,15,47,.56));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055);
}

.appShell.operationalTheme .turnAttendantChip{
  min-height:32px;
  padding:0 14px;
  border:1px solid rgba(216,180,254,.18);
  border-radius:999px;
  color:#f8f3ff;
  background:
    linear-gradient(180deg, rgba(88,55,126,.82), rgba(44,21,70,.90));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 16px rgba(0,0,0,.16);
}

@media (max-width: 820px){
  .appShell.operationalTheme .turnAttendantsForm{
    grid-template-columns:1fr;
  }

  .appShell.operationalTheme .turnAttendantsAdd{
    width:100%;
  }
}

/* Atendentes: tabela limpa; capsula apenas em botoes e seletores */
.appShell.operationalTheme .attendantReport{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .attendantReportHeader{
  padding:0 14px 2px;
  border:0;
  background:transparent;
}

.appShell.operationalTheme .attendantRow{
  min-height:62px;
  border:1px solid rgba(216,180,254,.14);
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(58,38,82,.62), rgba(27,14,44,.72));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 26px rgba(0,0,0,.13);
}

.appShell.operationalTheme .attendantRow:nth-child(even){
  background:
    linear-gradient(180deg, rgba(64,42,90,.58), rgba(29,15,47,.70));
}

.appShell.operationalTheme .attendantRow.settled{
  opacity:.72;
  filter:none;
}

.appShell.operationalTheme .attendantMetric{
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .attendantReportTotal{
  min-height:50px;
  border:1px solid rgba(255,226,90,.34);
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(91,57,103,.72), rgba(42,20,64,.80));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 24px rgba(0,0,0,.16);
}

.appShell.operationalTheme .attendantAction button{
  min-height:36px;
  padding:0 16px;
  border:1px solid rgba(216,180,254,.24);
  border-radius:999px;
  color:#ffffff;
  background:
    linear-gradient(135deg, #c084fc, #9333ea);
  box-shadow:
    0 10px 20px rgba(147,51,234,.18),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.appShell.operationalTheme .attendantAction button:hover{
  filter:brightness(1.04);
}

.appShell.operationalTheme .statementActions .statementDetailsAction:hover:not(:disabled){
  background:linear-gradient(180deg, rgba(74,50,105,.82), rgba(32,18,52,.92));
}

.appShell.operationalTheme .navGroupCash .navIcon{
  color:#d8b4fe;
  text-shadow:0 0 16px rgba(216,180,254,.34);
}

.appShell.operationalTheme .navGroupCash .navItem.active,
.appShell.operationalTheme .navGroupCash .navItem:hover{
  border-color:rgba(216,180,254,.22);
  background:
    linear-gradient(135deg, rgba(168,85,247,.18), rgba(236,72,153,.08));
}

.appShell.operationalTheme .navGroupCash .navItem.active .navIcon,
.appShell.operationalTheme .navGroupCash .navItem:hover .navIcon{
  color:#f0abfc;
}

.appShell.operationalTheme .cashStatusStrip{
  border-color:rgba(216,180,254,.18);
  background:
    linear-gradient(135deg, rgba(76,49,113,.62), rgba(30,18,50,.72));
  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.operationalTheme .cashStatusStrip.open{
  border-color:rgba(94,234,212,.24);
  background:
    linear-gradient(135deg, rgba(76,49,113,.60), rgba(20,116,103,.18)),
    rgba(18,9,31,.44);
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="neutral"]{
  border-color:rgba(216,180,254,.18);
  background:
    linear-gradient(135deg, rgba(76,49,113,.48), rgba(30,18,50,.64));
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="neutral"] .cashStatusMeta{
  border-color:rgba(216,180,254,.26);
  color:#ede9fe;
  background:rgba(168,85,247,.12);
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="success"]{
  border-color:rgba(94,234,212,.30);
  background:
    linear-gradient(135deg, rgba(76,49,113,.56), rgba(20,184,166,.20));
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="success"] .cashStatusMeta{
  border-color:rgba(94,234,212,.36);
  color:#d9fff6;
  background:rgba(20,184,166,.13);
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="warning"]{
  border-color:rgba(250,204,21,.38);
  background:
    linear-gradient(135deg, rgba(76,49,113,.54), rgba(250,204,21,.16));
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="warning"] .cashStatusMeta{
  border-color:rgba(250,204,21,.44);
  color:#fef3c7;
  background:rgba(250,204,21,.13);
}

.appShell.operationalTheme .cashStatusStrip.balanceAlert,
.appShell.operationalTheme .cashStatusStrip[data-status-tone="critical"].balanceAlert{
  border-color:rgba(255,85,85,.78);
  background:
    radial-gradient(circle at 85% 20%, rgba(255,213,61,.18), transparent 30%),
    linear-gradient(135deg, rgba(127,29,29,.78), rgba(249,115,22,.28)),
    rgba(38,10,25,.72);
  animation:cashStatusCriticalPulse 1.05s ease-in-out infinite;
}

.appShell.operationalTheme .cashStatusStrip.balanceAlert .cashStatusMeta{
  border-color:rgba(255,213,61,.62);
  color:#fff7ad;
  background:rgba(185,28,28,.30);
  box-shadow:
    0 0 18px rgba(239,68,68,.22),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="info"]{
  border-color:rgba(125,211,252,.34);
  background:
    linear-gradient(135deg, rgba(76,49,113,.54), rgba(56,189,248,.17));
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="info"] .cashStatusMeta{
  border-color:rgba(125,211,252,.42);
  color:#e0f2fe;
  background:rgba(56,189,248,.13);
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="critical"]{
  border-color:rgba(251,146,60,.40);
  background:
    linear-gradient(135deg, rgba(76,49,113,.54), rgba(249,115,22,.18));
}

.appShell.operationalTheme .cashStatusStrip[data-status-tone="critical"] .cashStatusMeta{
  border-color:rgba(251,146,60,.46);
  color:#ffedd5;
  background:rgba(249,115,22,.14);
}

.appShell.operationalTheme .cashTile{
  border-color:rgba(216,180,254,.18);
  background:
    radial-gradient(circle at 88% 14%, rgba(168,85,247,.12), transparent 34%),
    linear-gradient(180deg, rgba(54,38,75,.92), rgba(22,16,34,.96));
  box-shadow:
    0 16px 34px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.085);
}

.appShell.operationalTheme .cashTile::before{
  background:
    radial-gradient(ellipse at center, rgba(216,180,254,.11), transparent 70%);
}

.appShell.operationalTheme .tileIcon{
  background:
    linear-gradient(145deg, rgba(192,132,252,.94), rgba(147,51,234,.78));
  box-shadow:
    0 10px 20px rgba(0,0,0,.22),
    0 0 16px rgba(168,85,247,.16),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.appShell.operationalTheme .cashTile[data-group="composicao"] .tileIcon,
.appShell.operationalTheme .cashTile.destaque .tileIcon{
  background:
    linear-gradient(145deg, rgba(167,139,250,.94), rgba(109,40,217,.76));
}

.appShell.operationalTheme .cashTile strong{
  color:#f8f3ff;
}

.appShell.operationalTheme .cashTileLabel span + span,
.appShell.operationalTheme .cashTileBreakdown em{
  color:rgba(237,233,254,.64);
}

.appShell.operationalTheme .cashTile small,
.appShell.operationalTheme .cashTileBreakdown b{
  color:#ffffff;
}

.appShell.operationalTheme .cashTile.zeroValue small,
.appShell.operationalTheme .valeSplitContent b.zeroValue{
  color:rgba(237,233,254,.48);
  opacity:.62;
  font-weight:720;
}

.appShell.operationalTheme .cashTile.negativeValue{
  border-color:rgba(248,113,113,.28);
  background:
    radial-gradient(circle at 78% 0%, rgba(124,58,237,.18), transparent 36%),
    linear-gradient(180deg, rgba(37,23,53,.92), rgba(18,10,30,.96));
  box-shadow:
    0 14px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.appShell.operationalTheme .cashTile.negativeValue small{
  color:#fb7185;
  text-shadow:none;
}

.appShell.operationalTheme .valeSplitContent b.negativeValue{
  color:#fb7185;
}

.appShell.operationalTheme .cashTileBreakdown{
  border-color:rgba(216,180,254,.10);
  background:rgba(18,9,31,.26);
}

/* Fechamento: alinhado ao tema novo da tela Caixa */
.appShell.operationalTheme .closingBoard{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .closingPageLayout{
  gap:10px;
}

.appShell.operationalTheme .closingBoard .closingCompositionGrid{
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
}

.appShell.operationalTheme .closingMachineChecklist,
.appShell.operationalTheme .closingMachineResult,
.appShell.operationalTheme .closingLaunchSummary,
.appShell.operationalTheme .closingCompositionField,
.appShell.operationalTheme .closingSummaryPanel{
  border-color:rgba(216,180,254,.18);
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 12%, rgba(168,85,247,.12), transparent 34%),
    linear-gradient(180deg, rgba(54,38,75,.92), rgba(22,16,34,.96));
  box-shadow:
    0 16px 34px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.085);
}

.appShell.operationalTheme .closingMachineRow,
.appShell.operationalTheme .closingMachineResultCard,
.appShell.operationalTheme .closingLaunchCard,
.appShell.operationalTheme .closingCard,
.appShell.operationalTheme .closingDeliveryCard,
.appShell.operationalTheme .closingSummaryMoneyLine strong{
  border-color:rgba(216,180,254,.14);
  border-radius:14px;
  background:
    linear-gradient(180deg, rgba(62,43,88,.68), rgba(30,17,48,.76));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 20px rgba(0,0,0,.14);
}

.appShell.operationalTheme .closingLaunchCard{
  min-height:76px;
  padding:12px;
  overflow:hidden;
  grid-template-rows:minmax(28px, auto) 1fr;
  align-content:stretch;
  gap:7px;
}

.appShell.operationalTheme .closingLaunchCard.total{
  grid-template-rows:minmax(28px, auto) 1fr;
  align-content:stretch;
  gap:7px;
}

.appShell.operationalTheme .closingMachineResultCard.total,
.appShell.operationalTheme .closingLaunchCard.total,
.appShell.operationalTheme .closingBalanceStatus,
.appShell.operationalTheme .closingValeCaixa,
.appShell.operationalTheme .closingDeliveryCard{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  border-color:rgba(250,204,21,.34);
  background:
    linear-gradient(135deg, rgba(250,204,21,.20), rgba(168,85,247,.12)),
    linear-gradient(180deg, rgba(62,43,88,.78), rgba(30,17,48,.82));
}

.appShell.operationalTheme .closingDeliveryPanel{
  width:100%;
  min-width:0;
  max-width:100%;
  justify-self:stretch;
  overflow:hidden;
}

.appShell.operationalTheme .closingSectionTitle .closingDeliveryPanel{
  flex:initial;
  width:100%;
}

.appShell.operationalTheme .closingDeliveryCard{
  min-height:76px;
  padding:12px;
  border-radius:16px;
  grid-template-rows:minmax(28px, auto) 1fr;
  align-content:stretch;
  gap:8px;
}

.appShell.operationalTheme .closingValeCaixa{
  min-height:76px;
  padding:12px;
  border-radius:16px;
  overflow:hidden;
}

.appShell.operationalTheme .closingBalanceStatus{
  min-height:76px;
  padding:12px;
  border-radius:16px;
  overflow:hidden;
  border-color:rgba(112,242,164,.34);
  background:
    radial-gradient(circle at 86% 12%, rgba(112,242,164,.18), transparent 34%),
    linear-gradient(180deg, rgba(35,78,60,.64), rgba(24,36,38,.78));
}

.appShell.operationalTheme .closingBalanceStatus.negative,
.appShell.operationalTheme .closingValeCaixa{
  border-color:rgba(248,113,113,.74);
  background:
    radial-gradient(circle at 86% 12%, rgba(248,113,113,.28), transparent 34%),
    linear-gradient(180deg, rgba(106,28,42,.78), rgba(46,18,38,.88));
  box-shadow:
    0 16px 32px rgba(127,29,29,.26),
    0 0 0 1px rgba(248,113,113,.14),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.appShell.operationalTheme .closingDeliveryCard span{
  color:rgba(255,255,255,.86);
  font-size:11px;
}

.appShell.operationalTheme .closingLaunchCard.total span,
.appShell.operationalTheme .closingLaunchCard span{
  color:#ffffff;
  font-size:12px;
  line-height:1.25;
  letter-spacing:0;
}

.appShell.operationalTheme .closingLaunchCard.total strong,
.appShell.operationalTheme .closingLaunchCard strong{
  color:#facc15;
  font-size:16px;
  line-height:1;
}

.appShell.operationalTheme .closingLaunchCard.total strong{
  font-size:24px;
  align-self:end;
}

.appShell.operationalTheme .closingBalanceStatus span,
.appShell.operationalTheme .closingValeCaixa span{
  color:#ffffff;
  font-size:12px;
  line-height:1.25;
  letter-spacing:0;
}

.appShell.operationalTheme .closingDeliveryCard strong{
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#facc15;
  font-size:24px;
  align-self:end;
}

.appShell.operationalTheme .closingBalanceStatus strong,
.appShell.operationalTheme .closingValeCaixa strong{
  color:#facc15;
  font-size:24px;
}

.appShell.operationalTheme .closingBalanceStatus small,
.appShell.operationalTheme .closingValeCaixa small{
  color:rgba(254,226,226,.78);
}

.appShell.operationalTheme .closingSectionTitle strong,
.appShell.operationalTheme .closingSummaryPanel > span{
  color:#f8f3ff;
}

.appShell.operationalTheme .closingSectionTitle span,
.appShell.operationalTheme .closingMachineResultCard small,
.appShell.operationalTheme .closingLaunchCard small,
.appShell.operationalTheme .closingSummaryPanel p{
  color:rgba(237,233,254,.66);
}

.appShell.operationalTheme .closingSectionTitle em,
.appShell.operationalTheme .closingMachineChecklistHeader span{
  color:#190b25;
  background:linear-gradient(135deg, #ffe66b, #facc15);
  box-shadow:0 8px 18px rgba(250,204,21,.16);
}

.appShell.operationalTheme .closingCompositionGrid label{
  min-height:76px;
  gap:7px;
  padding:12px;
  overflow:hidden;
  border-color:rgba(216,180,254,.22);
  border-radius:16px;
  background:
    radial-gradient(circle at 88% 12%, rgba(192,132,252,.13), transparent 34%),
    linear-gradient(180deg, rgba(68,46,96,.78), rgba(28,16,46,.86));
  box-shadow:
    0 14px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
  grid-template-rows:minmax(28px, auto) 1fr;
  align-content:stretch;
}

.appShell.operationalTheme .closingCompositionGrid label:hover{
  border-color:rgba(216,180,254,.30);
  background:
    radial-gradient(circle at 88% 14%, rgba(192,132,252,.14), transparent 34%),
    linear-gradient(180deg, rgba(58,40,82,.90), rgba(22,14,36,.96));
  box-shadow:
    0 14px 28px rgba(0,0,0,.24),
    0 0 0 3px rgba(168,85,247,.08),
    inset 0 1px 0 rgba(255,255,255,.09);
}

.appShell.operationalTheme .closingCompositionGrid label.confirmed:not(.autoConfirmed){
  border-color:rgba(250,204,21,.68);
  background:
    radial-gradient(circle at 86% 8%, rgba(250,204,21,.30), transparent 34%),
    linear-gradient(180deg, rgba(88,54,98,.98), rgba(36,18,56,.98));
  box-shadow:
    0 18px 34px rgba(0,0,0,.28),
    0 0 0 1px rgba(250,204,21,.18),
    0 0 24px rgba(250,204,21,.10),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.appShell.operationalTheme .closingCompositionGrid label.confirmed:not(.autoConfirmed)::after{
  color:#190b25;
  background:linear-gradient(135deg, #ffe66b, #facc15);
  box-shadow:0 8px 18px rgba(250,204,21,.18);
}

.appShell.operationalTheme .closingCompositionGrid label.autoConfirmed{
  border-color:rgba(216,180,254,.16);
  background:
    radial-gradient(circle at 84% 10%, rgba(168,85,247,.08), transparent 32%),
    linear-gradient(180deg, rgba(46,32,66,.72), rgba(18,13,29,.78));
  box-shadow:
    0 10px 20px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.appShell.operationalTheme .closingLaunchCard.zeroValue,
.appShell.operationalTheme .closingCompositionGrid label.zeroValue{
  border-color:rgba(216,180,254,.09);
  background:
    radial-gradient(circle at 88% 12%, rgba(168,85,247,.035), transparent 34%),
    linear-gradient(180deg, rgba(38,28,54,.48), rgba(18,13,29,.60));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035);
}

.appShell.operationalTheme .closingLaunchCard.zeroValue span,
.appShell.operationalTheme .closingLaunchCard.zeroValue small,
.appShell.operationalTheme .closingLaunchCard.zeroValue strong,
.appShell.operationalTheme .closingCompositionGrid label.zeroValue span,
.appShell.operationalTheme .closingCompositionGrid label.zeroValue small,
.appShell.operationalTheme .closingCompositionGrid label.zeroValue input[data-closing-field]{
  color:rgba(237,233,254,.38);
}

.appShell.operationalTheme .closingCompositionGrid label.autoConfirmed::after{
  color:rgba(237,233,254,.72);
  background:rgba(216,180,254,.14);
}

.appShell.operationalTheme .closingCompositionGrid input[data-closing-field]{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  height:auto;
  padding:0;
  font-size:16px;
  line-height:1;
  overflow:hidden;
  text-overflow:clip;
  border:0;
  color:#facc15;
  background:transparent;
  box-shadow:none;
}

.appShell.operationalTheme .closingCompositionGrid small:empty,
.appShell.operationalTheme .closingCompositionGrid em:empty,
.appShell.operationalTheme .closingCompositionGrid small[hidden],
.appShell.operationalTheme .closingCompositionGrid em[hidden]{
  display:none;
}

.appShell.operationalTheme .closingCompositionGrid span{
  color:#ffffff;
  font-size:12px;
  line-height:1.25;
  letter-spacing:0;
  align-self:start;
}

.appShell.operationalTheme .closingCompositionGrid small,
.appShell.operationalTheme .closingCompositionGrid em{
  color:rgba(237,233,254,.72);
  font-weight:950;
}

.appShell.operationalTheme .closingCompositionGrid input[data-closing-field]:focus{
  border-color:rgba(250,204,21,.58);
  box-shadow:
    0 0 0 3px rgba(250,204,21,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.operationalTheme .closingCompositionGrid input[data-closing-field]:disabled,
.appShell.operationalTheme .closingCompositionGrid input[data-closing-field][readonly]{
  color:#facc15;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
  align-self:end;
}

.appShell.operationalTheme .closingCompositionGrid label:not(.lockedValue) input[data-closing-field]{
  height:34px;
  padding:0 10px;
  border:1px solid rgba(250,204,21,.36);
  border-radius:12px;
  color:#ffffff;
  background:rgba(18,9,31,.56);
  box-shadow:
    0 0 0 1px rgba(250,204,21,.06),
    inset 0 1px 0 rgba(255,255,255,.08);
  text-align:right;
  align-self:end;
}

.appShell.operationalTheme .closingSummaryPanel{
  border-color:rgba(250,204,21,.22);
}

.appShell.operationalTheme .closingSummaryPanel > span{
  color:#fde68a;
}

.appShell.operationalTheme .closingSummaryPanel > strong{
  color:#ffffff;
  text-shadow:0 0 18px rgba(250,204,21,.12);
}

.appShell.operationalTheme .closingSummaryActions .saveAction,
.appShell.operationalTheme #closingSaveAction{
  color:#190b25;
  background:linear-gradient(135deg, #ffe66b, #facc15);
  box-shadow:
    0 14px 30px rgba(250,204,21,.20),
    inset 0 1px 0 rgba(255,255,255,.34);
}

.appShell.operationalTheme .closingSummaryActions .saveAction:disabled,
.appShell.operationalTheme #closingSaveAction:disabled{
  border-color:rgba(216,180,254,.10);
  color:rgba(237,233,254,.34);
  background:
    linear-gradient(180deg, rgba(58,38,82,.30), rgba(22,13,35,.46));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04);
  filter:saturate(.55) brightness(.78);
  cursor:not-allowed;
}

.appShell.operationalTheme .closingSummaryActions .saveAction:not(:disabled),
.appShell.operationalTheme #closingSaveAction:not(:disabled){
  color:#190b25;
  background:linear-gradient(135deg, #ffe66b, #facc15);
  box-shadow:
    0 0 0 1px rgba(250,204,21,.24),
    0 14px 30px rgba(250,204,21,.24),
    0 0 28px rgba(250,204,21,.16),
    inset 0 1px 0 rgba(255,255,255,.36);
}

.appShell.operationalTheme .closingSummaryActions .secondaryAction,
.appShell.operationalTheme #closingReadingReviewAction{
  border-color:rgba(216,180,254,.18);
  color:#f8f3ff;
  background:linear-gradient(180deg, rgba(58,38,82,.72), rgba(22,13,35,.84));
}

body:has(.appShell.operationalTheme) .cashModal{
  background:rgba(12,5,24,.72);
}

body:has(.appShell.operationalTheme) .cashModalCard{
  border-color:rgba(216,180,254,.20);
  background:
    radial-gradient(circle at 22% 0%, rgba(168,85,247,.18), transparent 34%),
    linear-gradient(180deg, rgba(43,28,67,.96), rgba(15,8,27,.98));
  box-shadow:
    0 30px 74px rgba(0,0,0,.48),
    0 0 34px rgba(168,85,247,.14),
    inset 0 1px 0 rgba(255,255,255,.10);
}

body:has(.appShell.operationalTheme) .modalClose{
  border-color:rgba(216,180,254,.20);
  background:rgba(30,18,50,.82);
}

body:has(.appShell.operationalTheme) .modalField input,
body:has(.appShell.operationalTheme) .modalField textarea,
body:has(.appShell.operationalTheme) .modalField select{
  border-color:rgba(216,180,254,.20);
  background:rgba(15,8,27,.64);
}

body:has(.appShell.operationalTheme) .modalField input:focus,
body:has(.appShell.operationalTheme) .modalField textarea:focus,
body:has(.appShell.operationalTheme) .modalField select:focus{
  border-color:rgba(216,180,254,.70);
  box-shadow:
    0 0 0 4px rgba(168,85,247,.16),
    inset 0 1px 0 rgba(255,255,255,.05);
}

body:has(.appShell.operationalTheme) .saveAction{
  color:#ffffff;
  background:linear-gradient(135deg, #c084fc, #9333ea);
  box-shadow:
    0 14px 30px rgba(147,51,234,.24),
    inset 0 1px 0 rgba(255,255,255,.24);
}

body:has(.appShell.operationalTheme) .secondaryAction{
  border-color:rgba(216,180,254,.16);
  color:#f8f3ff;
  background:linear-gradient(180deg, rgba(58,38,82,.70), rgba(22,13,35,.82));
}

.appShell.operationalTheme .saldoCapsula{
  color:#140d1f;
  background:
    linear-gradient(135deg, rgba(250,204,21,.88), rgba(217,119,6,.68));
  box-shadow:
    0 12px 26px rgba(0,0,0,.20),
    0 0 20px rgba(250,204,21,.08),
    inset 0 1px 0 rgba(255,255,255,.28);
}

.appShell.operationalTheme .saldoCapsula[data-total="composicao"]{
  color:#061019;
  background:
    linear-gradient(135deg, rgba(94,234,212,.82), rgba(14,165,233,.64));
  box-shadow:
    0 12px 26px rgba(0,0,0,.20),
    0 0 20px rgba(56,189,248,.08),
    inset 0 1px 0 rgba(255,255,255,.26);
}

@media (hover:hover){
  .appShell.operationalTheme .cashTile:hover{
    border-color:rgba(216,180,254,.32);
    background:
      radial-gradient(circle at 88% 14%, rgba(192,132,252,.15), transparent 34%),
      linear-gradient(180deg, rgba(65,45,90,.96), rgba(25,17,39,.98));
    box-shadow:
      0 18px 36px rgba(0,0,0,.28),
      0 0 22px rgba(168,85,247,.14),
      inset 0 1px 0 rgba(255,255,255,.12);
  }
}

.appShell.machinesTheme{
  background:
    radial-gradient(circle at 42% 42%, rgba(56,189,248,.20), transparent 34%),
    radial-gradient(circle at 72% 104%, rgba(37,99,235,.22), transparent 34%),
    linear-gradient(135deg, #061529 0%, #081d35 46%, #050b16 100%);
}

.appShell.machinesTheme .sidebar{
  border-right-color:rgba(96,165,250,.18);
  background:
    linear-gradient(
      180deg,
      rgba(7,26,50,.76),
      rgba(3,10,22,.58)
    );
  box-shadow:
    18px 0 44px rgba(0,0,0,.18),
    inset -1px 0 0 rgba(125,211,252,.06);
}

/* Maquinas: historico sem coluna operador */
.machineReadingHistoryHeader,
.machineReadingHistoryRow{
  grid-template-columns:
    minmax(84px, .62fr)
    minmax(58px, .42fr)
    minmax(136px, 1.1fr)
    minmax(110px, .78fr)
    minmax(96px, .68fr)
    minmax(82px, .56fr)
    minmax(82px, .56fr)
    minmax(86px, .60fr)
    minmax(74px, .48fr);
}

.appShell.machinesTheme .machineReadingMode{
  min-height:0;
  padding:10px 12px;
  border-color:rgba(125,211,252,.10);
  border-radius:18px;
  background:#061827;
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingTitleLine small,
.appShell.machinesTheme .machineStatus{
  display:none;
}

.appShell.machinesTheme .machineReadingRow::before{
  display:none;
}

.appShell.machinesTheme .machineReadingRow > div:first-child em,
.appShell.machinesTheme .machineReadingRow > div:first-child span{
  color:rgba(226,235,246,.52);
  text-transform:none;
}

.appShell.machinesTheme .machineReadingActions{
  align-content:center;
}

.appShell.machinesTheme .machineReadingActions button:disabled{
  display:none;
}

.appShell.machinesTheme .machineReadingActions button{
  min-height:32px;
}

.appShell.machinesTheme .machineReadingStatus{
  color:rgba(226,235,246,.42);
}

/* Maquinas: historico de leitura em capsula */
.appShell.machinesTheme .machineReadingHistoryHeader{
  position:static;
  top:4px;
  margin:0 0 8px;
  padding:10px 16px;
  border:1px solid rgba(125,211,252,.13);
  border-radius:999px;
  color:rgba(226,235,246,.66);
  background:#0a2540;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 8px 18px rgba(0,0,0,.12);
}

/* Maquinas: card opaco sem degrade interno */
.appShell.machinesTheme .machinesList > .machinePanel,
.appShell.machinesTheme .machineReadingPanel{
  background:#082033;
}

.appShell.machinesTheme .machineReportContent,
.appShell.machinesTheme .machineConfigContent,
.appShell.machinesTheme .machineResultReport{
  background:transparent;
}

.appShell.machinesTheme .machineResultReport .statementEmpty,
.appShell.machinesTheme .machineReportContent .statementEmpty,
.appShell.machinesTheme .machineConfigContent .statementEmpty{
  border-color:rgba(125,211,252,.10);
  background:#061827;
  box-shadow:none;
}

/* Maquinas: um unico card por tras das informacoes */
.appShell.machinesTheme .machinesBoard{
  border:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machinesList{
  border:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machinePanel,
.appShell.machinesTheme .machineReadingPanel{
  padding:clamp(14px, 1.2vw, 20px);
  border:1px solid rgba(125,211,252,.14);
  border-radius:26px;
  background:
    radial-gradient(circle at 18% 0%, rgba(56,189,248,.10), transparent 30%),
    linear-gradient(180deg, rgba(9,24,40,.82), rgba(4,11,21,.88));
  box-shadow:
    0 20px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.appShell.machinesTheme .machineReadingContent,
.appShell.machinesTheme .machineReadingList{
  border:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingRow{
  border-color:rgba(125,211,252,.10);
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingRow:hover{
  background:rgba(125,211,252,.045);
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingRow article,
.appShell.machinesTheme .machineReadingInputMetric{
  background:rgba(3,10,22,.30);
}

.appShell.machinesTheme .machineReadingRow,
.appShell.machinesTheme .machineCard,
.appShell.machinesTheme .machinePlateSwapPanel{
  border-color:rgba(125,211,252,.13);
  background:
    linear-gradient(180deg, rgba(13,28,44,.80), rgba(6,14,24,.88));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04);
}

/* Maquinas: leitura mais limpa, menos luz */
.appShell.machinesTheme .machineReadingRow{
  min-height:84px;
  padding:12px 14px;
  border-color:rgba(125,211,252,.13);
  background:
    linear-gradient(180deg, rgba(13,28,44,.86), rgba(6,14,24,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045);
}

.appShell.machinesTheme .machineReadingRow:hover{
  transform:none;
  border-color:rgba(125,211,252,.24);
  background:
    linear-gradient(180deg, rgba(16,33,51,.90), rgba(7,16,27,.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055);
}

.appShell.machinesTheme .machineReadingRow::after{
  opacity:0;
}

.appShell.machinesTheme .machineReadingRow::before{
  width:5px;
  opacity:.78;
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingTitleLine{
  gap:8px;
}

.appShell.machinesTheme .machineReadingTitleLine strong{
  font-size:clamp(15px, 1.02vw, 18px);
  text-shadow:none;
}

.appShell.machinesTheme .machineReadingTitleLine small,
.appShell.machinesTheme .machineStatus{
  min-height:24px;
  padding:5px 10px;
  border-color:rgba(125,211,252,.16);
  color:rgba(226,235,246,.78);
  background:rgba(15,23,42,.72);
  box-shadow:none;
  font-size:9px;
  letter-spacing:.02em;
}

.appShell.machinesTheme .machineReadingRow.read .machineReadingTitleLine small{
  color:#bbf7d0;
  background:rgba(22,101,52,.38);
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingRow.pending .machineReadingTitleLine small,
.appShell.machinesTheme .machineReadingRow[data-reading-state*="Pendente"] .machineReadingTitleLine small,
.appShell.machinesTheme .machineReadingRow[data-reading-state*="pendente"] .machineReadingTitleLine small{
  color:#fde68a;
  background:rgba(146,64,14,.34);
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingRow.correction .machineReadingTitleLine small{
  color:#fed7aa;
  background:rgba(154,52,18,.34);
}

.appShell.machinesTheme .machineReadingRow > div:first-child em,
.appShell.machinesTheme .machineReadingRow > div:first-child span{
  color:rgba(226,235,246,.50);
  font-size:9px;
  font-weight:800;
}

.appShell.machinesTheme .machineReadingRow article,
.appShell.machinesTheme .machineReadingInputMetric{
  min-height:56px;
  padding:9px 12px;
  border-color:rgba(125,211,252,.12);
  background:rgba(7,17,30,.46);
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingRow article span,
.appShell.machinesTheme .machineReadingInputMetric span{
  color:rgba(226,235,246,.52);
  font-size:9px;
  letter-spacing:.025em;
}

.appShell.machinesTheme .machineReadingRow article strong,
.appShell.machinesTheme .machineReadingInputMetric input{
  color:#f8fbff;
  font-size:clamp(16px, 1.08vw, 21px);
  text-shadow:none;
}

.appShell.machinesTheme .machineReadingActions button{
  min-height:34px;
  border-color:rgba(125,211,252,.13);
  background:rgba(8,18,31,.62);
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingActions .machineReadingSave:not(:disabled){
  border-color:rgba(125,211,252,.30);
  background:linear-gradient(135deg, rgba(103,232,249,.86), rgba(56,189,248,.86));
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingStatus{
  color:rgba(226,235,246,.46);
  font-size:9px;
}

/* Maquinas: sem card/painel externo */
.appShell.machinesTheme .machinesBoard{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.appShell.machinesTheme .machinesBoard::before{
  display:none;
}

/* Maquinas: azul/grafite com acoes ciano */
.appShell.machinesTheme{
  background:
    radial-gradient(circle at 42% 42%, rgba(56,189,248,.20), transparent 34%),
    radial-gradient(circle at 72% 104%, rgba(37,99,235,.22), transparent 34%),
    linear-gradient(135deg, #061529 0%, #081d35 46%, #050b16 100%);
}

.appShell.machinesTheme .sidebar{
  border-right-color:rgba(96,165,250,.18);
  background:
    linear-gradient(180deg, rgba(7,26,50,.76), rgba(3,10,22,.58));
  box-shadow:
    18px 0 44px rgba(0,0,0,.18),
    inset -1px 0 0 rgba(125,211,252,.06);
}

.appShell.machinesTheme .workspace{
  background:
    radial-gradient(circle at 34% 38%, rgba(56,189,248,.13), transparent 34%),
    radial-gradient(circle at 78% 96%, rgba(59,130,246,.11), transparent 32%),
    linear-gradient(135deg, rgba(8,30,58,.18), rgba(3,10,22,.16));
}

.appShell.machinesTheme .machinesBoard{
  border-color:rgba(125,211,252,.13);
  background:
    linear-gradient(135deg, rgba(125,211,252,.08), transparent 34%),
    radial-gradient(circle at 16% 8%, rgba(56,189,248,.16), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(59,130,246,.11), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(8,47,73,.46), transparent 44%),
    linear-gradient(180deg, rgba(4,11,21,.98), rgba(2,6,12,.98));
}

.appShell.machinesTheme .machinePanel,
.appShell.machinesTheme .machineReadingRow,
.appShell.machinesTheme .machineCard,
.appShell.machinesTheme .machinePlateSwapPanel{
  border-color:rgba(125,211,252,.15);
  background:
    linear-gradient(180deg, rgba(18,32,49,.92), rgba(6,13,22,.96));
  box-shadow:
    0 24px 58px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.appShell.machinesTheme .machineSelector,
.appShell.machinesTheme .machineSubSelector,
.appShell.machinesTheme .machineReportSelector{
  border-color:rgba(125,211,252,.18);
  background:
    linear-gradient(180deg, rgba(15,23,42,.88), rgba(3,7,13,.88));
}

.appShell.machinesTheme .machineSelectorItem.active,
.appShell.machinesTheme .machineSelectorItem:hover,
.appShell.machinesTheme .machineSubSelectorItem.active,
.appShell.machinesTheme .machineSubSelectorItem:hover,
.appShell.machinesTheme .machineReportSelectorItem.active,
.appShell.machinesTheme .machineReportSelectorItem:hover,
.appShell.machinesTheme .machineReadingMode button:not(:disabled),
.appShell.machinesTheme .machineReadingActions .machineReadingSave:not(:disabled),
.appShell.machinesTheme .machineModelRow button:first-child:not(:disabled),
.appShell.machinesTheme .machineSavedRow button:first-child:not(:disabled),
.appShell.machinesTheme .machineReadingHistoryAction button:not(:disabled),
.appShell.machinesTheme .machineResultCalendarFooter button:not(:disabled){
  border-color:rgba(125,211,252,.48);
  color:#031019;
  background:linear-gradient(135deg, #67e8f9, #38bdf8);
  box-shadow:
    0 10px 24px rgba(56,189,248,.22),
    inset 0 1px 0 rgba(255,255,255,.44);
}

.appShell.machinesTheme .machineReadingActions button:not(.machineReadingSave),
.appShell.machinesTheme .machineModelRow button:not(:first-child),
.appShell.machinesTheme .machineSavedRow button:not(:first-child){
  border-color:rgba(125,211,252,.16);
  color:#e0f2fe;
  background:linear-gradient(180deg, rgba(30,41,59,.92), rgba(8,13,23,.95));
  box-shadow:
    0 10px 22px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.appShell.machinesTheme .machineReadingSearch,
.appShell.machinesTheme .machinePanelFields label,
.appShell.machinesTheme .machineSavedFilters label,
.appShell.machinesTheme .machineResultFilters label,
.appShell.machinesTheme .machineReadingHistoryFilters label,
.appShell.machinesTheme .machineAverageFilters label,
.appShell.machinesTheme .machineRankingFilters label,
.appShell.machinesTheme .machineShareFilters label{
  border-color:rgba(125,211,252,.16);
  background:rgba(2,8,16,.48);
}

.appShell.machinesTheme .machineCard::before{
  background:
    radial-gradient(circle at 82% 10%, rgba(125,211,252,.13), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 26%);
}

/* Maquinas: limpeza absoluta do fundo depois do tema final */
.appShell.machinesTheme .machinesBoard,
.appShell.machinesTheme .machinePanel,
.appShell.machinesTheme .machineReadingPanel,
.appShell.machinesTheme .machineReadingContent,
.appShell.machinesTheme .machineReadingList,
.appShell.machinesTheme .machinesList{
  border:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machinesBoard{
  border-radius:0;
  overflow:visible;
}

.appShell.machinesTheme .machinesBoard::before,
.appShell.machinesTheme .machineCard::before{
  display:none;
}

.appShell.machinesTheme .machinePanel{
  padding:0;
}

/* Maquinas: painel unico sem segunda tela aparente - EOF */
.appShell.machinesTheme .machineReadingPanel{
  padding:clamp(12px, 1vw, 18px);
  border:1px solid rgba(125,211,252,.08);
  border-radius:24px;
  background:#082033;
  box-shadow:none;
}

.appShell.machinesTheme .machineReadingContent,
.appShell.machinesTheme .machineReadingList{
  background:transparent;
}

.appShell.machinesTheme .machineReadingRow{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border-bottom:1px solid rgba(125,211,252,.11);
}

.appShell.machinesTheme .machineReadingRow:last-child{
  border-bottom:0;
}

.appShell.machinesTheme .machineReadingRow:hover{
  background:rgba(125,211,252,.035);
}

.appShell.machinesTheme .machineReadingRow::before{
  left:0;
  width:4px;
  border-radius:999px;
}

/* Maquinas: card unico tambem em relatorios e configuracoes - EOF */
.appShell.machinesTheme .machinesList > .machinePanel{
  padding:clamp(12px, 1vw, 18px);
  border:1px solid rgba(125,211,252,.08);
  border-radius:24px;
  background:#082033;
  box-shadow:none;
}

.appShell.machinesTheme .machineReportContent,
.appShell.machinesTheme .machineConfigContent,
.appShell.machinesTheme .machineResultReport,
.appShell.machinesTheme .machineSavedList,
.appShell.machinesTheme .machineModelList{
  border:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machineEmbeddedPanel{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machineResultRow,
.appShell.machinesTheme .machineSavedRow,
.appShell.machinesTheme .machineModelRow,
.appShell.machinesTheme .machineDraftRow{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border-bottom:1px solid rgba(125,211,252,.11);
}

.appShell.machinesTheme .machineResultRow:last-child,
.appShell.machinesTheme .machineSavedRow:last-child,
.appShell.machinesTheme .machineModelRow:last-child,
.appShell.machinesTheme .machineDraftRow:last-child{
  border-bottom:0;
}

.appShell.machinesTheme .machineResultRow:hover,
.appShell.machinesTheme .machineSavedRow:hover,
.appShell.machinesTheme .machineModelRow:hover,
.appShell.machinesTheme .machineDraftRow:hover{
  background:rgba(125,211,252,.035);
}

.appShell.machinesTheme .machineResultRow{
  min-height:48px;
  padding:7px 10px;
}

.appShell.machinesTheme .machineResultModelCell{
  gap:2px;
}

.appShell.machinesTheme .machineResultHeader,
.appShell.machinesTheme .machineSavedHeader,
.appShell.machinesTheme .machineModelListHeader{
  background:transparent;
  box-shadow:none;
}

/* Maquinas: override final dos cabecalhos em capsula */
.appShell.machinesTheme .machineResultHeader,
.appShell.machinesTheme .machineSavedHeader,
.appShell.machinesTheme .machineModelListHeader,
.appShell.machinesTheme .machineDraftHeader{
  margin:
    0
    0
    4px;

  padding:
    10px
    16px;

  border:1px solid rgba(125,211,252,.16);
  border-radius:999px;

  color:rgba(218,240,255,.76);
  background:
    linear-gradient(
      180deg,
      rgba(18,58,86,.92),
      rgba(6,29,48,.94)
    );
  box-shadow:
    0 12px 24px rgba(0,10,30,.18),
    inset 0 1px 0 rgba(202,235,255,.12);
}

.appShell.machinesTheme .machineSavedHeader span:last-child,
.appShell.machinesTheme .machineModelListHeader span:last-child,
.appShell.machinesTheme .machineDraftHeader span:last-child{
  text-align:center;
}

.appShell.machinesTheme .machineResultHeader span{
  text-align:right;
}

.appShell.machinesTheme .machineResultHeader span:first-child{
  text-align:left;
}

.appShell.machinesTheme .machineResultHeader span:nth-child(2){
  text-align:right;
}

/* Relatorio resultado: override final para somatorio e retidas negativas */
.appShell.machinesTheme .machineResultTotalRow{
  border:1px solid rgba(255,213,61,.42);
  border-radius:18px;
  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.17),
      rgba(6,29,48,.42)
    );
  box-shadow:
    0 14px 28px rgba(0,10,30,.20),
    inset 0 1px 0 rgba(255,244,176,.18);
}

.appShell.machinesTheme .machineResultTotalRow:hover{
  background:
    linear-gradient(
      180deg,
      rgba(255,213,61,.17),
      rgba(6,29,48,.42)
    );
}

.appShell.machinesTheme .machineResultTotalRow span:first-child{
  color:#ffd53d;
}

.appShell.machinesTheme .machineResultRow .machineResultNegativeValue,
.appShell.machinesTheme .machineResultDetailRow .machineResultNegativeValue,
.appShell.machinesTheme .machineResultTotalRow .machineResultNegativeValue{
  color:#ff5f6d;
  text-shadow:0 0 14px rgba(255,95,109,.26);
}

.appShell.machinesTheme .machineResultRow.negativeRetained,
.appShell.machinesTheme .machineResultDetailRow.negativeRetained{
  border-color:rgba(255,95,109,.18);
}

/* Relatorio resultado: faixa final de somatorio */
.appShell.machinesTheme .machineResultTotalRow{
  min-height:50px;

  border:1px solid rgba(255,213,61,.52);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:
    linear-gradient(
      90deg,
      rgba(255,213,61,.96),
      rgba(214,143,14,.78)
    );
  box-shadow:
    0 16px 34px rgba(179,118,0,.18),
    inset 0 1px 0 rgba(255,244,176,.34);
}

.appShell.machinesTheme .machineResultTotalRow,
.appShell.machinesTheme .machineResultAverageRow{
  cursor:default;
}

.appShell.machinesTheme .machineResultTotalRow:hover{
  background:
    linear-gradient(
      90deg,
      rgba(255,213,61,.96),
      rgba(214,143,14,.78)
    );
}

.appShell.machinesTheme .machineResultAverageRow:hover{
  background:
    linear-gradient(
      90deg,
      rgba(255,213,61,.16),
      rgba(125,211,252,.08)
    );
}

.appShell.machinesTheme .machineResultTotalRow span{
  color:#08111d;
  text-shadow:none;
}

.appShell.machinesTheme .machineResultTotalRow span:first-child,
.appShell.machinesTheme .machineResultTotalRow span:nth-child(5){
  color:#06111d;
  font-weight:1000;
}

.appShell.machinesTheme .machineResultTotalRow .machineResultNegativeValue{
  color:#9b0712;
  text-shadow:none;
}

.appShell.machinesTheme .machineResultTotalRow span:nth-child(5).machineResultNegativeValue{
  color:#9b0712;
}

.appShell.machinesTheme .machineResultAverageRow{
  min-height:24px;
  margin-top:-8px;

  border:1px solid rgba(255,213,61,.52);
  border-top:0;
  border-radius:0 0 16px 16px;
  background:
    linear-gradient(
      90deg,
      rgba(255,213,61,.22),
      rgba(214,143,14,.14)
    );
  box-shadow:none;
}

.appShell.machinesTheme .machineResultAverageRow span{
  color:rgba(203,213,225,.58);

  font-size:11px;
  font-style:italic;
  font-weight:850;
}

.appShell.machinesTheme .machineResultAverageRow span:first-child{
  color:rgba(203,213,225,.62);
  font-style:italic;
  text-align:left;
}

.appShell.machinesTheme .machineResultAverageRow span:nth-child(5){
  color:rgba(203,213,225,.64);
  font-weight:900;
}

/* Relatorio resultado: scroll final do painel */
.appShell.machinesTheme .machineResultReport{
  min-height:0;
  max-height:none;
  padding-right:4px;

  overflow:visible !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}

.appShell.machinesTheme .machineReportContent,
.appShell.machinesTheme .machinesList > .machinePanel{
  min-height:0;
}

.appShell.machinesTheme .machineResultReport::-webkit-scrollbar{
  width:8px;
}

.appShell.machinesTheme .machineResultReport::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(125,211,252,.36);
}

/* Relatorio resultado: scroll no card/tela, nao na tabela */
.appShell.machinesTheme .machinesBoard{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}

.appShell.machinesTheme .machinesList{
  min-height:0;
  overflow:visible;
}

.appShell.machinesTheme .machineReportContent,
.appShell.machinesTheme .machineReportContent .machinePanel,
.appShell.machinesTheme .machineResultReport{
  min-height:0;
  max-height:none;
  overflow:visible !important;
}

.appShell.machinesTheme .machineReportContent > .machinePanel{
  padding:clamp(12px, 1vw, 18px);
  border:1px solid rgba(125,211,252,.08);
  border-radius:24px;
  background:#082033;
}

/* Relatorio resultado: card acompanha todo o conteudo */
.appShell.machinesTheme .machineReportContent > .machinePanel{
  padding:0;
  border:0;
  background:transparent;
}

.appShell.machinesTheme .machineResultReport{
  margin-top:4px;

  padding:
    clamp(12px, 1vw, 18px)
    clamp(14px, 1.15vw, 20px)
    clamp(14px, 1.2vw, 22px);

  border:1px solid rgba(125,211,252,.08);
  border-radius:24px;

  background:#082033;
  box-shadow:none;
}

/* Relatorio resultado: surface unico final */
.appShell.machinesTheme .machineResultSurface{
  margin-top:4px;

  padding:
    clamp(12px, 1vw, 18px)
    clamp(14px, 1.15vw, 20px)
    clamp(14px, 1.2vw, 22px);

  display:grid;
  gap:12px;

  border:1px solid rgba(125,211,252,.08);
  border-radius:24px;

  background:#082033;
  box-shadow:none;
}

.appShell.machinesTheme .machineResultSurface .machineResultReport{
  margin-top:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

/* Maquinas: card pai unico e consistente em todas as abas */
.appShell.machinesTheme .machinesList > .machinePanel{
  box-sizing:border-box;
  min-height:max-content;
  height:auto;

  padding:clamp(12px, 1vw, 18px) !important;

  border:1px solid rgba(125,211,252,.08) !important;
  border-radius:24px !important;

  display:grid;
  align-content:start;
  gap:16px;

  background:#082033 !important;
  box-shadow:none !important;

  overflow:visible !important;
}

.appShell.machinesTheme .machineReportContent > .machinePanel,
.appShell.machinesTheme .machineConfigContent > .machinePanel,
.appShell.machinesTheme .machineEmbeddedPanel{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.appShell.machinesTheme .machineResultSurface{
  margin-top:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.appShell.machinesTheme .machineResultSurface .machineResultReport{
  margin-top:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

/* Maquinas: card real do conteudo de relatorios */
.appShell.machinesTheme .machinesList > .machinePanel:has(.machineReportContent),
.appShell.machinesTheme .machinesList > .machineReportsPanel{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.appShell.machinesTheme .machineReportContent{
  box-sizing:border-box;
  width:100%;

  padding:clamp(12px, 1vw, 18px) !important;

  display:grid !important;
  align-content:start;
  gap:14px;

  border:1px solid rgba(125,211,252,.08) !important;
  border-radius:24px !important;

  background:#082033 !important;
  box-shadow:none !important;

  overflow:visible !important;
}

.appShell.machinesTheme .machineReportContent > .machinePanel,
.appShell.machinesTheme .machineReportContent .machineEmbeddedPanel,
.appShell.machinesTheme .machineReportContent .machineResultSurface,
.appShell.machinesTheme .machineReportContent .machineResultReport{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Relatorios: card pai real acompanha todo o conteudo */
.appShell.machinesTheme .machinesList > .machinePanel:has(.machineReportContent),
.appShell.machinesTheme .machinesList > .machineReportsPanel{
  box-sizing:border-box;
  min-height:max-content;
  height:auto;

  padding:clamp(12px, 1vw, 18px) !important;

  border:1px solid rgba(125,211,252,.08) !important;
  border-radius:24px !important;

  display:grid !important;
  align-content:start;
  gap:16px;

  background:#082033 !important;
  box-shadow:none !important;

  overflow:visible !important;
}

.appShell.machinesTheme .machineReportsPanel .machineReportContent,
.appShell.machinesTheme .machineReportsPanel .machineReportContent > .machinePanel,
.appShell.machinesTheme .machineReportsPanel .machineEmbeddedPanel,
.appShell.machinesTheme .machineReportsPanel .machineResultSurface,
.appShell.machinesTheme .machineReportsPanel .machineResultReport{
  min-height:0 !important;
  max-height:none !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.appShell.machinesTheme .machineReportsPanel .machineReportContent{
  display:grid !important;
  align-content:start;
  gap:14px;
  overflow:visible !important;
}

.appShell.machinesTheme .machineReportsPanel .machineResultReport,
.appShell.machinesTheme .machineReportsPanel .machineRankingReport,
.appShell.machinesTheme .machineReportsPanel .machineShareReport{
  display:grid;
  align-content:start;
}

.appShell.machinesTheme .machineReportsPanel .machineResultReport > *,
.appShell.machinesTheme .machineReportsPanel .machineRankingReport > *,
.appShell.machinesTheme .machineReportsPanel .machineShareReport > *{
  position:relative;
}

/* Relatorios: a lista precisa crescer pelo conteudo; o scroll fica na tela */
.appShell.machinesTheme .machinesBoard:has(.machineReportsPanel){
  grid-template-rows:auto auto !important;
  align-content:start !important;
  overflow-y:auto !important;
}

.appShell.machinesTheme .machinesBoard:has(.machineReportsPanel) .machinesList{
  height:auto !important;
  max-height:none !important;
  align-self:start !important;
  overflow:visible !important;
}

.appShell.machinesTheme .machinesBoard:has(.machineReportsPanel) .machineReportsPanel,
.appShell.machinesTheme .machinesBoard:has(.machineReportsPanel) .machineReportContent,
.appShell.machinesTheme .machinesBoard:has(.machineReportsPanel) .machineEmbeddedPanel,
.appShell.machinesTheme .machinesBoard:has(.machineReportsPanel) .machineResultSurface,
.appShell.machinesTheme .machinesBoard:has(.machineReportsPanel) .machineResultReport{
  height:auto !important;
  max-height:none !important;
  align-self:start !important;
  overflow:visible !important;
}

/* Operacional: grafite champagne premium */
.appShell.registryTheme{
  background:
    radial-gradient(circle at 20% 8%, rgba(245,158,11,.12), transparent 32%),
    radial-gradient(circle at 82% 18%, rgba(250,204,21,.07), transparent 28%),
    linear-gradient(180deg, #1f1b16 0%, #14120f 48%, #090806 100%) !important;
}

.appShell.registryTheme .sidebar{
  border-right-color:rgba(250,204,21,.14) !important;
  background:
    linear-gradient(180deg, rgba(35,30,22,.88), rgba(14,12,9,.72)) !important;
  box-shadow:
    18px 0 44px rgba(0,0,0,.20),
    inset -1px 0 0 rgba(250,204,21,.07) !important;
}

.appShell.registryTheme .workspace{
  background:
    radial-gradient(circle at 28% 18%, rgba(245,158,11,.10), transparent 34%),
    radial-gradient(circle at 78% 88%, rgba(250,204,21,.055), transparent 30%),
    linear-gradient(135deg, rgba(40,34,24,.28), rgba(12,10,7,.34)) !important;
}

.appShell.registryTheme .registryHeader,
.appShell.registryTheme .registryTabs,
.appShell.registryTheme .registryClientFilters,
.appShell.registryTheme .registryUserFilters,
.appShell.registryTheme .registryEntryPanel,
.appShell.registryTheme .registryCard,
.appShell.registryTheme .settingsPanel,
.appShell.registryTheme .noteCard,
.appShell.registryTheme .helpCard,
.appShell.registryTheme .adminPanel{
  border-color:rgba(250,204,21,.14) !important;
  background:
    linear-gradient(180deg, rgba(42,36,27,.92), rgba(17,15,12,.96)) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.appShell.registryTheme .registryHeader{
  background:
    linear-gradient(135deg, rgba(245,158,11,.18), rgba(250,204,21,.08)) !important;
}

.appShell.registryTheme .registryClientFilters label,
.appShell.registryTheme .registryUserFilters label,
.appShell.registryTheme .registryForm label{
  border-color:rgba(250,204,21,.13) !important;
  background:rgba(12,10,7,.48) !important;
}

.appShell.registryTheme .registryTab.active,
.appShell.registryTheme .registryTab:hover,
.appShell.registryTheme .registryCardActions button[data-action="edit"],
.appShell.registryTheme .registryForm .saveAction,
.appShell.registryTheme .settingsSaveAction,
.appShell.registryTheme .noteActions button:first-child{
  color:#1f1607 !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
}

.appShell.registryTheme .navItem.active,
.appShell.registryTheme .navItem:hover{
  background:rgba(250,204,21,.12) !important;
}

.appShell.registryTheme .navItem.active .navIcon,
.appShell.registryTheme .navItem:hover .navIcon{
  color:#ffd53d !important;
}

/* Operacional cadastros: tabs limpas e cards no padrao champagne */
.appShell.registryTheme .registryTabs,
.appShell.registryTheme .registryClientFilters,
.appShell.registryTheme .registryUserFilters{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.appShell.registryTheme .registryBoard{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.appShell.registryTheme .registryEntryPanel{
  position:relative;
  padding:12px !important;
  border:1px solid rgba(250,204,21,.12) !important;
  border-radius:24px !important;
  background:
    linear-gradient(180deg, rgba(31,26,19,.82), rgba(12,10,7,.90)) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.appShell.registryTheme .registryPanelCount{
  position:absolute;
  top:14px;
  right:16px;
  z-index:3;

  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(250,204,21,.16);
  border-radius:999px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  color:rgba(255,255,255,.76);
  background:rgba(12,10,7,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);

  font-size:11px;
  font-weight:950;
  white-space:nowrap;
  pointer-events:none;
}

.appShell.registryTheme .registryClientFilters,
.appShell.registryTheme .registryUserFilters{
  padding-right:clamp(138px, 14vw, 190px) !important;
}

/* Sem halo externo nos botoes principais de cadastro/configuracao */
.appShell.registryTheme .registryForm .saveAction,
.appShell.registryTheme .settingsSaveAction,
.appShell.machinesTheme .settingsSaveAction,
.appShell.machinesTheme .machineModelActions .saveAction,
.appShell.machinesTheme .machinePlateSwapActions .saveAction,
.appShell.machinesTheme .machineSavedRow button:first-child{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34) !important;
}

.appShell.registryTheme .registryForm .saveAction:hover,
.appShell.registryTheme .settingsSaveAction:hover,
.appShell.machinesTheme .settingsSaveAction:hover,
.appShell.machinesTheme .machineModelActions .saveAction:hover,
.appShell.machinesTheme .machinePlateSwapActions .saveAction:hover,
.appShell.machinesTheme .machineSavedRow button:first-child:hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38) !important;
}

/* Operacional: alinhar configuracoes, notas, ajuda e admin ao padrao de cadastros */
.appShell.registryTheme .settingsHeader,
.appShell.registryTheme .adminBoard .settingsHeader{
  display:none !important;
}

.appShell.registryTheme .settingsBoard,
.appShell.registryTheme .notesBoard,
.appShell.registryTheme .helpBoard,
.appShell.registryTheme .adminBoard{
  margin-top:22px !important;
  padding:0 6px clamp(14px, 2.2vh, 24px) 0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  gap:16px !important;
  align-content:start !important;
  overflow-y:auto !important;
}

.appShell.registryTheme .settingsBoard,
.appShell.registryTheme .notesBoard,
.appShell.registryTheme .adminBoard{
  grid-template-rows:auto auto auto !important;
}

.appShell.registryTheme .adminBoard > .adminUnitsPanel{
  min-height:max-content !important;
  height:max-content !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
}

.appShell.registryTheme .adminBoard > .adminUnitsPanel[hidden]{
  display:none !important;
}

.appShell.registryTheme .notesBoard{
  grid-template-rows:auto auto minmax(0, 1fr) !important;
}

.appShell.registryTheme .helpBoard{
  grid-template-rows:auto auto minmax(0, 1fr) !important;
}

.appShell.registryTheme .settingsSelector,
.appShell.registryTheme .adminTabs{
  min-height:46px;
  padding:0 !important;
  border:0 !important;
  border-radius:999px;
  display:grid;
  gap:10px;
  background:transparent !important;
  box-shadow:none !important;
}

.appShell.registryTheme .settingsSelector{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.appShell.registryTheme .adminTabs{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.appShell.registryTheme .settingsSelectorButton,
.appShell.registryTheme .adminTabs button{
  min-height:46px;
  border:1px solid rgba(250,204,21,.13) !important;
  border-radius:999px;
  color:rgba(255,255,255,.80) !important;
  background:rgba(12,10,7,.38) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
  animation:none !important;
  transition:none !important;
}

.appShell.registryTheme .settingsSelectorButton.active,
.appShell.registryTheme .adminTabs button.active{
  color:#1f1607 !important;
  border-color:rgba(250,204,21,.58) !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
  box-shadow:
    0 12px 28px rgba(250,204,21,.18),
    inset 0 1px 0 rgba(255,255,255,.48) !important;
}

.appShell.registryTheme .settingsSelectorButton:hover:not(.active),
.appShell.registryTheme .adminTabs button:hover:not(.active){
  color:#fff !important;
  border-color:rgba(250,204,21,.30) !important;
  background:rgba(26,21,14,.68) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.appShell.registryTheme .settingsPanel,
.appShell.registryTheme .notesForm,
.appShell.registryTheme .helpIntro,
.appShell.registryTheme .adminGrid,
.appShell.registryTheme .licenseMasterPanel{
  padding:12px !important;
  border:1px solid rgba(250,204,21,.12) !important;
  border-radius:24px !important;
  background:
    linear-gradient(180deg, rgba(31,26,19,.82), rgba(12,10,7,.90)) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.appShell.registryTheme .settingsSection{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.appShell.registryTheme .settingsSectionGrid,
.appShell.registryTheme .adminFormGrid{
  gap:12px;
}

.appShell.registryTheme .settingsField,
.appShell.registryTheme .notesForm label{
  border-color:rgba(250,204,21,.13) !important;
  background:rgba(12,10,7,.48) !important;
}

.appShell.registryTheme .notesForm textarea{
  border-color:rgba(250,204,21,.13) !important;
  background:rgba(12,10,7,.48) !important;
  box-shadow:none !important;
}

.appShell.registryTheme .notesForm textarea:focus{
  border-color:rgba(250,204,21,.44) !important;
  box-shadow:0 0 0 3px rgba(250,204,21,.10) !important;
}

.appShell.registryTheme .noteCard,
.appShell.registryTheme .helpCard,
.appShell.registryTheme .licenseStatusCard,
.appShell.registryTheme .licensePlanOption,
.appShell.registryTheme .adminPanel{
  border-color:rgba(250,204,21,.12) !important;
  background:
    linear-gradient(180deg, rgba(33,28,21,.88), rgba(13,11,8,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.appShell.registryTheme .licensePlanOption.active,
.appShell.registryTheme .licensePlanOption:hover{
  border-color:rgba(250,204,21,.55) !important;
  background:
    linear-gradient(180deg, rgba(50,42,28,.94), rgba(24,19,12,.96)) !important;
}

.appShell.registryTheme .notesForm .saveAction,
.appShell.registryTheme .settingsSaveAction,
.appShell.registryTheme .licenseRenewAction{
  color:#1f1607 !important;
  border:1px solid rgba(250,204,21,.55) !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34) !important;
}

.appShell.registryTheme .licenseHistoryAction,
.appShell.registryTheme .noteActions button{
  border:1px solid rgba(250,204,21,.14) !important;
  color:#fff !important;
  background:rgba(250,204,21,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.appShell.registryTheme .noteActions .noteDeleteAction{
  border-color:rgba(255,255,255,.12) !important;
  color:rgba(255,255,255,.82) !important;
  background:rgba(255,255,255,.07) !important;
}

/* Operacional: modais de licenca no tema grafite champagne */
body:has(.appShell.registryTheme) .licenseRenewalModal{
  background:
    radial-gradient(circle at 20% 8%, rgba(245,158,11,.14), transparent 32%),
    radial-gradient(circle at 82% 18%, rgba(250,204,21,.08), transparent 28%),
    rgba(9,8,6,.78) !important;
  backdrop-filter:blur(18px);
}

body:has(.appShell.registryTheme) .licenseRenewalCard{
  border-color:rgba(250,204,21,.16) !important;
  background:
    linear-gradient(180deg, rgba(31,26,19,.96), rgba(12,10,7,.98)) !important;
  box-shadow:
    0 30px 72px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
}

body:has(.appShell.registryTheme) .licenseRenewalCard .modalClose{
  border:1px solid rgba(250,204,21,.16) !important;
  color:#fff !important;
  background:rgba(12,10,7,.62) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body:has(.appShell.registryTheme) .licenseRenewalCard .modalEyebrow{
  color:#ffd53d !important;
}

body:has(.appShell.registryTheme) .licenseRenewalCard h2{
  color:#fff !important;
}

body:has(.appShell.registryTheme) .licenseRenewalSummary,
body:has(.appShell.registryTheme) .licensePaymentStatus,
body:has(.appShell.registryTheme) .licenseRenewalHistory{
  border-color:rgba(250,204,21,.14) !important;
  background:
    linear-gradient(180deg, rgba(42,36,27,.74), rgba(17,15,12,.86)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body:has(.appShell.registryTheme) .licenseRenewalSummary strong,
body:has(.appShell.registryTheme) .licensePaymentStatus strong{
  color:#ffd53d !important;
}

body:has(.appShell.registryTheme) .licensePixCopyField > span,
body:has(.appShell.registryTheme) .licensePaymentStatus span,
body:has(.appShell.registryTheme) .licenseRenewalSummary span,
body:has(.appShell.registryTheme) .licenseRenewalSummary small{
  color:rgba(255,255,255,.68) !important;
}

body:has(.appShell.registryTheme) .licensePixCopyRow textarea{
  border:1px solid rgba(250,204,21,.14) !important;
  color:#fff !important;
  background:rgba(12,10,7,.58) !important;
  box-shadow:none !important;
}

body:has(.appShell.registryTheme) .licensePixCopyRow button{
  border:1px solid rgba(250,204,21,.14) !important;
  color:#fff !important;
  background:rgba(250,204,21,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body:has(.appShell.registryTheme) .licensePaymentStatus small{
  color:#1f1607 !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34) !important;
}

body:has(.appShell.registryTheme) .licenseRenewalRow{
  border-color:rgba(250,204,21,.12) !important;
  background:
    linear-gradient(180deg, rgba(33,28,21,.88), rgba(13,11,8,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body:has(.appShell.registryTheme) .licenseRenewalRow span,
body:has(.appShell.registryTheme) .licenseRenewalRow em,
body:has(.appShell.registryTheme) .licenseRenewalEmpty{
  color:rgba(255,255,255,.68) !important;
}

body:has(.appShell.registryTheme) .registryPermissionsModal{
  background:rgba(9,8,6,.76) !important;
  backdrop-filter:blur(18px);
}

body:has(.appShell.registryTheme) .registryPermissionsCard{
  border-color:rgba(250,204,21,.18) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(245,158,11,.14), transparent 34%),
    linear-gradient(180deg, rgba(42,36,27,.98), rgba(13,11,8,.99)) !important;
  box-shadow:
    0 30px 74px rgba(0,0,0,.50),
    0 0 34px rgba(250,204,21,.08),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body:has(.appShell.registryTheme) .registryPermissionsCard .modalClose{
  border-color:rgba(250,204,21,.18) !important;
  color:#fff !important;
  background:rgba(22,18,12,.86) !important;
}

body:has(.appShell.registryTheme) .registryPermissionsCard .modalEyebrow{
  color:#ffd53d !important;
}

body:has(.appShell.registryTheme) .registryPermissionsNote,
body:has(.appShell.registryTheme) .permissionProfileGroup > span{
  color:rgba(255,255,255,.64) !important;
}

body:has(.appShell.registryTheme) .permissionProfileTabs,
body:has(.appShell.registryTheme) .permissionProfileGroup{
  border-color:rgba(250,204,21,.13) !important;
  background:rgba(12,10,7,.48) !important;
}

body:has(.appShell.registryTheme) .permissionProfileGroup{
  background:transparent !important;
}

body:has(.appShell.registryTheme) .permissionProfileTabs button{
  color:#fff !important;
}

body:has(.appShell.registryTheme) .permissionProfileTabs button.active,
body:has(.appShell.registryTheme) .permissionProfileTabs button:hover{
  color:#1f1607 !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
}

body:has(.appShell.registryTheme) .permissionProfileGroup label{
  border-color:rgba(250,204,21,.12) !important;
  background:rgba(255,255,255,.035) !important;
}

body:has(.appShell.registryTheme) .permissionProfileGroup label:has(input:checked){
  border-color:rgba(250,204,21,.44) !important;
  color:#1f1607 !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
}

body:has(.appShell.registryTheme) .permissionProfileGroup label[data-recommended="false"]:has(input:checked){
  border-color:rgba(255,236,179,.46) !important;
  color:#2b1f08 !important;
  background:linear-gradient(135deg, #fff4c4, #e6b84f) !important;
}

body:has(.appShell.registryTheme) .permissionProfileGroup label:has(input:not(:checked)){
  color:rgba(255,255,255,.42) !important;
}

body:has(.appShell.registryTheme) .registryPermissionsCard .modalActions button:first-child{
  border-color:rgba(250,204,21,.16) !important;
  color:#fff !important;
  background:rgba(255,255,255,.06) !important;
}

body:has(.appShell.registryTheme) .registryPermissionsCard .modalActions button:last-child{
  color:#1f1607 !important;
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
  box-shadow:
    0 14px 30px rgba(250,204,21,.18),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
}

/* Configuracoes: historico logs sem card intermediario */
.appShell.registryTheme .settingsLoginHistory{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.appShell.registryTheme .settingsLoginHistoryTop{
  position:sticky;
  top:0;
  z-index:4;
  padding:0 !important;
  border:0 !important;
  background:
    linear-gradient(180deg, rgba(31,26,19,.98), rgba(31,26,19,.92)) !important;
  box-shadow:none !important;
}

.appShell.registryTheme .settingsLogLimit{
  border-color:rgba(250,204,21,.13) !important;
  background:rgba(12,10,7,.48) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.appShell.registryTheme .settingsLoginHistoryList{
  overflow:visible !important;
}

.appShell.registryTheme .settingsLoginHistoryHeader{
  position:sticky;
  top:58px;
  z-index:3;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(250,204,21,.12);
  border-radius:999px;
  color:rgba(255,255,255,.62) !important;
  background:rgba(12,10,7,.92);
  backdrop-filter:blur(10px);
}

.appShell.registryTheme .settingsLoginHistoryRow,
.appShell.registryTheme .settingsLoginHistoryEmpty{
  border-color:rgba(250,204,21,.12) !important;
  background:
    linear-gradient(180deg, rgba(33,28,21,.88), rgba(13,11,8,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
}

/* Configuracoes: historico logs cresce pelo conteudo */
.appShell.registryTheme .settingsBoard:has(.settingsLoginHistory:not([hidden])){
  grid-template-rows:auto auto !important;
  align-content:start !important;
  overflow-y:auto !important;
}

.appShell.registryTheme .settingsBoard:has(.settingsLoginHistory:not([hidden])) .settingsPanel,
.appShell.registryTheme .settingsBoard:has(.settingsLoginHistory:not([hidden])) .settingsLoginHistory,
.appShell.registryTheme .settingsBoard:has(.settingsLoginHistory:not([hidden])) .settingsLoginHistoryList{
  height:auto !important;
  max-height:none !important;
  align-self:start !important;
  overflow:visible !important;
}

.appShell.registryTheme .settingsBoard:has(.settingsLoginHistory:not([hidden])) .licenseMasterPanel[hidden]{
  display:none !important;
}

/* Configuracoes: manter o painel do historico visivel durante o scroll */
.appShell.registryTheme .settingsPanel:has(.settingsLoginHistory:not([hidden])){
  position:relative;
  overflow:visible !important;
}

.appShell.registryTheme .settingsBoard:has(.settingsLoginHistory:not([hidden])) .settingsLoginHistoryTop{
  top:0;
  z-index:12;
  min-height:58px;
  margin:0 0 10px !important;
  padding:0 0 10px !important;
  border-radius:22px 22px 14px 14px;
  background:
    linear-gradient(180deg, #1f1a13 0%, #18140f 62%, #120f0b 100%) !important;
  box-shadow:
    0 14px 28px rgba(0,0,0,.40),
    inset 0 -1px 0 rgba(250,204,21,.08) !important;
}

.appShell.registryTheme .settingsBoard:has(.settingsLoginHistory:not([hidden])) .settingsLoginHistoryHeader{
  top:58px;
  z-index:11;
  margin-bottom:10px;
  background:
    linear-gradient(180deg, #120f0b, #0c0a07) !important;
  box-shadow:
    0 12px 24px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.appShell.registryTheme .registryTabs{
  padding:0 !important;
  gap:10px;
}

.appShell.registryTheme .registryTab{
  min-height:46px;
  border:1px solid rgba(250,204,21,.13);
  border-radius:999px;
  color:rgba(255,255,255,.80);
  background:rgba(12,10,7,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:
    background .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    color .16s ease;
}

.appShell.registryTheme .registryTab.active{
  color:#1f1607 !important;
  border-color:rgba(250,204,21,.58);
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
  box-shadow:
    0 12px 28px rgba(250,204,21,.18),
    inset 0 1px 0 rgba(255,255,255,.48);
}

.appShell.registryTheme .registryTab:hover:not(.active){
  color:#fff !important;
  border-color:rgba(250,204,21,.30);
  background:rgba(26,21,14,.68) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.registryTheme .registryClientStatusTabs button,
.appShell.registryTheme .registryUserStatusTabs button,
.appShell.registryTheme .registryCard button{
  border:1px solid rgba(250,204,21,.13);
  color:rgba(255,255,255,.84);
  background:rgba(12,10,7,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.appShell.registryTheme .registryClientStatusTabs button.active,
.appShell.registryTheme .registryUserStatusTabs button.active,
.appShell.registryTheme .registryCardActions button[data-action="edit"]{
  color:#1f1607 !important;
  border-color:rgba(250,204,21,.55);
  background:linear-gradient(135deg, #fde68a, #ffd53d) !important;
  box-shadow:0 10px 24px rgba(250,204,21,.16);
}

.appShell.registryTheme .registryClientStatusTabs button:hover:not(.active),
.appShell.registryTheme .registryUserStatusTabs button:hover:not(.active){
  color:#fff !important;
  border-color:rgba(250,204,21,.30);
  background:rgba(26,21,14,.68) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.appShell.registryTheme .registryCardActions button[data-action="details"]{
  color:#fff !important;
  border-color:rgba(250,204,21,.14);
  background:rgba(250,204,21,.10) !important;
}

.appShell.registryTheme .registryCardActions button[data-action="reset-password"]{
  color:#fff !important;
  border-color:rgba(250,204,21,.14);
  background:rgba(250,204,21,.10) !important;
}

.appShell.registryTheme .registryCardActions button[data-action="details"]:hover{
  border-color:rgba(250,204,21,.30);
  background:rgba(250,204,21,.16) !important;
}

.appShell.registryTheme .registryCardActions button[data-action="reset-password"]:hover{
  border-color:rgba(250,204,21,.30);
  background:rgba(250,204,21,.16) !important;
}

.appShell.registryTheme .registryCard{
  border-color:rgba(250,204,21,.12) !important;
  background:
    linear-gradient(180deg, rgba(33,28,21,.88), rgba(13,11,8,.94)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055) !important;
  animation:none !important;
  transition:none !important;
}

.appShell.registryTheme .registryCard.clientCard:hover,
.appShell.registryTheme .registryCard:hover{
  border-color:rgba(250,204,21,.22) !important;
  background:
    linear-gradient(180deg, rgba(36,31,23,.90), rgba(15,13,10,.95)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  transform:none !important;
}

.appShell.registryTheme .registryCard::before,
.appShell.registryTheme .registryCard::after{
  animation:none !important;
  transition:none !important;
}

/* Maquinas: seletor marcado e botoes inativos apagados */
.appShell.machinesTheme .machineSelector,
.appShell.machinesTheme .machineSubSelector,
.appShell.machinesTheme .machineReportSelector{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.appShell.machinesTheme .machinesBoard{
  padding:0 6px clamp(14px, 2.2vh, 24px) 0 !important;
  gap:16px !important;
}

.appShell.machinesTheme .machinesList{
  padding:0 !important;
}

.appShell.machinesTheme .machineSelector{
  padding:0 !important;
  gap:10px;
}

.appShell.machinesTheme .machineSelectorItem,
.appShell.machinesTheme .machineSubSelectorItem,
.appShell.machinesTheme .machineReportSelectorItem{
  min-height:46px;
  border:1px solid rgba(125,211,252,.16);
  border-radius:999px;
  color:rgba(226,235,246,.78);
  background:rgba(3,12,22,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  animation:none !important;
  transition:none !important;
}

.appShell.machinesTheme .machineSelectorItem.active,
.appShell.machinesTheme .machineSubSelectorItem.active,
.appShell.machinesTheme .machineReportSelectorItem.active{
  color:#031019 !important;
  border-color:rgba(56,189,248,.52);
  background:linear-gradient(135deg, #99f6e4, #38bdf8) !important;
  box-shadow:
    0 12px 28px rgba(56,189,248,.18),
    inset 0 1px 0 rgba(255,255,255,.46);
}

.appShell.machinesTheme .machineSelectorItem:hover:not(.active),
.appShell.machinesTheme .machineSubSelectorItem:hover:not(.active),
.appShell.machinesTheme .machineReportSelectorItem:hover:not(.active){
  color:#f8fbff;
  border-color:rgba(125,211,252,.28);
  background:rgba(8,24,39,.66) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  transform:none !important;
}

.appShell.machinesTheme .machineSelectorItem::before,
.appShell.machinesTheme .machineSelectorItem::after,
.appShell.machinesTheme .machineSubSelectorItem::before,
.appShell.machinesTheme .machineSubSelectorItem::after,
.appShell.machinesTheme .machineReportSelectorItem::before,
.appShell.machinesTheme .machineReportSelectorItem::after{
  animation:none !important;
  transition:none !important;
}

/* Sidebar: icones por area, texto branco e hover discreto */
.sidebar .navItem,
.sidebar .sidebarUnitsAction{
  color:#fff !important;
  background:transparent !important;
  box-shadow:none !important;
  transition:
    background .16s ease,
    box-shadow .16s ease,
    border-color .16s ease !important;
}

.sidebar .navItem > span:not(.navIcon):not(.navBadge),
.sidebar .sidebarUnitsAction > span:not(.navIcon){
  color:#fff !important;
}

.sidebar .navItem .navBadge{
  color:#120d05 !important;
}

.sidebar .navIcon{
  opacity:1;
  transition:
    color .16s ease,
    text-shadow .16s ease !important;
}

.sidebar .navGroupCash .navIcon{
  color:#ff6fd8 !important;
  text-shadow:0 0 14px rgba(255,111,216,.34) !important;
}

.appShell .sidebar .navGroupCash .navItem.active .navIcon,
.appShell .sidebar .navGroupCash .navItem:hover .navIcon{
  color:#ff6fd8 !important;
  text-shadow:0 0 16px rgba(255,111,216,.40) !important;
}

.sidebar .navGroupControl .navIcon{
  color:#6fc8ff !important;
  text-shadow:0 0 14px rgba(111,200,255,.34) !important;
}

.appShell .sidebar .navGroupControl .navItem.active .navIcon,
.appShell .sidebar .navGroupControl .navItem:hover .navIcon{
  color:#6fc8ff !important;
  text-shadow:0 0 16px rgba(111,200,255,.40) !important;
}

.sidebar .navGroupAnalysis .navIcon{
  color:#7fffd4 !important;
  text-shadow:0 0 14px rgba(127,255,212,.30) !important;
}

.appShell .sidebar .navGroupAnalysis .navItem.active .navIcon,
.appShell .sidebar .navGroupAnalysis .navItem:hover .navIcon{
  color:#7fffd4 !important;
  text-shadow:0 0 16px rgba(127,255,212,.38) !important;
}

.sidebar .navGroupAdmin .navIcon,
.sidebar .sidebarUnitsAction .navIcon{
  color:#ffd53d !important;
  text-shadow:0 0 14px rgba(250,204,21,.28) !important;
}

.appShell .sidebar .navGroupAdmin .navItem.active .navIcon,
.appShell .sidebar .navGroupAdmin .navItem:hover .navIcon,
.appShell .sidebar .sidebarUnitsAction.active .navIcon,
.appShell .sidebar .sidebarUnitsAction:hover .navIcon{
  color:#ffd53d !important;
  text-shadow:0 0 16px rgba(250,204,21,.34) !important;
}

.sidebar .navItem.danger .navIcon{
  color:#ff7d9a !important;
  text-shadow:0 0 14px rgba(255,70,110,.34) !important;
}

.appShell .sidebar .navItem.danger.active .navIcon,
.appShell .sidebar .navItem.danger:hover .navIcon{
  color:#ff7d9a !important;
  text-shadow:0 0 16px rgba(255,70,110,.40) !important;
}

.sidebar .navItem:hover:not(:disabled):not(.locked),
.sidebar .sidebarUnitsAction:hover{
  background:rgba(255,255,255,.07) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.sidebar .navGroupCash .navItem.active{
  background:rgba(255,111,216,.13) !important;
  box-shadow:inset 3px 0 0 rgba(255,111,216,.86) !important;
}

.sidebar .navGroupControl .navItem.active{
  background:rgba(111,200,255,.13) !important;
  box-shadow:inset 3px 0 0 rgba(111,200,255,.86) !important;
}

.sidebar .navGroupAnalysis .navItem.active{
  background:rgba(127,255,212,.11) !important;
  box-shadow:inset 3px 0 0 rgba(127,255,212,.78) !important;
}

.sidebar .navGroupAdmin .navItem.active,
.sidebar .sidebarUnitsAction.active{
  background:rgba(250,204,21,.13) !important;
  box-shadow:inset 3px 0 0 rgba(250,204,21,.86) !important;
}

.sidebar .navItem.danger{
  color:#fff !important;
  background:rgba(255,70,110,.08) !important;
}

.sidebar .navItem.danger:hover:not(:disabled):not(.locked),
.sidebar .navItem.danger.active{
  background:rgba(255,70,110,.15) !important;
  box-shadow:inset 3px 0 0 rgba(255,70,110,.82) !important;
}

.sidebar .navItem.locked,
.sidebar .navItem:disabled{
  opacity:.46;
}

.sidebar .navItem.locked:hover,
.sidebar .navItem:disabled:hover{
  background:transparent !important;
  box-shadow:none !important;
}

/* Calendario global: neutro premium para os tres temas */
.dateSelector{
  border-color:rgba(148,163,184,.18) !important;
  background:
    linear-gradient(180deg, rgba(15,27,42,.70), rgba(5,12,21,.78)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 24px rgba(0,0,0,.12) !important;
}

.dateSelector:hover{
  border-color:rgba(111,200,255,.26) !important;
  background:
    linear-gradient(180deg, rgba(18,34,52,.78), rgba(6,15,26,.84)) !important;
}

.dateIcon{
  border-color:rgba(111,200,255,.88) !important;
  box-shadow:
    inset 0 4px 0 rgba(255,213,61,.84),
    0 0 12px rgba(111,200,255,.18) !important;
}

.topActions .dateIcon{
  flex:0 0 24px;
  width:24px;
  min-width:24px;
  height:24px;
  border-width:3px;
  border-radius:7px;
  box-shadow:
    inset 0 6px 0 rgba(255,213,61,.92),
    0 0 18px rgba(111,200,255,.38) !important;
}

.calendarPopover{
  overflow:hidden;
  border-color:rgba(148,163,184,.20) !important;
  background:
    radial-gradient(circle at 22% 0%, rgba(255,111,216,.10), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(255,213,61,.075), transparent 26%),
    linear-gradient(180deg, rgba(15,27,42,.92), rgba(5,12,21,.98)) !important;
  box-shadow:
    0 26px 62px rgba(0,0,0,.46),
    0 0 34px rgba(111,200,255,.09),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.calendarPopover::before{
  content:"";
  position:absolute;
  top:0;
  left:18px;
  right:18px;
  height:2px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,111,216,.76) 16%,
      rgba(111,200,255,.72) 40%,
      rgba(127,255,212,.76) 64%,
      rgba(255,213,61,.78) 86%,
      transparent
    );
  box-shadow:
    0 0 12px rgba(111,200,255,.12),
    0 0 11px rgba(127,255,212,.10),
    0 0 10px rgba(250,204,21,.10);
  pointer-events:none;
}

.calendarHeader strong{
  color:#f8fbff !important;
}

.calendarNav{
  border:1px solid rgba(148,163,184,.16) !important;
  color:rgba(248,251,255,.92) !important;
  background:rgba(15,23,42,.66) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.calendarNav:hover{
  border-color:rgba(111,200,255,.30) !important;
  background:rgba(18,34,52,.86) !important;
}

.calendarWeekdays span{
  color:rgba(226,235,246,.52) !important;
}

.calendarDay{
  color:rgba(248,251,255,.90) !important;
  background:rgba(15,23,42,.54) !important;
  border-color:rgba(148,163,184,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.calendarDay:hover{
  border-color:rgba(111,200,255,.34) !important;
  background:rgba(18,34,52,.82) !important;
}

.calendarDay.today{
  border-color:rgba(148,163,184,.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.calendarDay.hasClosing{
  border-color:rgba(111,200,255,.36) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 0 0 2px rgba(111,200,255,.07) !important;
}

.calendarDay.hasClosing::after{
  background:rgba(255,213,61,.92) !important;
  box-shadow:0 0 8px rgba(250,204,21,.26);
}

.calendarDay.selected{
  color:#031019 !important;
  border-color:rgba(125,211,252,.60) !important;
  background:linear-gradient(135deg, #5eead4, #38bdf8) !important;
  box-shadow:
    0 12px 22px rgba(56,189,248,.18),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.calendarDay.selected.hasClosing::after{
  background:#031019 !important;
  box-shadow:none;
}

.machineResultCalendarFooter button{
  border-color:rgba(148,163,184,.18) !important;
  color:#f8fbff !important;
  background:rgba(15,23,42,.72) !important;
}

.machineResultCalendarFooter button:hover{
  border-color:rgba(111,200,255,.30) !important;
  background:rgba(18,34,52,.86) !important;
}

/* Login: polimento premium da entrada */
.loginScreen{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 28%, rgba(111,200,255,.16), transparent 30%),
    radial-gradient(circle at 34% 42%, rgba(255,111,216,.10), transparent 32%),
    radial-gradient(circle at 72% 68%, rgba(255,213,61,.055), transparent 30%),
    linear-gradient(135deg, #06111e 0%, #071826 46%, #03070d 100%) !important;
}

.loginScreen::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 40% 43%, rgba(255,111,216,.24), transparent 15%),
    radial-gradient(circle at 50% 35%, rgba(111,200,255,.24), transparent 18%),
    radial-gradient(circle at 61% 47%, rgba(255,213,61,.16), transparent 14%),
    linear-gradient(120deg, transparent 0 34%, rgba(255,255,255,.035) 45%, transparent 56%),
    radial-gradient(circle at 50% 50%, transparent 0 44%, rgba(0,0,0,.20) 100%);
  opacity:.86;
}

.loginCard{
  position:relative;
  z-index:1;
  width:min(100%, 444px);
  padding:38px 34px 32px;
  border:1px solid rgba(226,235,246,.16);
  background:
    linear-gradient(180deg, rgba(15,27,42,.66), rgba(5,12,21,.76)) !important;
  box-shadow:
    0 30px 72px rgba(0,0,0,.42),
    0 0 42px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(255,255,255,.035) !important;
  backdrop-filter:blur(22px) saturate(1.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.12);
}

.loginCard::before{
  content:"";
  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:2px;
  border-radius:999px;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,111,216,.76) 16%,
      rgba(111,200,255,.72) 40%,
      rgba(127,255,212,.76) 64%,
      rgba(255,213,61,.78) 86%,
      transparent
    );
}

.loginBrand{
  margin-bottom:14px;
}

.loginBrand strong{
  text-shadow:0 12px 32px rgba(0,0,0,.38);
}

.loginBrand span{
  color:rgba(232,239,249,.68) !important;
  letter-spacing:.34em;
}

.loginField{
  gap:0;
}

.loginBrand + .loginField{
  margin-top:14px;
}

.loginField input{
  height:54px;
  border-radius:18px;
  border-color:rgba(148,163,184,.20) !important;
  background:
    linear-gradient(180deg, rgba(3,9,16,.74), rgba(2,7,13,.88)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 10px 22px rgba(0,0,0,.16);
}

.loginField span{
  color:rgba(226,235,246,.56) !important;
}

.loginField:focus-within span,
.loginField:has(input:not(:placeholder-shown)) span{
  color:rgba(255,213,61,.92) !important;
}

.loginField input:focus{
  border-color:rgba(111,200,255,.72) !important;
  box-shadow:
    0 0 0 4px rgba(111,200,255,.12),
    0 0 26px rgba(111,200,255,.10),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.passwordToggle{
  right:8px;
  width:38px;
  height:38px;
  border-radius:14px;
  color:rgba(232,239,249,.76) !important;
  background:rgba(15,23,42,.74) !important;
  border:1px solid rgba(148,163,184,.20) !important;
}

.passwordToggle:hover{
  color:#fff !important;
  border-color:rgba(111,200,255,.32) !important;
  background:rgba(16,32,50,.86) !important;
}

.loginSubmit{
  height:56px;
  margin-top:8px;
  color:#031019 !important;
  background:
    linear-gradient(135deg, #5eead4 0%, #38bdf8 58%, #7dd3fc 100%) !important;
  box-shadow:
    0 18px 36px rgba(34,211,238,.18),
    0 0 22px rgba(56,189,248,.12),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.loginSubmit:hover{
  filter:brightness(1.04) saturate(1.04);
}

.loginFootnote{
  margin-top:2px;
  color:rgba(226,235,246,.48) !important;
  font-weight:650;
}

/* Avatar global: neutro premium para nao pertencer a um tema especifico */
.avatarButton{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.18) !important;
  color:#f8fbff !important;
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.12), transparent 36%),
    linear-gradient(180deg, rgba(15,27,42,.74), rgba(5,12,21,.86)) !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.26),
    0 0 18px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.avatarButton::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  pointer-events:none;
  background:
    conic-gradient(
      from 220deg,
      rgba(255,111,216,.78),
      rgba(111,200,255,.72),
      rgba(127,255,212,.76),
      rgba(255,213,61,.78),
      rgba(255,111,216,.78)
    );
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite:exclude;
  opacity:.72;
}

.avatarButton::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.10), transparent 42%);
}

.avatarButton span{
  position:relative;
  z-index:1;
  color:#f8fbff !important;
  text-shadow:0 1px 10px rgba(0,0,0,.38);
}

.avatarButton:hover,
.avatarMenuWrap.open .avatarButton{
  border-color:rgba(111,200,255,.28) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.30),
    0 0 22px rgba(111,200,255,.12),
    inset 0 1px 0 rgba(255,255,255,.15) !important;
}

.avatarDropdown{
  overflow:hidden;
  border:1px solid rgba(148,163,184,.20) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,111,216,.10), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(255,213,61,.07), transparent 26%),
    linear-gradient(180deg, rgba(15,27,42,.94), rgba(5,12,21,.98)) !important;
  box-shadow:
    0 26px 62px rgba(0,0,0,.44),
    0 0 32px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.avatarDropdown::before{
  content:"";
  position:absolute;
  top:0;
  left:16px;
  right:16px;
  height:2px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,111,216,.76) 16%,
      rgba(111,200,255,.72) 40%,
      rgba(127,255,212,.76) 64%,
      rgba(255,213,61,.78) 86%,
      transparent
    );
  pointer-events:none;
}

.avatarDropdown .operatorCard{
  border-bottom-color:rgba(148,163,184,.14) !important;
}

.avatarDropdown .operatorCard small{
  color:rgba(255,213,61,.88) !important;
}

.avatarDropdown .operatorCard span{
  color:rgba(226,235,246,.64) !important;
}

.avatarDropdown button{
  color:#f8fbff !important;
  background:transparent !important;
}

.avatarDropdown button:hover{
  background:rgba(111,200,255,.10) !important;
}

.avatarDropdown button.logout{
  color:#ffcad5 !important;
}

.avatarDropdown button.logout:hover{
  background:rgba(255,70,110,.14) !important;
}

/* Unidades: polimento global antes da experiencia mobile */
.unitSelectionScreen{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,111,216,.15), transparent 28%),
    radial-gradient(circle at 54% 18%, rgba(111,200,255,.20), transparent 30%),
    radial-gradient(circle at 76% 72%, rgba(255,213,61,.08), transparent 30%),
    linear-gradient(135deg, #06111e 0%, #071826 46%, #03070d 100%) !important;
}

.unitSelectionScreen::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg, transparent 0 34%, rgba(255,255,255,.030) 45%, transparent 56%),
    radial-gradient(circle at 50% 50%, transparent 0 46%, rgba(0,0,0,.20) 100%);
  opacity:.84;
}

.unitSelectionShell{
  position:relative;
  z-index:1;
}

.unitSelectionHeader,
.unitCard{
  position:relative;
  overflow:hidden;
  border-color:rgba(226,235,246,.16) !important;
  background:
    linear-gradient(180deg, rgba(15,27,42,.66), rgba(5,12,21,.76)) !important;
  box-shadow:
    0 30px 72px rgba(0,0,0,.36),
    0 0 42px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(255,255,255,.035) !important;
  backdrop-filter:blur(22px) saturate(1.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.12);
}

.unitSelectionHeader::before,
.unitCard::before{
  content:"";
  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:2px;
  border-radius:999px;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,111,216,.76) 16%,
      rgba(111,200,255,.72) 40%,
      rgba(127,255,212,.76) 64%,
      rgba(255,213,61,.78) 86%,
      transparent
    );
}

.unitSelectionHeader .loginBrand,
.unitSelectionHeader > div,
.unitCard > *{
  position:relative;
  z-index:1;
}

.unitSelectionHeader .loginBrand{
  margin:0;
}

.unitEyebrow,
.unitCard span{
  color:rgba(255,213,61,.86) !important;
}

.unitSelectionHeader span,
.unitCard small{
  color:rgba(226,235,246,.68) !important;
}

.unitCard{
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.unitCard:hover,
.unitCard.active{
  border-color:rgba(111,200,255,.42) !important;
  transform:translateY(-2px);
  box-shadow:
    0 28px 66px rgba(0,0,0,.40),
    0 0 34px rgba(111,200,255,.12),
    inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.unitCard.active::after{
  content:"";
  position:absolute;
  inset:auto 18px 18px auto;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#5eead4;
  box-shadow:0 0 16px rgba(94,234,212,.42);
}

.unitCard em{
  color:#031019 !important;
  background:linear-gradient(135deg, #5eead4, #38bdf8) !important;
  box-shadow:
    0 10px 20px rgba(56,189,248,.16),
    inset 0 1px 0 rgba(255,255,255,.36);
}

.unitLogoutAction{
  border-color:rgba(255,70,110,.18) !important;
  color:#ffcad5 !important;
  background:rgba(255,70,110,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.unitLogoutAction:hover{
  border-color:rgba(255,70,110,.30) !important;
  background:rgba(255,70,110,.14) !important;
}

/* Mobile atendente: fundo global do login/unidades */
.attendantMobile{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,111,216,.15), transparent 28%),
    radial-gradient(circle at 54% 18%, rgba(111,200,255,.20), transparent 30%),
    radial-gradient(circle at 76% 72%, rgba(255,213,61,.08), transparent 30%),
    linear-gradient(135deg, #06111e 0%, #071826 46%, #03070d 100%) !important;
}

.attendantMobile::before,
.attendantMobile::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
}

.attendantMobile::before{
  background:
    radial-gradient(circle at 38% 24%, rgba(255,111,216,.18), transparent 24%),
    radial-gradient(circle at 58% 18%, rgba(111,200,255,.22), transparent 25%),
    radial-gradient(circle at 78% 70%, rgba(255,213,61,.10), transparent 28%);
  opacity:.82;
}

.attendantMobile::after{
  background:
    linear-gradient(120deg, transparent 0 34%, rgba(255,255,255,.030) 45%, transparent 56%),
    radial-gradient(circle at 50% 50%, transparent 0 46%, rgba(0,0,0,.20) 100%);
  opacity:.84;
}

/* Mobile atendente: cards na mesma linguagem global das unidades */
.attendantMobileHeader,
.attendantMobile .mobileHomeCard,
.attendantMobile .mobileBalanceCard,
.attendantMobile .mobileActionCard,
.attendantMobile .mobileStatementCard,
.attendantMobile .mobilePlaceholder{
  position:relative;
  border-color:rgba(226,235,246,.16) !important;
  color:#f8fbff;
  background:
    linear-gradient(180deg, rgba(15,27,42,.66), rgba(5,12,21,.76)) !important;
  box-shadow:
    0 30px 72px rgba(0,0,0,.34),
    0 0 42px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(255,255,255,.035) !important;
  backdrop-filter:blur(22px) saturate(1.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.12);
}

.attendantMobileHeader,
.attendantMobile .mobileHomeCard,
.attendantMobile .mobilePlaceholder{
  overflow:hidden;
}

.attendantMobileHeader::before,
.attendantMobile .mobileHomeCard::before,
.attendantMobile .mobileBalanceCard::before,
.attendantMobile .mobileActionCard::before,
.attendantMobile .mobileStatementCard::before,
.attendantMobile .mobilePlaceholder::before{
  content:"";
  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:2px;
  border-radius:999px;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,111,216,.76) 16%,
      rgba(111,200,255,.72) 40%,
      rgba(127,255,212,.76) 64%,
      rgba(255,213,61,.78) 86%,
      transparent
    );
}

.attendantMobile .mobileHomeCard{
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.attendantMobile .mobileHomeCard:hover,
.attendantMobile .mobileHomeCard:focus-visible{
  border-color:rgba(111,200,255,.42) !important;
  transform:translateY(-2px);
  box-shadow:
    0 28px 66px rgba(0,0,0,.40),
    0 0 34px rgba(111,200,255,.12),
    inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.attendantMobile .mobileHomeCard.locked:hover,
.attendantMobile .mobileHomeCard.locked:focus-visible,
.attendantMobile .mobileHomeCard:disabled:hover,
.attendantMobile .mobileHomeCard:disabled:focus-visible{
  border-color:rgba(226,235,246,.16) !important;
  transform:none;
  box-shadow:
    0 30px 72px rgba(0,0,0,.34),
    0 0 42px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(255,255,255,.035) !important;
}

.attendantMobile .mobileHomeIcon{
  color:#031019 !important;
  background:linear-gradient(135deg, #5eead4, #38bdf8) !important;
  box-shadow:
    0 10px 20px rgba(56,189,248,.16),
    inset 0 1px 0 rgba(255,255,255,.36);
}

/* Mobile atendente: avatar no padrao global neutro */
.attendantMobileHeader{
  overflow:visible;
}

.attendantMobile .mobileAvatarButton{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.18) !important;
  color:#f8fbff !important;
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.12), transparent 36%),
    linear-gradient(180deg, rgba(15,27,42,.74), rgba(5,12,21,.86)) !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.26),
    0 0 18px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.attendantMobile .mobileAvatarButton::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  pointer-events:none;
  background:
    conic-gradient(
      from 220deg,
      rgba(255,111,216,.78),
      rgba(111,200,255,.72),
      rgba(127,255,212,.76),
      rgba(255,213,61,.78),
      rgba(255,111,216,.78)
    );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite:exclude;
  opacity:.72;
}

.attendantMobile .mobileAvatarButton::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.10), transparent 42%);
}

.attendantMobile .mobileAvatarButton span{
  position:relative;
  z-index:1;
  color:#f8fbff !important;
  text-shadow:0 1px 10px rgba(0,0,0,.38);
}

.attendantMobile .mobileAvatarButton:hover,
.attendantMobile .mobileAvatarMenuWrap.open .mobileAvatarButton{
  border-color:rgba(111,200,255,.28) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.30),
    0 0 22px rgba(111,200,255,.12),
    inset 0 1px 0 rgba(255,255,255,.15) !important;
}

.attendantMobile .mobileAvatarDropdown{
  position:absolute;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.20) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,111,216,.10), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(255,213,61,.07), transparent 26%),
    linear-gradient(180deg, rgba(15,27,42,.94), rgba(5,12,21,.98)) !important;
  box-shadow:
    0 26px 62px rgba(0,0,0,.44),
    0 0 32px rgba(111,200,255,.08),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.attendantMobile .mobileAvatarDropdown::before{
  content:"";
  position:absolute;
  top:0;
  left:16px;
  right:16px;
  height:2px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,111,216,.76) 16%,
      rgba(111,200,255,.72) 40%,
      rgba(127,255,212,.76) 64%,
      rgba(255,213,61,.78) 86%,
      transparent
    );
  pointer-events:none;
}

.attendantMobile .mobileAvatarDropdown .operatorCard,
.attendantMobile .mobileAvatarDropdown button{
  position:relative;
  z-index:1;
}

.attendantMobile .mobileAvatarDropdown .operatorCard{
  border-bottom-color:rgba(148,163,184,.14) !important;
}

.attendantMobile .mobileAvatarDropdown .operatorCard small{
  color:rgba(255,213,61,.88) !important;
}

.attendantMobile .mobileAvatarDropdown .operatorCard span{
  color:rgba(226,235,246,.64) !important;
}

.attendantMobile .mobileAvatarDropdown button{
  color:#f8fbff !important;
  background:transparent !important;
}

.attendantMobile .mobileAvatarDropdown button:hover{
  background:rgba(111,200,255,.10) !important;
}

.attendantMobile .mobileAvatarDropdown button.logout{
  color:#ffcad5 !important;
}

.attendantMobile .mobileAvatarDropdown button.logout:hover{
  background:rgba(255,70,110,.14) !important;
}

/* Mobile atendente: leitura numerica e toque premium */
.attendantMobile .mobilePaymentForm label{
  position:relative;
}

.attendantMobile .mobilePaymentForm label:has(input:focus),
.attendantMobile .mobilePaymentForm label:has(select:focus),
.attendantMobile .mobilePaymentForm label:has(textarea:focus){
  z-index:2;
}

.attendantMobile .mobilePaymentForm label:has(input:focus) > span,
.attendantMobile .mobilePaymentForm label:has(select:focus) > span,
.attendantMobile .mobilePaymentForm label:has(textarea:focus) > span{
  color:rgba(125,211,252,.92) !important;
  text-shadow:0 0 14px rgba(56,189,248,.18);
}

.attendantMobile .mobilePaymentForm input,
.attendantMobile .mobilePaymentForm select,
.attendantMobile .mobilePaymentForm textarea,
.attendantMobile .mobileClientSearchField input{
  border-color:rgba(148,163,184,.24) !important;
  background:
    linear-gradient(180deg, rgba(18,31,46,.82), rgba(9,18,30,.88)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 -18px 28px rgba(0,0,0,.14) !important;
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease,
    transform .12s ease;
}

.attendantMobile .mobilePaymentForm select.mobileSelectExpanded{
  height:auto !important;
  max-height:min(390px, 56dvh) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;

  border-radius:18px !important;
  padding:8px 10px !important;

  background:
    linear-gradient(180deg, rgba(11,24,40,.98), rgba(5,13,24,.98)) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.attendantMobile .mobilePaymentForm select.mobileSelectExpanded option{
  min-height:36px;
  padding:8px 10px;

  color:#f8fbff;
  background:#0b1828;
}

.attendantMobile .mobileSelectPickerTrigger{
  min-height:58px !important;
  border-color:rgba(148,163,184,.24) !important;
  background:
    linear-gradient(180deg, rgba(18,31,46,.82), rgba(9,18,30,.88)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 -18px 28px rgba(0,0,0,.14) !important;
}

.attendantMobile .mobileSelectPicker.open .mobileSelectPickerTrigger{
  border-color:rgba(125,211,252,.70) !important;
  box-shadow:
    0 0 0 3px rgba(56,189,248,.12),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.attendantMobile .mobilePaymentForm [data-mobile-select-picker="mobilePaymentEquipment"] .mobileSelectPickerTrigger,
.attendantMobile .mobilePaymentForm [data-mobile-select-picker="mobileReadingMachine"] .mobileSelectPickerTrigger{
  border-color:rgba(125,211,252,.38) !important;
  color:#f8fbff !important;
  background:
    linear-gradient(180deg, rgba(22,43,66,.90), rgba(9,22,38,.96)) !important;
  box-shadow:
    0 0 18px rgba(56,189,248,.10),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.attendantMobile #mobilePaymentMachineNumber{
  border-color:rgba(94,234,212,.44) !important;
  text-align:center;
  font-size:28px;
  font-weight:950;
  letter-spacing:0;
}

.attendantMobile #mobilePaymentMachineNumber::placeholder{
  color:rgba(226,235,246,.38);
  font-size:15px;
  font-weight:850;
}

.attendantMobile #mobilePaymentPanel [data-mobile-select-picker="mobilePaymentEquipment"] .mobileSelectPickerTrigger{
  min-height:44px !important;
  color:rgba(226,235,246,.82) !important;
  font-size:14px !important;
}

.attendantMobile #mobilePaymentPanel #mobilePaymentMachineNumber,
.attendantMobile #mobilePaymentPanel #mobilePaymentValue,
.attendantMobile #mobilePaymentPanel #mobilePaymentOutput{
  height:56px !important;
  min-height:56px !important;
  font-size:28px !important;
  border-radius:17px !important;
}

.attendantMobile #mobilePaymentPanel #mobilePaymentValidationCode{
  height:50px !important;
  min-height:50px !important;
  font-size:22px !important;
  border-radius:16px !important;
  text-align:center;
}

.attendantMobile #mobilePaymentPanel .mobilePaymentForm > label > span{
  font-size:10px;
  line-height:1;
}

.attendantMobile .mobilePaymentClientSearch input{
  height:58px !important;
  border-color:rgba(148,163,184,.24) !important;
  background:
    linear-gradient(180deg, rgba(18,31,46,.82), rgba(9,18,30,.88)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 -18px 28px rgba(0,0,0,.14) !important;
}

.attendantMobile .mobilePaymentClientSearch input:focus{
  border-color:rgba(125,211,252,.70) !important;
  box-shadow:
    0 0 0 3px rgba(56,189,248,.12),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.attendantMobile .mobilePaymentForm input[inputmode="numeric"]{
  height:58px;
  padding:
    0
    18px;
  font-size:24px;
  font-weight:950;
  line-height:1;
  letter-spacing:.02em;
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

.attendantMobile #mobilePaymentPanel .mobilePaymentForm input[inputmode="numeric"]{
  height:56px;
  font-size:28px;
}

.attendantMobile #mobileReadingEntry,
.attendantMobile #mobileReadingOutput{
  height:64px;
  font-size:28px;
}

.attendantMobile .mobilePaymentForm input[inputmode="numeric"]::placeholder{
  color:rgba(226,235,246,.34);
}

.attendantMobile .mobilePaymentForm input:focus,
.attendantMobile .mobilePaymentForm select:focus,
.attendantMobile .mobilePaymentForm textarea:focus,
.attendantMobile .mobileClientSearchField input:focus{
  border-color:rgba(125,211,252,.76) !important;
  background:
    linear-gradient(180deg, rgba(20,38,58,.92), rgba(8,18,31,.94)) !important;
  box-shadow:
    0 0 0 4px rgba(56,189,248,.13),
    0 0 28px rgba(56,189,248,.18),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -18px 30px rgba(0,0,0,.12) !important;
  transform:none;
}

.attendantMobile .mobilePaymentForm input[inputmode="numeric"]:focus{
  border-color:rgba(94,234,212,.78) !important;
  box-shadow:
    0 0 0 4px rgba(94,234,212,.13),
    0 0 30px rgba(94,234,212,.18),
    0 0 34px rgba(56,189,248,.10),
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -18px 30px rgba(0,0,0,.12) !important;
}

.attendantMobile .mobilePaymentForm input[readonly]{
  color:rgba(248,251,255,.78) !important;
  background:
    linear-gradient(180deg, rgba(15,27,42,.58), rgba(7,14,23,.70)) !important;
}

.attendantMobile .mobilePaymentForm input[readonly]:focus{
  border-color:rgba(148,163,184,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 -18px 28px rgba(0,0,0,.14) !important;
}

.attendantMobile .mobileReadingResult{
  border-color:rgba(94,234,212,.20) !important;
  background:
    linear-gradient(180deg, rgba(94,234,212,.10), rgba(5,12,21,.72)) !important;
}

.attendantMobile .mobileReadingResult strong{
  font-size:30px;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

.attendantMobile .mobileHomeCard,
.attendantMobile .mobileBackButton,
.attendantMobile .mobileAvatarButton,
.attendantMobile .mobilePaymentForm button,
.attendantMobile .mobileClientModeTabs button,
.attendantMobile .mobileBalanceEye,
.attendantMobile .mobileBalanceDetailsToggle,
.attendantMobile .mobileClientRecentToggle,
.attendantMobile .mobileClientSearchResult{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.attendantMobile .mobileClientRecentList{
  min-height:0;
  max-height:min(360px, 42dvh);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

.attendantMobile .mobileHomeCard:active,
.attendantMobile .mobilePaymentForm button:active,
.attendantMobile .mobileClientModeTabs button:active,
.attendantMobile .mobileBalanceEye:active,
.attendantMobile .mobileBalanceDetailsToggle:active,
.attendantMobile .mobileClientRecentToggle:active,
.attendantMobile .mobileClientSearchResult:active{
  transform:translateY(2px) scale(.985);
  filter:brightness(1.06) saturate(1.04);
  box-shadow:
	    0 12px 28px rgba(0,0,0,.32),
    0 0 26px rgba(94,234,212,.12),
    inset 0 3px 10px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.attendantMobile .mobilePaymentForm button{
  height:58px;
  transition:
    transform .12s ease,
    filter .12s ease,
    box-shadow .12s ease;
}

.attendantMobile button[data-mobile-busy="true"]{
  cursor:progress !important;
  opacity:.82;
  filter:saturate(.9) brightness(.96);
}

.attendantMobile #mobilePaymentPanel .mobilePaymentForm button{
  height:54px;
  font-size:15px;
}

.attendantMobile .mobilePaymentForm .mobilePaymentClientResult,
.mobilePaymentForm .mobilePaymentClientResult{
  width:100% !important;
  height:auto !important;
  min-height:38px !important;

  border:1px solid rgba(226,235,246,.10) !important;
  border-radius:12px !important;
  padding:8px 10px !important;

  display:flex !important;
  align-items:center !important;

  color:#f8fbff !important;
  background:rgba(255,255,255,.035) !important;
  box-shadow:none !important;

  font:inherit !important;
  text-align:left !important;
  transform:none !important;
  filter:none !important;
}

.attendantMobile .mobilePaymentForm .mobilePaymentClientResult:active,
.mobilePaymentForm .mobilePaymentClientResult:active{
  color:#f8fbff !important;
  background:rgba(125,211,252,.14) !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
}

.attendantMobile .mobilePaymentForm .mobileSelectPickerOption,
.mobilePaymentForm .mobileSelectPickerOption{
  width:100% !important;
  height:auto !important;
  min-height:38px !important;

  border:1px solid rgba(226,235,246,.10) !important;
  border-radius:12px !important;
  padding:8px 10px !important;

  color:#f8fbff !important;
  background:rgba(255,255,255,.035) !important;
  box-shadow:none !important;

  font:inherit !important;
  font-size:15px !important;
  font-weight:850 !important;
  text-align:left !important;
  transform:none !important;
  filter:none !important;
}

.attendantMobile .mobilePaymentForm .mobileSelectPickerOption.active,
.mobilePaymentForm .mobileSelectPickerOption.active{
  color:#f8fbff !important;
  background:rgba(125,211,252,.16) !important;
}

.attendantMobile .mobilePaymentForm .mobileSelectPickerOption:active,
.mobilePaymentForm .mobileSelectPickerOption:active{
  color:#f8fbff !important;
  background:rgba(125,211,252,.14) !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
}

.attendantMobile .mobileBackButton:active,
.attendantMobile .mobileAvatarButton:active{
  transform:translateY(1px) scale(.96);
  filter:brightness(1.08);
}

@media (max-width:820px){
  .appShell.machinesTheme .machinesBoard{
    padding-bottom:calc(340px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom:calc(340px + env(safe-area-inset-bottom));
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .appShell.machinesTheme .machinesList,
  .appShell.machinesTheme .machinePanel,
  .appShell.machinesTheme .machineReadingPanel,
  .appShell.machinesTheme .machineReadingContent,
  .appShell.machinesTheme .machineReadingList,
  .appShell.machinesTheme .machineReadingHistory,
  .appShell.machinesTheme .machineConfigPanel,
  .appShell.machinesTheme .machineConfigContent,
  .appShell.machinesTheme .machineSavedList,
  .appShell.machinesTheme .machineModelList,
  .appShell.machinesTheme .machineReportsPanel,
  .appShell.machinesTheme .machineReportContent,
  .appShell.machinesTheme .machineEmbeddedPanel,
  .appShell.machinesTheme .machineResultSurface,
  .appShell.machinesTheme .machineResultReport,
  .appShell.machinesTheme .machineRankingReport,
  .appShell.machinesTheme .machineShareReport{
    padding-bottom:calc(260px + env(safe-area-inset-bottom)) !important;
  }

  .appShell.machinesTheme .machinesBoard:has(.machineResultDateWrap.open){
    padding-bottom:calc(460px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom:calc(460px + env(safe-area-inset-bottom));
  }

  .appShell.machinesTheme .machinesBoard:has(.machineResultDateWrap.open) .machinesList,
  .appShell.machinesTheme .machinesBoard:has(.machineResultDateWrap.open) .machineReportsPanel,
  .appShell.machinesTheme .machinesBoard:has(.machineResultDateWrap.open) .machineReportContent,
  .appShell.machinesTheme .machinesBoard:has(.machineResultDateWrap.open) .machineEmbeddedPanel,
  .appShell.machinesTheme .machinesBoard:has(.machineResultDateWrap.open) .machineResultSurface{
    padding-bottom:calc(380px + env(safe-area-inset-bottom)) !important;
  }

  .appShell.machinesTheme .machineResultDateWrap.open{
    z-index:40;
  }

  .appShell.machinesTheme .machineResultDateWrap.open .machineResultCalendarPopover{
    left:0 !important;
    right:auto !important;
    width:min(318px, calc(100vw - 28px));
    max-width:calc(100vw - 28px);
    z-index:80;
  }

  .appShell.machinesTheme .machineResultFilters .machineResultDateWrap:nth-child(2).open .machineResultCalendarPopover,
  .appShell.machinesTheme .machineRankingFilters .machineResultDateWrap:nth-child(2).open .machineResultCalendarPopover,
  .appShell.machinesTheme .machineShareFilters .machineResultDateWrap:nth-child(2).open .machineResultCalendarPopover,
  .appShell.machinesTheme .machineReadingHistoryFilters .machineResultDateWrap:nth-child(2).open .machineResultCalendarPopover{
    left:auto !important;
    right:0 !important;
  }

  .appShell.machinesTheme .machineReportsPanel,
  .appShell.machinesTheme .machineReportContent{
    gap:12px !important;
  }

  .appShell.machinesTheme .machineReportSelector{
    position:relative;
    top:auto;
    z-index:8;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    padding:5px;
    border-radius:16px;
    background:rgba(4,20,36,.94);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .appShell.machinesTheme .machineReportSelectorItem{
    min-height:38px;
    padding:0 8px;
    font-size:10px;
  }

  .appShell.machinesTheme .machinePanelHeading{
    gap:3px;
  }

  .appShell.machinesTheme .machinePanelHeading strong{
    font-size:16px;
  }

  .appShell.machinesTheme .machinePanelHeading span{
    font-size:11px;
    line-height:1.32;
  }

  .appShell.machinesTheme .machineResultFilters,
  .appShell.machinesTheme .machineAverageFilters,
  .appShell.machinesTheme .machineRankingFilters,
  .appShell.machinesTheme .machineShareFilters,
  .appShell.machinesTheme .machineReadingHistoryFilters{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .appShell.machinesTheme .machineResultChartAction{
    grid-column:1 / -1;
    width:100%;
  }

  .appShell.machinesTheme .machineResultDateButton{
    min-height:44px;
    height:auto;
    padding:8px 10px;
  }

  .appShell.machinesTheme .machineResultFilters .machineResultDateText,
  .appShell.machinesTheme .machineReadingHistoryFilters .machineResultDateText,
  .appShell.machinesTheme .machineAverageFilters .machineResultDateText,
  .appShell.machinesTheme .machineRankingFilters .machineResultDateText,
  .appShell.machinesTheme .machineShareFilters .machineResultDateText{
    min-width:0;
    font-size:13px;
  }

  .appShell.machinesTheme .machineResultHeader,
  .appShell.machinesTheme .machineResultDetailHeader{
    display:none !important;
  }

  .appShell.machinesTheme .machineResultRow,
  .appShell.machinesTheme .machineResultDetailRow{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    align-items:stretch;
    gap:10px 12px;
    min-height:0;
    padding:18px 16px 14px;
    border:1px solid rgba(125,211,252,.10);
    border-radius:18px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
      rgba(4,24,40,.72);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.06),
      0 10px 24px rgba(0,0,0,.12);
  }

  .appShell.machinesTheme .machineResultRow span,
  .appShell.machinesTheme .machineResultDetailRow span{
    min-width:0;
    min-height:58px;
    padding:9px 10px;
    border:1px solid rgba(125,211,252,.10);
    border-radius:12px;
    display:grid;
    align-content:end;
    gap:5px;
    color:#fff;
    background:rgba(0,0,0,.16);
    font-size:15px;
    font-weight:950;
    line-height:1.05;
    white-space:normal;
  }

  .appShell.machinesTheme .machineResultRow span::before,
  .appShell.machinesTheme .machineResultDetailRow span::before{
    color:rgba(226,239,255,.82);
    font-size:10px;
    font-weight:950;
    line-height:1;
    text-transform:uppercase;
    overflow:visible;
  }

  .appShell.machinesTheme .machineResultRow span:first-child,
  .appShell.machinesTheme .machineResultRow span:nth-child(2),
  .appShell.machinesTheme .machineResultRow span:nth-child(3),
  .appShell.machinesTheme .machineResultDetailRow span:first-child,
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(2),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(3){
    min-height:0;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:16px;
    font-weight:950;
    overflow:visible;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(1),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(1){
    grid-column:1;
    grid-row:1;
    align-self:end;
    padding-left:2px;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(3),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(3){
    grid-column:2;
    grid-row:1;
    align-self:end;
    justify-self:end;
    text-align:right;
    font-size:17px;
    padding-right:12px;
    padding-top:3px;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(2),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(2){
    grid-column:1 / -1;
    grid-row:2;
    color:rgba(255,255,255,.58);
    font-size:11px;
    font-weight:850;
    padding-left:2px;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(4),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(4){
    grid-column:1;
    grid-row:3;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(5),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(5){
    grid-column:2;
    grid-row:3;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(6),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(6){
    grid-column:1 / -1;
    grid-row:4;
    min-height:64px;
    padding-right:96px;
    border-color:rgba(125,211,252,.18);
    background:
      linear-gradient(135deg, rgba(125,211,252,.18), rgba(255,213,61,.08)),
      rgba(0,0,0,.18);
    color:#ffd53d;
    font-size:17px;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(6).machineResultNegativeValue,
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(6).machineResultNegativeValue,
  .appShell.machinesTheme .machineResultRow:has(span:nth-child(6).machineResultNegativeValue) span:nth-child(6),
  .appShell.machinesTheme .machineResultDetailRow:has(span:nth-child(6).machineResultNegativeValue) span:nth-child(6){
    border-color:rgba(255,95,109,.34);
    color:#ff5f6d;
    background:
      linear-gradient(135deg, rgba(255,95,109,.18), rgba(255,95,109,.06)),
      rgba(0,0,0,.20);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.055),
      0 0 18px rgba(255,95,109,.10);
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(7),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(7){
    grid-column:1 / -1;
    grid-row:4;
    justify-self:end;
    align-self:end;
    width:78px;
    min-height:0;
    margin:0 16px 12px 0;
    padding:0;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.70);
    font-size:10px;
    font-weight:850;
    text-align:right;
    white-space:nowrap;
    overflow:visible;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(7)::before,
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(7)::before{
    content:"% Ret";
    display:block;
    margin-bottom:4px;
    font-size:8px;
    white-space:nowrap;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(8){
    grid-column:1;
    grid-row:5;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(9){
    grid-column:2;
    grid-row:5;
  }

  .appShell.machinesTheme .machineResultRow .machineResultModelCell{
    grid-column:1;
    grid-row:1 / 3;
    align-self:center;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
  }

  .appShell.machinesTheme .machineResultRow .machineResultModelCell::before{
    content:"Modelo";
  }

  .appShell.machinesTheme .machineResultReport.operatorView .machineResultRow .machineResultModelCell::before{
    content:"Operador";
  }

  .appShell.machinesTheme .machineResultRow .machineResultModelCell strong{
    font-size:18px;
    line-height:1.08;
  }

  .appShell.machinesTheme .machineResultRow .machineResultModelCell small{
    color:rgba(255,255,255,.66);
    font-size:12px;
    font-weight:850;
    line-height:1.1;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(2){
    grid-column:2;
    grid-row:1 / 3;
    align-self:center;
    justify-self:end;
    min-height:0;
    padding:0 12px 0 0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:18px;
    text-align:right;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(3),
  .appShell.machinesTheme .machineResultRow span:nth-child(4),
  .appShell.machinesTheme .machineResultRow span:nth-child(7),
  .appShell.machinesTheme .machineResultRow span:nth-child(8){
    min-height:58px;
    padding:9px 10px;
    border:1px solid rgba(125,211,252,.10);
    border-radius:12px;
    display:grid;
    align-content:end;
    gap:5px;
    color:#fff;
    background:rgba(0,0,0,.16);
    font-size:15px;
    font-weight:950;
    line-height:1;
    white-space:normal;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(3){
    grid-column:1;
    grid-row:3;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(4){
    grid-column:2;
    grid-row:3;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(5){
    grid-column:1 / -1;
    grid-row:4;
    min-height:64px;
    padding-right:96px;
    border-color:rgba(125,211,252,.18);
    background:
      linear-gradient(135deg, rgba(125,211,252,.18), rgba(255,213,61,.08)),
      rgba(0,0,0,.18);
    color:#ffd53d;
    font-size:19px;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(6){
    grid-column:1 / -1;
    grid-row:4;
    justify-self:end;
    align-self:end;
    width:78px;
    min-height:0;
    margin:0 16px 12px 0;
    padding:0;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.70);
    font-size:10px;
    font-weight:850;
    text-align:right;
    white-space:nowrap;
    overflow:visible;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(6)::before{
    content:"% Ret";
    display:block;
    margin-bottom:4px;
    font-size:8px;
    white-space:nowrap;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(5).machineResultNegativeValue,
  .appShell.machinesTheme .machineResultRow:has(span:nth-child(5).machineResultNegativeValue) span:nth-child(5){
    border-color:rgba(255,95,109,.34);
    color:#ff5f6d;
    background:
      linear-gradient(135deg, rgba(255,95,109,.18), rgba(255,95,109,.06)),
      rgba(0,0,0,.20);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.055),
      0 0 18px rgba(255,95,109,.10);
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(7){
    grid-column:1;
    grid-row:5;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(8){
    grid-column:2;
    grid-row:5;
  }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(7){
    align-content:end;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(2)::before{ content:"Qtde"; }
  .appShell.machinesTheme .machineResultRow span:nth-child(3)::before{ content:"Entrada"; }
  .appShell.machinesTheme .machineResultRow span:nth-child(4)::before{ content:"Saida"; }
  .appShell.machinesTheme .machineResultRow span:nth-child(5)::before{ content:"Resultado"; }
  .appShell.machinesTheme .machineResultRow span:nth-child(6)::before{ content:"% Ret"; }
  .appShell.machinesTheme .machineResultRow span:nth-child(7)::before{ content:"Local"; }
  .appShell.machinesTheme .machineResultRow span:nth-child(8)::before{ content:"Operador R$"; }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(1)::before{ content:"Maquina"; }
  .appShell.machinesTheme .machineResultOperatorDetail .machineResultDetailRow span:nth-child(1)::before{ content:"Modelo"; }
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(2)::before{ content:"Qtde"; }
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(3)::before{ content:"Entrada"; }
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(4)::before{ content:"Saida"; }
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(5)::before{ content:"Resultado"; }
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(6)::before{ content:"% Ret"; }
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(7)::before{ content:"Local"; }
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(8)::before{ content:"Operador R$"; }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(3){
    grid-column:1;
    grid-row:3;
    min-height:58px;
    padding:9px 10px;
    border:1px solid rgba(125,211,252,.10);
    border-radius:12px;
    display:grid;
    align-content:end;
    gap:5px;
    background:rgba(0,0,0,.16);
    font-size:15px;
    font-weight:950;
  }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(4){
    grid-column:2;
    grid-row:3;
  }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(5){
    grid-column:1 / -1;
    grid-row:4;
    min-height:64px;
    padding-right:96px;
    border-color:rgba(125,211,252,.18);
    background:
      linear-gradient(135deg, rgba(125,211,252,.18), rgba(255,213,61,.08)),
      rgba(0,0,0,.18);
    color:#ffd53d;
    font-size:17px;
  }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(6){
    grid-column:1 / -1;
    grid-row:4;
    justify-self:end;
    align-self:end;
    width:78px;
    min-height:0;
    margin:0 16px 12px 0;
    padding:0;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.70);
    font-size:10px;
    font-weight:850;
    text-align:right;
    white-space:nowrap;
    overflow:visible;
  }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(7){
    grid-column:1;
    grid-row:5;
  }

  .appShell.machinesTheme .machineResultDetailRow span:nth-child(8){
    grid-column:2;
    grid-row:5;
  }

  .appShell.machinesTheme .machineResultTotalRow{
    border-color:rgba(255,213,61,.24) !important;
    background:
      linear-gradient(135deg, rgba(255,213,61,.16), rgba(125,211,252,.10)),
      rgba(0,0,0,.18) !important;
  }

  .appShell.machinesTheme .machineResultTotalRow span:nth-child(2):empty{
    display:none;
  }

  .appShell.machinesTheme .machineResultDetail{
    padding:10px;
    border-radius:18px;
    background:rgba(0,0,0,.12);
  }

  .appShell.machinesTheme .machineRankingSummary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .appShell.machinesTheme .machineRankingSummary article{
    min-height:78px;
    padding:11px;
    border-radius:16px;
  }

  .appShell.machinesTheme .machineRankingItem{
    grid-template-columns:34px minmax(0, 1fr);
    gap:10px;
    padding:12px;
    border-radius:18px;
  }

  .appShell.machinesTheme .machineRankingRank{
    width:34px;
    height:34px;
  }

  .appShell.machinesTheme .machineRankingMetrics{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
  }

  .appShell.machinesTheme .machineRankingMetrics em{
    min-height:58px;
    padding:8px;
    border-radius:12px;
  }

  .appShell.machinesTheme .machineShareChart{
    gap:14px;
  }

  .appShell.machinesTheme .machineShareDonut{
    width:min(210px, 62vw);
    height:min(210px, 62vw);
  }

  .appShell.machinesTheme .machineShareItem{
    min-height:46px;
    padding:9px 10px;
    border-radius:14px;
  }
}

@media (max-width:820px){
  .appShell.machinesTheme .machineConfigPanel{
    gap:12px !important;
  }

  .appShell.machinesTheme .machineConfigContent{
    gap:14px !important;
  }

  .appShell.machinesTheme .machineConfigSelector{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    padding:0;
    border:0;
    background:transparent;
  }

  .appShell.machinesTheme .machineConfigSelector .machineReportSelectorItem{
    min-height:42px;
    border-radius:999px;
  }

  .appShell.machinesTheme .machineMachineCreateForm,
  .appShell.machinesTheme .machineModelRegisterForm{
    padding:12px;
    border:1px solid rgba(125,211,252,.10);
    border-radius:20px;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)),
      rgba(0,0,0,.14);
  }

  .appShell.machinesTheme .machineMachineCreateForm{
    align-items:stretch !important;
    padding-bottom:14px;
  }

  .appShell.machinesTheme .machinePanelFields,
  .appShell.machinesTheme .machineMachineCreateGrid,
  .appShell.machinesTheme .machineModelRegisterGrid{
    grid-template-columns:1fr !important;
    gap:9px;
  }

  .appShell.machinesTheme .machinePanelFields label,
  .appShell.machinesTheme .machineSavedFilters label,
  .appShell.machinesTheme .machineDraftRow label,
  .appShell.machinesTheme .machinePlateSwapFields label{
    min-height:48px;
    height:auto;
    padding:9px 12px;
    border-radius:14px;
    background:rgba(0,0,0,.16);
  }

  .appShell.machinesTheme .machinePanelFields input,
  .appShell.machinesTheme .machinePanelFields select,
  .appShell.machinesTheme .machineSavedFilters input,
  .appShell.machinesTheme .machineSavedFilters select,
  .appShell.machinesTheme .machineDraftRow input,
  .appShell.machinesTheme .machinePlateSwapFields input{
    min-height:24px;
    font-size:15px;
  }

  .appShell.machinesTheme .machineModelActions,
  .appShell.machinesTheme .machinePlateSwapActions{
    width:100%;
    height:auto !important;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .appShell.machinesTheme .machineModelActions .saveAction,
  .appShell.machinesTheme .machineModelActions .secondaryAction,
  .appShell.machinesTheme .machinePlateSwapActions .saveAction,
  .appShell.machinesTheme .machinePlateSwapActions .secondaryAction{
    width:100%;
    min-width:0;
    min-height:40px;
    height:40px;
    border-radius:999px;
  }

  .appShell.machinesTheme .machineMachineCreateForm .machineModelActions{
    margin-top:2px;
  }

  .appShell.machinesTheme .machineMachineCreateForm .machineModelActions .saveAction,
  .appShell.machinesTheme .machineMachineCreateForm .machineModelActions .secondaryAction{
    min-width:0;
    min-height:38px;
    height:38px;
  }

  .appShell.machinesTheme .machineSavedTitle{
    margin-top:12px;
    font-size:16px;
  }

  .appShell.machinesTheme .machineSavedFilters{
    grid-template-columns:1fr !important;
    gap:8px;
  }

  .appShell.machinesTheme .machineDraftHeader,
  .appShell.machinesTheme .machineSavedHeader,
  .appShell.machinesTheme .machineModelListHeader{
    display:none !important;
  }

  .appShell.machinesTheme .machineDraftRow,
  .appShell.machinesTheme .machineSavedRow,
  .appShell.machinesTheme .machineModelRow{
    grid-template-columns:1fr !important;
    align-items:stretch;
    gap:8px;
    min-height:0;
    padding:12px;
    border-radius:18px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)),
      rgba(0,0,0,.16);
  }

  .appShell.machinesTheme .machineDraftRow strong,
  .appShell.machinesTheme .machineSavedName strong,
  .appShell.machinesTheme .machineSavedRow strong,
  .appShell.machinesTheme .machineModelRow strong{
    font-size:15px;
    white-space:normal;
  }

  .appShell.machinesTheme .machineSavedName{
    min-width:0;
    padding:8px 9px;
    border:1px solid rgba(125,211,252,.08);
    border-radius:12px;
    background:rgba(0,0,0,.12);
  }

  .appShell.machinesTheme .machineSavedName span{
    color:rgba(255,255,255,.48);
    font-size:9px;
    font-weight:950;
    line-height:1;
    text-transform:none;
    white-space:normal;
  }

  .appShell.machinesTheme .machineSavedRow > span,
  .appShell.machinesTheme .machineSavedRow > .machineSavedPosition,
  .appShell.machinesTheme .machineModelRow > span{
    min-width:0;
    padding:8px 9px;
    border:1px solid rgba(125,211,252,.08);
    border-radius:12px;
    display:grid;
    gap:4px;
    color:rgba(255,255,255,.86);
    background:rgba(0,0,0,.12);
    font-size:13px;
    font-weight:900;
    white-space:normal;
  }

  .appShell.machinesTheme .machineSavedRow > .machineSavedPosition::before,
  .appShell.machinesTheme .machineSavedRow > span::before,
  .appShell.machinesTheme .machineModelRow > span::before{
    color:rgba(255,255,255,.48);
    font-size:9px;
    font-weight:950;
    line-height:1;
    text-transform:uppercase;
  }

  .appShell.machinesTheme .machineSavedRow > .machineSavedPosition::before{ content:"Posicao"; }
  .appShell.machinesTheme .machineSavedRow > span:nth-child(3)::before{ content:"Cadastro"; }
  .appShell.machinesTheme .machineModelRow > span:nth-child(2)::before{ content:"Operador"; }
  .appShell.machinesTheme .machineModelRow > span:nth-child(3)::before{ content:"Credito"; }
  .appShell.machinesTheme .machineModelRow > span:nth-child(4)::before{ content:"Status"; }

  .appShell.machinesTheme .machineModelRowActions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:7px;
  }

  .appShell.machinesTheme .machineModelRow button,
  .appShell.machinesTheme .machineSavedRow button{
    width:100%;
    min-height:38px;
    height:auto;
    border-radius:999px;
    padding:8px 10px;
    font-size:11px;
    white-space:normal;
    line-height:1.1;
  }

  .appShell.machinesTheme .machinePlateSwapPanel{
    grid-template-columns:1fr !important;
    gap:12px;
    padding:12px;
    border-radius:18px;
  }

  .appShell.machinesTheme .machinePlateSwapFields{
    grid-template-columns:1fr !important;
    gap:9px;
  }
}

@media (max-width:820px){
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])),
  .settingsBoard:has(.settingsSectionLock:not([hidden])){
    height:calc(100dvh - 118px) !important;
    max-height:calc(100dvh - 118px) !important;
    min-height:0 !important;
    padding-bottom:calc(120px + env(safe-area-inset-bottom)) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsPanel,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsPanel,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsSectionLock,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsSectionLock,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePlanBlock,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePlanBlock,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseMasterPanel,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseMasterPanel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}


/* Indicador global de caixas seletoras */
select:not([multiple]){
  -webkit-appearance:none !important;
  appearance:none !important;
  padding-right:42px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.94) 50%),
    linear-gradient(135deg, rgba(255,255,255,.94) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50% !important;
  background-size:
    6px 6px,
    6px 6px !important;
  background-repeat:no-repeat !important;
}

input[list]{
  padding-right:42px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.94) 50%),
    linear-gradient(135deg, rgba(255,255,255,.94) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50% !important;
  background-size:
    6px 6px,
    6px 6px !important;
  background-repeat:no-repeat !important;
}

/* Correcao mobile critica: topo, alerta de licenca e tela de licenca */
@media (max-width:820px){
  .loginScreen{
    width:100vw;
    max-width:100vw;
    padding:18px !important;
    overflow-x:hidden !important;
  }

  .loginCard{
    width:min(330px, calc(100vw - 56px)) !important;
    max-width:min(330px, calc(100vw - 56px)) !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:34px clamp(22px, 6vw, 30px) 30px !important;
  }

  .loginField,
  .loginField input,
  .loginSubmit{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .workspace{
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .topbar{
    overflow:visible !important;
  }

  .topbarTitle{
    min-width:0;
    padding-right:0 !important;
  }

  .topbarTitle h1{
    max-width:calc(100vw - 128px);
    overflow:visible;
    white-space:normal !important;
    line-height:1.02;
  }

  .appShell.settingsViewActive .topbarTitle h1{
    max-width:calc(100vw - 128px) !important;
    font-size:clamp(28px, 8vw, 34px) !important;
    white-space:normal !important;
  }

  .topActions,
  .appShell.registryTheme .topActions{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    width:auto !important;
    max-width:calc(100vw - 146px);
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    z-index:5;
  }

  .topActions .datePickerWrap,
  .topActions .avatarMenuWrap{
    flex:0 0 auto;
  }

  .topActions .dateSelector{
    width:132px !important;
    flex:0 0 132px !important;
    height:42px !important;
    padding:0 10px !important;
    gap:8px !important;
  }

  .topActions .dateIcon{
    box-sizing:border-box;
    flex:0 0 22px !important;
    width:22px !important;
    min-width:22px !important;
    height:22px !important;
    border-width:3px !important;
    border-radius:7px !important;
  }

  .topActions .avatarButton{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .licenseWarningStrip{
    position:absolute !important;
    top:50px !important;
    right:0 !important;
    width:168px !important;
    max-width:168px !important;
    min-height:38px !important;
    padding:7px 12px !important;
    margin:0 !important;
    justify-content:center !important;
    z-index:4;
  }

  .licenseWarningStrip strong{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap !important;
    text-align:center;
  }

  .appShell.settingsViewActive .licenseWarningStrip{
    display:none !important;
  }

  .settingsBoard:has(.settingsSectionLock:not([hidden])),
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])){
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    padding-bottom:calc(170px + env(safe-area-inset-bottom)) !important;
    overflow:visible !important;
  }

  .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsPanel,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsSectionLock,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePlanBlock,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseQuantityLayout,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseQuantitySelector,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePurchaseSummary,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsPanel,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .settingsSectionLock,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePlanBlock,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseQuantityLayout,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseQuantitySelector,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePurchaseSummary{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePlanBlock,
  .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseQuantityLayout,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licensePlanBlock,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])) .licenseQuantityLayout{
    grid-template-columns:1fr !important;
  }
}

/* Mobile final guard: mantem topo consistente e libera rolagem da tela Licenca. */
@media (max-width:820px){
  html,
  body{
    width:100%;
    min-height:100%;
    overflow-x:hidden;
  }

body.appMode{
    height:100dvh;
    max-height:100dvh;
    overflow:hidden;
    overscroll-behavior:none;
  }

  body.attendantMobileMode{
    height:100dvh;
    max-height:100dvh;
    overflow:hidden;
    overscroll-behavior:none;
  }

  .appShell,
  .appShell.sidebarCollapsed{
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:100dvh !important;
    overflow:hidden !important;
    overflow-anchor:none;
  }

  .workspace{
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overflow-anchor:none;
    overscroll-behavior-y:contain;
    scroll-behavior:auto;
    -webkit-overflow-scrolling:touch;
  }

  .topbar{
    min-width:0 !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .topbarTitle{
    min-width:0 !important;
    max-width:calc(100vw - 132px) !important;
  }

  .topbarTitle h1{
    max-width:100% !important;
  }

  .topActions,
  .appShell.registryTheme .topActions{
    right:0 !important;
    max-width:calc(100vw - 128px) !important;
    flex-wrap:nowrap !important;
  }

  .topActions .dateSelector{
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    overflow:hidden !important;
  }

  .topActions .dateIcon{
    display:block !important;
    flex:0 0 26px !important;
    width:26px !important;
    min-width:26px !important;
    max-width:26px !important;
    height:26px !important;
    border-width:3px !important;
    border-radius:8px !important;
    box-shadow:
      inset 0 7px 0 rgba(255,213,61,.96),
      0 0 18px rgba(111,200,255,.40) !important;
  }

  .topActions .dateClockStack{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .topActions .dateClockStack strong,
  .topActions .dateClockStack span,
  #cashierDateText{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .topActions .avatarButton{
    flex:0 0 42px !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
  }

  .appShell.settingsViewActive .licenseWarningStrip{
    display:none !important;
  }

  .settingsBoard,
  .settingsBoard:has(.settingsSectionLock:not([hidden])),
  .appShell.registryTheme .settingsBoard,
  .appShell.registryTheme .settingsBoard:has(.settingsSectionLock:not([hidden])){
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
    padding-bottom:calc(180px + env(safe-area-inset-bottom)) !important;
  }

  .settingsPanel,
  .settingsSection,
  .settingsSectionLock,
  .licenseStatusCard,
  .licensePlanBlock,
  .licenseQuantityLayout,
  .licenseQuantitySelector,
  .licensePurchaseSummary{
    min-width:0 !important;
    max-width:100% !important;
    overflow:visible !important;
  }
}

/* Gestor: padrao visual uniforme em dourado */
.adminBoard{
  --admin-accent:#f8d24a;
  --admin-accent-strong:#ffd84d;
  --admin-accent-soft:rgba(248,210,74,.16);
  --admin-accent-border:rgba(248,210,74,.36);
  --admin-accent-text:#161006;
}

.adminBoard .adminTabs button.active,
.adminBoard .adminPrimaryAction,
.adminBoard .adminManagerUnitChips button,
.adminBoard .adminManagerRow button[data-manager-action="edit"]{
  color:var(--admin-accent-text) !important;
  border-color:rgba(255,216,77,.62) !important;
  background:linear-gradient(135deg, #ffe977, #f8d24a 54%, #d99a1e) !important;
  box-shadow:
    0 14px 30px rgba(248,210,74,.18),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.adminBoard .adminPanel,
.adminBoard > .adminUnitsPanel{
  border-color:rgba(248,210,74,.18) !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(248,210,74,.08), transparent 34%),
    linear-gradient(180deg, rgba(18,16,11,.84), rgba(7,8,10,.94)) !important;
}

.adminBoard .adminUnitAutoSummary{
  border-color:var(--admin-accent-border) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(248,210,74,.16), transparent 30%),
    linear-gradient(180deg, rgba(248,210,74,.075), rgba(255,255,255,.025)) !important;
}

.adminBoard .adminUnitAutoSummary strong{
  color:#ffe477 !important;
}

.adminBoard .adminManagerUnitSelector select,
.adminBoard .adminManagerUnitBadges em,
.adminBoard .adminUnitList article,
.adminBoard .adminUnitSummary::after{
  border-color:var(--admin-accent-border) !important;
}

.adminBoard .adminManagerUnitSelector select:focus{
  border-color:rgba(255,216,77,.70) !important;
  box-shadow:
    0 0 0 4px rgba(248,210,74,.12),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.adminBoard .adminManagerRow,
.adminBoard .adminUnitList article{
  background:
    radial-gradient(circle at 90% 10%, rgba(248,210,74,.12), transparent 34%),
    rgba(0,0,0,.16) !important;
}

.adminBoard .adminManagerUnitBadges em{
  color:#ffe477 !important;
  background:rgba(248,210,74,.10) !important;
}

.adminBoard .adminUnitList article[data-status="trial"],
.adminBoard .adminUnitList article[data-license="active"]{
  border-color:var(--admin-accent-border) !important;
}

.adminBoard .adminUnitList article[data-status="trial"] span,
.adminBoard .adminUnitList .adminUnitLicenseBadge{
  color:var(--admin-accent-text) !important;
  background:var(--admin-accent-strong) !important;
}

.adminBoard .adminUnitList article[data-expanded="true"] .adminUnitSummary::after,
.adminBoard .adminSecondaryAction:hover,
.adminBoard .adminUnitActions button:hover,
.adminBoard .adminManagerRow button:hover{
  border-color:rgba(255,216,77,.54) !important;
}

/* Maquinas: lista de modelos acompanha a quantidade e rola quando necessario */
.appShell.machinesTheme .machineConfigPanel,
.appShell.machinesTheme .machineConfigContent,
.appShell.machinesTheme .machineConfigContent > .machinePanel,
.appShell.machinesTheme .machineReadingPanel,
.appShell.machinesTheme .machineReadingContent,
.appShell.machinesTheme .machineEmbeddedPanel{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.appShell.machinesTheme .machineReadingList,
.appShell.machinesTheme .machineReadingHistory{
  box-sizing:border-box !important;
  min-height:0 !important;
  height:auto !important;
  max-height:min(660px, calc(100dvh - 360px)) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain;
  padding-right:6px !important;
  padding-bottom:34px !important;
  scroll-padding-bottom:34px !important;
  -webkit-overflow-scrolling:touch;
}

.appShell.machinesTheme .machineReadingPanel{
  box-sizing:border-box !important;
  display:grid !important;
  align-content:start !important;
  gap:14px !important;
  overflow:hidden !important;
}

.appShell.machinesTheme .machineReadingContent{
  min-height:0 !important;
  overflow:hidden !important;
}

.appShell.machinesTheme .machineReadingList > .machineReadingRow:last-child,
.appShell.machinesTheme .machineReadingHistory > .machineReadingHistoryRow:last-child{
  margin-bottom:10px !important;
}

.appShell.machinesTheme .machineModelList{
  min-height:0 !important;
  height:auto !important;
  max-height:min(640px, calc(100dvh - 330px)) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain;
  padding-right:6px !important;
  padding-bottom:16px !important;
  -webkit-overflow-scrolling:touch;
}

.appShell.machinesTheme .machineSavedList{
  min-height:0 !important;
  height:auto !important;
  max-height:min(720px, calc(100dvh - 280px)) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain;
  padding-right:6px !important;
  padding-bottom:16px !important;
  -webkit-overflow-scrolling:touch;
}

.appShell.machinesTheme .machineSavedHeader{
  top:0 !important;
}

@media (min-width:821px){
  .appShell.machinesTheme .machineReadingPanel,
  .appShell.machinesTheme .machineReportsPanel{
    gap:8px !important;
    padding:12px 16px 14px !important;
    min-height:0 !important;
  }

  .appShell.machinesTheme .machineReadingPanel > .machinePanelHeading,
  .appShell.machinesTheme .machineReportsPanel > .machinePanelHeading{
    display:none;
  }

  .appShell.machinesTheme .machineReadingPanel .machineSubSelector,
  .appShell.machinesTheme .machineReportsPanel .machineReportSelector{
    min-height:38px;
  }

  .appShell.machinesTheme .machineReadingPanel .machineSubSelectorItem,
  .appShell.machinesTheme .machineReportsPanel .machineReportSelectorItem{
    min-height:34px;
    padding:0 14px;
    font-size:12px;
  }

  .appShell.machinesTheme .machineReadingControls{
    grid-template-columns:max-content minmax(0, 1fr);
    gap:8px;
  }

  .appShell.machinesTheme .machineReadingSearch,
  .appShell.machinesTheme .machineResultFilters label,
  .appShell.machinesTheme .machineReadingHistoryFilters label{
    height:42px;
    min-height:42px;
    padding:0 12px;
  }

  .appShell.machinesTheme .machineResultFilters,
  .appShell.machinesTheme .machineReadingHistoryFilters{
    gap:8px;
  }

  .appShell.machinesTheme .machineReadingContent,
  .appShell.machinesTheme .machineReportContent{
    display:grid;
    gap:8px;
    min-height:0 !important;
    overflow:hidden !important;
  }

  .appShell.machinesTheme .machineReadingList,
  .appShell.machinesTheme .machineReadingHistory,
  .appShell.machinesTheme .machineResultReport{
    max-height:min(760px, calc(100dvh - 218px)) !important;
    padding-bottom:22px !important;
  }

  .appShell.machinesTheme .machineReadingMode{
    min-height:46px;
    padding:9px 12px;
  }

  .appShell.machinesTheme .machineReadingRow,
  .appShell.machinesTheme .machineReadingHistoryRow,
  .appShell.machinesTheme .machineResultRow{
    min-height:48px;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .appShell.machinesTheme .machineReadingHistoryHeader,
  .appShell.machinesTheme .machineResultHeader{
    padding-top:8px !important;
    padding-bottom:8px !important;
    margin-bottom:0 !important;
  }

  .appShell.machinesTheme .machineConfigPanel{
    gap:8px !important;
    padding:12px 16px 14px !important;
  }

  .appShell.machinesTheme .machineConfigPanel > .machinePanelHeading{
    display:none;
  }

  .appShell.machinesTheme .machineConfigSelector{
    min-height:38px;
  }

  .appShell.machinesTheme .machineConfigSelector .machineReportSelectorItem{
    min-height:34px;
    padding:0 14px;
    font-size:12px;
  }

  .appShell.machinesTheme .machineConfigContent{
    display:grid;
    gap:8px;
    min-height:0 !important;
  }

  .appShell.machinesTheme .machineConfigContent > .machineEmbeddedPanel{
    display:grid;
    gap:8px;
    min-height:0 !important;
  }

  .appShell.machinesTheme .machineMachineCreateForm{
    grid-template-columns:minmax(0, 1fr) auto;
    gap:8px;
    align-items:center;
    padding-bottom:6px;
    border-bottom:1px solid rgba(125,211,252,.10);
  }

  .appShell.machinesTheme .machineMachineCreateGrid{
    grid-template-columns:minmax(260px, 1fr) minmax(108px, 132px) !important;
    gap:8px !important;
  }

  .appShell.machinesTheme .machineMachineCreateForm .machinePanelFields label,
  .appShell.machinesTheme .machineSavedFilters label{
    height:42px;
    min-height:42px;
    padding:0 12px;
  }

  .appShell.machinesTheme .machineMachineCreateForm .machineModelActions{
    height:42px;
  }

  .appShell.machinesTheme .machineMachineCreateForm .machineModelActions .saveAction,
  .appShell.machinesTheme .machineMachineCreateForm .machineModelActions .secondaryAction{
    min-width:118px;
    height:42px;
    min-height:42px;
  }

  .appShell.machinesTheme .machineSavedTitle{
    margin-top:2px;
    font-size:14px;
  }

  .appShell.machinesTheme .machineSavedFilters{
    grid-template-columns:minmax(240px, 1fr) minmax(180px, .45fr);
    gap:8px;
  }

  .appShell.machinesTheme .machineSavedList{
    gap:6px;
    max-height:min(760px, calc(100dvh - 220px)) !important;
    padding-bottom:22px !important;
  }

  .appShell.machinesTheme .machineSavedHeader{
    padding-top:8px !important;
    padding-bottom:8px !important;
    margin-bottom:0 !important;
  }

  .appShell.machinesTheme .machineSavedRow{
    min-height:48px;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}

.appShell.machinesTheme .machineModelListHeader{
  top:0 !important;
}

@media (min-width:821px){
  .appShell.machinesTheme .machineModelList{
    --machine-model-grid:
      minmax(180px, 1.3fr)
      minmax(150px, 1fr)
      minmax(118px, .75fr)
      minmax(104px, .65fr)
      minmax(150px, auto);
  }

  .appShell.machinesTheme .machineModelListHeader,
  .appShell.machinesTheme .machineModelRow{
    grid-template-columns:var(--machine-model-grid) !important;
    column-gap:10px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .appShell.machinesTheme .machineModelListHeader span:nth-child(1),
  .appShell.machinesTheme .machineModelRow strong{
    justify-self:stretch !important;
    text-align:left !important;
  }

  .appShell.machinesTheme .machineModelListHeader span:nth-child(2),
  .appShell.machinesTheme .machineModelRow > span:nth-of-type(1){
    justify-self:stretch !important;
    text-align:left !important;
  }

  .appShell.machinesTheme .machineModelListHeader span:nth-child(3),
  .appShell.machinesTheme .machineModelListHeader span:nth-child(4),
  .appShell.machinesTheme .machineModelRow > span:nth-of-type(2),
  .appShell.machinesTheme .machineModelRow > span:nth-of-type(3){
    justify-self:center !important;
    text-align:center !important;
  }

  .appShell.machinesTheme .machineModelListHeader span:nth-child(5),
  .appShell.machinesTheme .machineModelRowActions{
    justify-self:end !important;
    min-width:150px !important;
    text-align:center !important;
  }

  .appShell.machinesTheme .machineModelRowActions{
    justify-content:flex-end !important;
  }

  .appShell.machinesTheme .machineSavedList{
    --machine-saved-grid:
      minmax(180px, 1.2fr)
      minmax(150px, .8fr)
      minmax(150px, .8fr)
      minmax(270px, auto);
  }

  .appShell.machinesTheme .machineSavedHeader,
  .appShell.machinesTheme .machineSavedRow{
    grid-template-columns:var(--machine-saved-grid) !important;
    column-gap:10px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .appShell.machinesTheme .machineSavedHeader span:nth-child(1),
  .appShell.machinesTheme .machineSavedRow .machineSavedName,
  .appShell.machinesTheme .machineSavedRow strong{
    justify-self:stretch !important;
    text-align:left !important;
  }

  .appShell.machinesTheme .machineSavedHeader span:nth-child(2),
  .appShell.machinesTheme .machineSavedRow > .machineSavedPosition,
  .appShell.machinesTheme .machineSavedHeader span:nth-child(3),
  .appShell.machinesTheme .machineSavedRow > span{
    justify-self:center !important;
    text-align:center !important;
  }

  .appShell.machinesTheme .machineSavedHeader span:nth-child(4),
  .appShell.machinesTheme .machineSavedRow .machineModelRowActions{
    justify-self:end !important;
    min-width:270px !important;
    text-align:center !important;
  }
}

/* Maquinas: hover estavel na tela de leitura */
.appShell.machinesTheme .machineReadingRow{
  padding:12px 14px !important;
  transform:none !important;
  transition:background-color .12s ease, border-color .12s ease !important;
}

.appShell.machinesTheme .machineReadingRow:hover{
  padding:12px 14px !important;
  transform:none !important;
  background:rgba(125,211,252,.035) !important;
  box-shadow:none !important;
}

.appShell.machinesTheme .machineReadingRow::after{
  display:none !important;
}

@media (max-width:820px){
  .appShell.machinesTheme .machineReadingPanel,
  .appShell.machinesTheme .machineReadingContent{
    overflow:visible !important;
  }

  .appShell.machinesTheme .machineReadingList,
  .appShell.machinesTheme .machineReadingHistory,
  .appShell.machinesTheme .machineSavedList,
  .appShell.machinesTheme .machineModelList{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
    padding-bottom:calc(180px + env(safe-area-inset-bottom)) !important;
  }
}

/* Maquinas: leitura sem efeito de hover para evitar piscar */
.appShell.machinesTheme .machineReadingRow,
.appShell.machinesTheme .machineReadingRow:hover,
.appShell.machinesTheme .machineReadingRow:focus-within{
  min-height:84px !important;
  padding:12px 14px !important;
  border:0 !important;
  border-bottom:1px solid rgba(125,211,252,.11) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
}

.appShell.machinesTheme .machineReadingRow *,
.appShell.machinesTheme .machineReadingRow:hover *,
.appShell.machinesTheme .machineReadingRow:focus-within *{
  transition:none !important;
  animation:none !important;
}

.appShell.machinesTheme .machineReadingRow::before{
  pointer-events:none !important;
}

.appShell.machinesTheme .machineReadingRow::after,
.appShell.machinesTheme .machineReadingRow:hover::after,
.appShell.machinesTheme .machineReadingRow:focus-within::after{
  content:none !important;
  display:none !important;
}

/* Extrato: respiro inferior para a ultima linha nao encostar na base da tela */
#statementBoard{
  padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
  scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
}

#statementList{
  padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
}

/* Atendente mobile: telas de acao em overlay para uso frequente */
@media (max-width:820px){
  .attendantMobile.mobilePanelActive .mobileStatementRow{
    min-height:72px;
    padding:12px;
    grid-template-columns:62px minmax(0, 1fr) auto;
    align-items:center;
    gap:8px;
  }

  .attendantMobile.mobilePanelActive .mobileStatementRow .statementDateTime{
    min-width:62px;
    display:grid;
    gap:3px;
  }

  .attendantMobile.mobilePanelActive .mobileStatementRow .statementDateTime strong{
    font-size:12px;
    line-height:1.1;
  }

  .attendantMobile.mobilePanelActive .mobileStatementRow .statementDateTime small{
    font-size:12px;
    line-height:1.1;
  }

  .attendantMobile.mobilePanelActive .mobileStatementRow strong{
    font-size:15px;
    line-height:1.18;
  }

  .attendantMobile.mobilePanelActive .mobileStatementRow span{
    margin-top:3px;
    font-size:12px;
    line-height:1.25;
    white-space:normal;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  .attendantMobile.mobilePanelActive .mobileStatementRow > strong{
    justify-self:end;
    align-self:center;
    white-space:nowrap;
    font-size:15px;
    line-height:1.15;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceCard{
    padding:10px 12px;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceSummary{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:10px;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceSummary > div:first-child{
    min-width:0;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceSummary span{
    font-size:10px;
    line-height:1;
    white-space:nowrap;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceSummary strong{
    margin-top:3px;
    font-size:clamp(20px, 7vw, 26px);
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceActions{
    width:auto;
    display:flex;
    justify-content:flex-end;
    gap:6px;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceEye{
    width:34px;
    height:34px;
  }

  .attendantMobile.mobilePanelActive #mobileStatementPanel .mobileBalanceDetailsToggle{
    min-width:68px;
    height:34px;
    padding:0 9px;
    font-size:11px;
  }

  .attendantMobile:not(.mobilePanelActive){
    height:var(--app-viewport-height) !important;
    min-height:var(--app-viewport-height) !important;
    align-content:start;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    padding-bottom:calc(34px + env(safe-area-inset-bottom)) !important;
  }

  .attendantMobile:not(.mobilePanelActive) .attendantMobileContent{
    min-height:max-content;
    overflow:visible !important;
    padding-bottom:calc(42px + env(safe-area-inset-bottom));
  }

  .attendantMobile:not(.mobilePanelActive) .mobileHomeGrid{
    min-height:0;
    padding-bottom:calc(16px + env(safe-area-inset-bottom));
  }

  .attendantMobile.mobilePanelActive{
    overflow:hidden !important;
  }

  .attendantMobile.mobilePanelActive .attendantMobileHeader,
  .attendantMobile.mobilePanelActive .mobileConferenceAlert,
  .attendantMobile.mobilePanelActive .mobileExchangeAlert,
  .attendantMobile.mobilePanelActive .mobileHomeGrid,
  .attendantMobile.mobilePanelActive .attendantMobileFooter{
    visibility:hidden;
    pointer-events:none;
  }

  .attendantMobile.mobilePanelActive .mobileConferenceAlert,
  .attendantMobile.mobilePanelActive .mobileExchangeAlert,
  .attendantMobile.mobilePanelActive .attendantMobileFooter{
    display:none !important;
  }

  .attendantMobile.mobilePanelActive .attendantMobileContent{
    position:fixed;
    inset:0;
    z-index:180;

    width:100%;
    height:var(--app-viewport-height);
    min-height:0;
    margin:0;
    padding:
      max(12px, env(safe-area-inset-top))
      12px
      max(12px, env(safe-area-inset-bottom));

    display:block;
    overflow:hidden;
  }

  .attendantMobile.mobilePanelActive .mobileActionCard,
  .attendantMobile.mobilePanelActive .mobileStatementCard{
    width:100%;
    height:100%;
    max-height:none !important;
    min-height:0 !important;

    border-radius:22px;
    padding:14px;

    grid-template-rows:auto minmax(0, 1fr);
    align-content:stretch;
    gap:12px;

    overflow:hidden !important;
    overscroll-behavior:contain;
  }

  .attendantMobile.mobilePanelActive .mobilePanelHeader{
    min-height:46px;
    flex:0 0 auto;
  }

  .attendantMobile.mobilePanelActive .mobilePaymentForm,
  .attendantMobile.mobilePanelActive .mobileClientCheckinPanel,
  .attendantMobile.mobilePanelActive .mobileClientForm{
    min-height:0;
    max-height:100%;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }

  .attendantMobile.mobilePanelActive .mobileStatementCard{
    grid-template-rows:auto auto auto;
    align-content:start;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }

  .attendantMobile.mobilePanelActive .mobileStatementList{
    min-height:0;
    overflow-y:visible !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    padding-bottom:calc(28px + env(safe-area-inset-bottom));
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel{
    height:100% !important;
    max-height:none !important;
    padding:
      10px
      12px
      calc(16px + env(safe-area-inset-bottom)) !important;
    grid-template-rows:auto auto auto auto;
    align-content:start;
    gap:8px;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobilePanelHeader{
    min-height:38px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileCardTitle h2{
    font-size:20px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileCardTitle span{
    display:none;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientModeTabs{
    gap:6px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientModeTabs button{
    height:40px;
    font-size:14px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientCheckinPanel,
  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientForm{
    max-height:none;
    padding-bottom:0;
    gap:8px;
    overflow:visible !important;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientSearchField{
    gap:5px;
    scroll-margin-top:72px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientSearchField span,
  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientForm label > span{
    font-size:12px;
    line-height:1.1;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientSearchField input,
  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientForm input{
    height:48px;
    font-size:17px;
    scroll-margin-top:86px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientSearchResults{
    max-height:28dvh;
    gap:9px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientSearchResult{
    min-height:62px;
    padding:12px 14px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientSearchResult strong{
    font-size:16px;
    line-height:1.18;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientSearchResult span{
    font-size:13px;
    line-height:1.25;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecent{
    padding-top:0;
    gap:8px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentToggle{
    min-height:50px;
    padding:8px 10px 8px 12px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentToggle strong{
    font-size:16px;
    line-height:1.15;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentToggle em{
    font-size:13px;
    line-height:1.15;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentToggle b{
    min-width:70px;
    height:30px;
    font-size:12px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentList{
    max-height:30dvh;
    gap:9px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentRow{
    min-height:62px;
    padding:12px 14px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentInfo strong,
  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientEmpty strong{
    font-size:16px;
    line-height:1.18;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientRecentInfo span,
  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientEmpty span{
    font-size:13px;
    line-height:1.25;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientNotice strong{
    font-size:15px;
  }

  .attendantMobile.mobilePanelActive #mobileClientsPanel .mobileClientNotice span{
    font-size:13px;
  }

  .attendantMobile.mobilePanelActive #mobilePaymentPanel{
    height:100% !important;
    max-height:none !important;
    padding:14px !important;
    overflow:hidden !important;
  }

  .attendantMobile.mobilePanelActive #mobilePaymentPanel .mobilePaymentForm{
    gap:8px !important;
    overflow:visible !important;
  }
}

/* Atendente mobile: Pago manual com respiro na base em telas baixas */
@media (max-width:820px) and (max-height:740px){
  .attendantMobile #mobilePaymentPanel{
    height:calc(var(--app-viewport-height) - 154px) !important;
    max-height:calc(var(--app-viewport-height) - 154px) !important;
    padding:10px !important;
    gap:7px !important;
    grid-template-rows:auto minmax(0, 1fr) !important;
    align-content:stretch !important;
    overflow:hidden !important;
  }

  .attendantMobile #mobilePaymentPanel .mobilePanelHeader{
    min-height:32px !important;
  }

  .attendantMobile #mobilePaymentPanel .mobilePaymentForm{
    min-height:0 !important;
    gap:6px !important;
    padding-bottom:calc(26px + env(safe-area-inset-bottom)) !important;
    overflow-y:visible !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y !important;
  }

  .attendantMobile #mobilePaymentPanel .mobilePaymentForm label{
    gap:4px !important;
  }

  .attendantMobile #mobilePaymentPanel .mobilePaymentForm input,
  .attendantMobile #mobilePaymentPanel .mobilePaymentForm select,
  .attendantMobile #mobilePaymentPanel .mobileSelectPickerTrigger,
  .attendantMobile #mobilePaymentPanel .mobilePaymentClientSearch input{
    min-height:46px !important;
    height:46px !important;
    border-radius:14px !important;
  }

  .attendantMobile #mobilePaymentPanel .mobilePaymentForm input[inputmode="numeric"]{
    height:52px !important;
    font-size:25px !important;
  }

  .attendantMobile #mobilePaymentPanel .mobilePaymentForm button{
    height:50px !important;
  }
}

@media (max-width:820px){
  .attendantMobile.mobilePanelActive #mobilePaymentPanel{
    height:100% !important;
    max-height:none !important;
    padding:12px !important;
    gap:8px !important;
    overflow:hidden !important;
  }

  .attendantMobile.mobilePanelActive #mobilePaymentPanel .mobilePanelHeader{
    min-height:40px !important;
  }

  .attendantMobile.mobilePanelActive #mobilePaymentPanel .mobilePaymentForm{
    gap:7px !important;
    padding-bottom:0 !important;
    overflow:visible !important;
  }

  .attendantMobile.mobilePanelActive #mobilePaymentPanel #mobilePaymentMachineNumber,
  .attendantMobile.mobilePanelActive #mobilePaymentPanel #mobilePaymentValue,
  .attendantMobile.mobilePanelActive #mobilePaymentPanel #mobilePaymentOutput{
    height:54px !important;
    min-height:54px !important;
    font-size:27px !important;
  }

  .attendantMobile.mobilePanelActive #mobilePaymentPanel #mobilePaymentValidationCode{
    height:50px !important;
    min-height:50px !important;
    font-size:22px !important;
  }
}

/* Sidebar acompanha o fundo do tema ativo */
.appShell .sidebar,
.appShell.operationalTheme .sidebar,
.appShell.analysisTheme .sidebar,
.appShell.machinesTheme .sidebar,
.appShell.registryTheme .sidebar{
  border-right-color:rgba(255,255,255,.12) !important;
  background:rgba(0,0,0,.12) !important;
  backdrop-filter:blur(18px) saturate(1.12);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
  box-shadow:
    inset -1px 0 0 rgba(255,255,255,.045),
    16px 0 34px rgba(0,0,0,.10) !important;
}

.appShell .sidebar::before,
.appShell .sidebar::after,
.appShell.analysisTheme .sidebar::before,
.appShell.analysisTheme .sidebar::after{
  background:transparent !important;
}

.appShell.analysisTheme .sidebar .navGroupAnalysis .navItem.active{
  background:rgba(255,255,255,.055) !important;
  box-shadow:inset 3px 0 0 rgba(127,255,212,.86) !important;
}

.appShell.analysisTheme{
  background:
    radial-gradient(circle at 34% 24%, rgba(127,255,212,.18), transparent 34%),
    radial-gradient(circle at 78% 86%, rgba(72,187,255,.12), transparent 32%),
    linear-gradient(135deg, #071f26 0%, #0a2630 48%, #041018 100%) !important;
}

.machineResultEvolutionSlot:empty{
  display:none;
}

.machineResultEvolutionModal{
  position:fixed;
  inset:0;
  z-index:220;

  padding:24px;

  display:none;
  align-items:center;
  justify-content:center;

  background:rgba(0,0,0,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.machineResultEvolutionModal.open{
  display:flex;
}

.machineResultEvolutionDialog{
  width:min(1120px, 100%);
  max-height:calc(100dvh - 48px);

  position:relative;

  padding:24px;

  border:1px solid rgba(125,203,255,.24);
  border-radius:22px;

  display:grid;
  gap:14px;

  color:#fff;
  background:
    radial-gradient(circle at 26% 12%, rgba(56,189,248,.20), transparent 34%),
    radial-gradient(circle at 80% 82%, rgba(34,197,94,.13), transparent 34%),
    linear-gradient(180deg, rgba(7,31,64,.98), rgba(2,10,27,.98));
  box-shadow:0 24px 72px rgba(0,0,0,.46);
}

.machineResultEvolutionDialog.graphListMode{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.machineResultEvolutionDialog .modalEyebrow{
  margin:0;

  color:#74e8ff;

  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.machineResultEvolutionDialog h2{
  margin:0;

  max-width:calc(100% - 46px);

  font-size:24px;
  font-weight:950;
  line-height:1.12;
}

.machineResultGraphTabs{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.machineResultGraphTabs button{
  min-width:0;
  height:38px;

  padding:
    0
    18px;

  border:1px solid rgba(125,203,255,.18);
  border-radius:999px;

  color:rgba(218,240,255,.62);
  background:rgba(0,0,0,.18);

  font-size:12px;
  font-weight:950;

  cursor:pointer;
}

.machineResultGraphTabs button.active{
  border-color:rgba(116,232,255,.42);
  color:#03131d;
  background:linear-gradient(135deg, #74e8ff, #38bdf8);
  box-shadow:0 10px 24px rgba(56,189,248,.18);
}

.machineResultGraphControls{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:10px;
  align-items:center;
}

.machineResultGraphControls label{
  min-width:0;
  height:42px;

  padding:
    0
    14px;

  border:1px solid rgba(125,203,255,.16);
  border-radius:999px;

  display:grid;
  align-content:center;
  gap:2px;

  background:rgba(0,0,0,.18);
}

.machineResultGraphControls label[hidden],
.machineResultGraphControls .machineResultGraphDateSlot[hidden]{
  display:none;
}

.machineResultGraphDateSlot{
  min-width:0;
  position:relative;
}

.machineResultGraphDateWrap{
  min-width:0;
}

.machineResultGraphDateWrap .machineResultDateButton{
  width:100%;
  height:42px;
}

.machineResultGraphDateWrap .machineResultCalendarPopover{
  top:calc(100% + 8px);
  left:0;
  right:auto;
  z-index:20;
}

.machineResultGraphControls span{
  color:rgba(218,240,255,.62);

  font-size:9px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
}

.machineResultGraphControls select,
.machineResultGraphControls input{
  width:100%;
  min-width:0;

  border:0;

  color:#fff;
  background:transparent;
  outline:none;

  font:inherit;
  font-size:13px;
  font-weight:850;
}

.machineResultGraphControls select{
  appearance:none;
  cursor:pointer;
}

.machineResultGraphControls select option{
  color:#07111d;
}

.machineResultGraphGenerate{
  height:42px;
  padding:0 18px;

  border:0;
  border-radius:999px;

  color:#03131d;
  background:linear-gradient(135deg, #74e8ff, #38bdf8);
  box-shadow:0 10px 24px rgba(56,189,248,.18);

  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
}

.machineResultEvolutionClose{
  top:16px;
  right:16px;
}

.machineResultEvolutionModalBody{
  min-width:0;
  min-height:0;
  max-height:calc(100dvh - 180px);

  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding-right:4px;
}

.machineResultEvolutionDialog.graphListMode .machineResultEvolutionModalBody{
  max-height:none;
  overflow:visible;
  padding-right:0;
}

.machineResultEvolutionModalBody .machineResultEvolution{
  border-radius:18px;
}

.machineResultEvolutionModalBody .machineResultEvolutionChart{
  height:min(52dvh, 390px);
}

.machineResultGraphBars{
  min-width:0;

  padding:14px;

  border:1px solid rgba(125,203,255,.18);
  border-radius:18px;

  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(2,13,39,.46));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

.machineResultGraphTitle{
  display:block;
  margin-bottom:12px;

  color:#fff;

  font-size:20px;
  font-weight:950;
  line-height:1.05;
  text-align:center;
}

.machineResultGraphBarList{
  display:grid;
  gap:10px;
}

.machineResultGraphBarItem{
  min-width:0;

  padding:10px 12px;

  border:1px solid rgba(125,203,255,.13);
  border-radius:14px;

  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  align-items:center;
  gap:10px;

  background:rgba(0,0,0,.18);
}

.machineResultShareGraph .machineResultGraphBarItem{
  grid-template-columns:minmax(0, 1fr);
}

.machineResultGraphRank{
  width:34px;
  height:34px;

  border-radius:999px;

  display:grid;
  place-items:center;

  color:#03131d;
  background:#ffd53d;

  font-size:13px;
  font-weight:950;
}

.machineResultGraphBarContent{
  min-width:0;

  display:grid;
  gap:7px;
}

.machineResultGraphBarHeading{
  min-width:0;

  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:4px 12px;
}

.machineResultGraphIdentity{
  min-width:0;

  display:grid;
  gap:2px;
}

.machineResultGraphBarHeading strong,
.machineResultPremiumShareHeading strong{
  min-width:0;

  color:#fff;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  font-size:14px;
  font-weight:950;
}

.machineResultGraphBarHeading small,
.machineResultPremiumShareHeading small{
  min-width:0;

  color:rgba(218,240,255,.62);

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  font-size:11px;
  font-weight:850;
}

.machineResultGraphResult{
  color:#ffd53d;

  font-size:14px;
  font-weight:950;
  white-space:nowrap;
}

.machineResultGraphResult.negative{
  color:#ff5f73;
}

.machineResultGraphTrack{
  height:10px;

  border-radius:999px;

  overflow:hidden;

  background:rgba(255,255,255,.08);
}

.machineResultGraphFill{
  height:100%;

  border-radius:999px;

  display:block;
}

.machineResultGraphFill.entry{
  background:linear-gradient(90deg, #38bdf8, #74e8ff);
}

.machineResultGraphFill.share{
  background:linear-gradient(90deg, #22c55e, #86efac);
}

.machineResultGraphFill.share.negative{
  background:linear-gradient(90deg, #f43f5e, #fb7185);
}

.machineResultPremiumShareList{
  display:grid;
  gap:9px;
}

.machineResultPremiumShareItem{
  min-width:0;

  padding:10px 12px;

  border:1px solid rgba(125,203,255,.14);
  border-radius:16px;

  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  align-items:center;
  gap:11px;

  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.machineResultPremiumShareItem.negative{
  border-color:rgba(255,95,115,.25);
}

.machineResultPremiumShareRank{
  width:30px;
  height:30px;

  border-radius:999px;

  display:grid;
  place-items:center;

  color:#03131d;
  background:linear-gradient(135deg, #ffd53d, #fff2a6);

  font-size:12px;
  font-weight:950;
}

.machineResultPremiumShareContent{
  min-width:0;

  display:grid;
  gap:7px;
}

.machineResultPremiumShareHeading{
  min-width:0;

  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
}

.machineResultPremiumSharePercent{
  color:#ffd53d;

  font-size:15px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}

.machineResultPremiumSharePercent.negative{
  color:#ff5f73;
}

.machineResultPremiumShareTrack{
  height:12px;

  border-radius:999px;

  overflow:hidden;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
}

.machineResultPremiumShareFill{
  height:100%;

  border-radius:999px;

  display:block;

  background:
    linear-gradient(90deg, #22c55e, #86efac);
  box-shadow:0 0 18px rgba(34,197,94,.24);
}

.machineResultPremiumShareFill.negative{
  background:
    linear-gradient(90deg, #f43f5e, #fb7185);
  box-shadow:0 0 18px rgba(244,63,94,.22);
}

@media (max-width:820px){
  .machineResultEvolutionModal{
    padding:0;
    align-items:stretch;
  }

  .machineResultEvolutionDialog{
    width:100%;
    max-height:none;
    min-height:100dvh;

    padding:
      calc(18px + env(safe-area-inset-top))
      12px
      calc(18px + env(safe-area-inset-bottom));

    border:0;
    border-radius:0;

    align-content:start;
  }

  .machineResultEvolutionDialog h2{
    font-size:22px;
  }

  .machineResultGraphTabs{
    gap:8px;
  }

  .machineResultGraphTabs button{
    flex:1 1 96px;
    height:34px;
    padding:0 12px;
  }

  .machineResultGraphControls{
    grid-template-columns:1fr;
    gap:8px;
  }

  .machineResultGraphControls label{
    height:40px;
  }

  .machineResultEvolutionModalBody{
    max-height:calc(100dvh - 205px);
  }

  .machineResultEvolutionDialog.graphListMode .machineResultEvolutionModalBody{
    max-height:none;
    overflow:visible;
  }

  .machineResultEvolutionModalBody .machineResultEvolutionChart{
    height:min(58dvh, 460px);
  }

  .machineResultEvolutionTitle{
    font-size:18px;
  }

  .machineResultChartAxisLabel,
  .machineResultChartDateLabel{
    font-size:9px;
  }

  .machineResultGraphBarItem{
    grid-template-columns:32px minmax(0, 1fr);
    padding:9px 10px;
  }

  .machineResultGraphRank{
    width:30px;
    height:30px;
  }

  .machineResultGraphBarHeading{
    grid-template-columns:minmax(0, 1fr);
  }

  .machineResultGraphResult{
    justify-self:start;
  }

  .machineResultPremiumShareItem{
    grid-template-columns:30px minmax(0, 1fr);
    padding:9px 10px;
    gap:9px;
  }

  .machineResultPremiumShareRank{
    width:28px;
    height:28px;
  }

  .machineResultPremiumShareHeading strong{
    font-size:13px;
  }

  .machineResultPremiumSharePercent{
    font-size:13px;
  }
}

.machineResultEvolution{
  min-width:0;

  padding:10px 16px 8px;

  border:1px solid rgba(125,203,255,.18);
  border-radius:12px;

  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(2,13,39,.46));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10);
}

.machineResultEvolutionTitle{
  min-width:0;

  display:block;
  color:#fff;

  font-size:20px;
  font-weight:950;
  line-height:1.05;
  text-align:center;
  text-shadow:0 2px 8px rgba(0,0,0,.36);
}

.machineResultEvolutionLegend{
  margin-top:3px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  flex-wrap:wrap;
}

.machineResultEvolutionLegendItem{
  display:inline-flex;
  align-items:center;
  gap:6px;

  color:rgba(255,255,255,.74);

  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.machineResultEvolutionLegendItem i{
  width:9px;
  height:9px;

  border-radius:999px;

  display:block;
}

.machineResultEvolutionLegendItem.entry i{
  background:#38bdf8;
}

.machineResultEvolutionLegendItem.output i{
  background:#fb923c;
}

.machineResultEvolutionLegendItem.result i{
  background:#22c55e;
}

.machineResultEvolutionChart{
  height:150px;
  margin-top:4px;
}

.machineResultEvolutionChart svg{
  width:100%;
  height:100%;

  display:block;
  overflow:visible;
}

.machineResultChartGrid{
  stroke:rgba(255,255,255,.12);
  stroke-width:1;
}

.machineResultChartGrid.vertical{
  stroke:rgba(255,255,255,.08);
}

.machineResultChartAxisLabel,
.machineResultChartDateLabel{
  fill:rgba(218,240,255,.58);

  font-size:10px;
  font-weight:850;
}

.machineResultChartLine{
  fill:none;
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.machineResultChartLine.entry{
  stroke:#38bdf8;
}

.machineResultChartLine.output{
  stroke:#fb923c;
}

.machineResultChartLine.result{
  stroke:#22c55e;
}

.machineResultChartPoint{
  stroke-width:2;
}

@media (max-width:820px){
  .statementFilterSummary{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .statementFilterSummaryMetrics{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .statementFilterSummaryMetrics span{
    min-width:0;
  }
}

/* Relatorio Resultado: linhas mais compactas e numeros mais legiveis */
@media (min-width:821px){
  .appShell.machinesTheme .machineReportsPanel,
  .appShell.machinesTheme .machineReportContent,
  .appShell.machinesTheme .machineReportContent > .machinePanel,
  .appShell.machinesTheme .machineEmbeddedPanel,
  .appShell.machinesTheme .machineResultSurface{
    min-height:0 !important;
    overflow:hidden !important;
  }

  .appShell.machinesTheme .machineResultSurface{
    max-height:calc(100dvh - 245px) !important;
    display:grid !important;
    grid-template-rows:auto minmax(0, 1fr) !important;
    align-content:stretch !important;
    gap:8px !important;
  }

  .appShell.machinesTheme .machineResultFilters{
    position:relative;
    z-index:4;
  }

  .appShell.machinesTheme .machineResultReport{
    min-height:0 !important;
    max-height:none !important;
    height:100% !important;
    padding-right:4px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
  }

  .appShell.machinesTheme .machineResultHeader{
    position:sticky !important;
    top:0 !important;
    z-index:5 !important;
  }

  .appShell.machinesTheme .machineResultRow,
  .appShell.machinesTheme .machineResultDetailRow{
    min-height:40px !important;
    padding:5px 10px !important;
  }

  .appShell.machinesTheme .machineResultHeader,
  .appShell.machinesTheme .machineResultDetailHeader{
    padding-top:7px !important;
    padding-bottom:7px !important;
    margin-bottom:0 !important;
  }

  .appShell.machinesTheme .machineResultRow span,
  .appShell.machinesTheme .machineResultDetailRow span{
    font-size:15px !important;
    font-weight:950 !important;
    line-height:1.05 !important;
  }

  .appShell.machinesTheme .machineResultModelCell strong{
    font-size:14px !important;
    line-height:1.05 !important;
  }

  .appShell.machinesTheme .machineResultModelCell small{
    font-size:9px !important;
    line-height:1.05 !important;
  }

  .appShell.machinesTheme .machineResultRow span:nth-child(3),
  .appShell.machinesTheme .machineResultRow span:nth-child(4),
  .appShell.machinesTheme .machineResultRow span:nth-child(5),
  .appShell.machinesTheme .machineResultRow span:nth-child(6),
  .appShell.machinesTheme .machineResultRow span:nth-child(7),
  .appShell.machinesTheme .machineResultRow span:nth-child(8),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(4),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(5),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(6),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(7),
  .appShell.machinesTheme .machineResultDetailRow span:nth-child(8){
    font-size:16px !important;
  }

  .appShell.machinesTheme .machineResultTotalRow{
    min-height:48px !important;
  }
}
