@charset "UTF-8";
:root {
  color-scheme: dark;
  --bg: #171719;
  --surface: #202023;
  --surface2: #29282b;
  --line: #262f3d;
  --text: #f0f2f6;
  --muted: #8794a9;
  --gold: #ff3b45;
  --green: #6bd9aa;
  --red: #ff939c;
  --radius: 18px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
button:disabled {
  opacity: 0.55;
  cursor: wait;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 5px;
}
input:focus,
select:focus,
textarea:focus {
  outline: 0;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px #ff3b4516;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  letter-spacing: -0.035em;
}
h2 {
  font-size: 21px;
  font-weight: 650;
}
h3 {
  font-size: 16px;
}
p {
  color: var(--muted);
  line-height: 1.75;
}
small {
  color: var(--muted);
}
em {
  font-style: normal;
  color: var(--gold);
}
.icon {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
  vertical-align: middle;
}
.initial-loading,
.loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 45vh;
  color: var(--muted);
}
.spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #ffffff25;
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  background: var(--gold);
  color: #191714;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
  padding: 14px 20px;
  border-radius: 10px;
  min-height: 47px;
  transition:
    background 0.18s,
    transform 0.18s,
    box-shadow 0.18s;
  white-space: nowrap;
}
.button:hover {
  background: #ff6670;
  transform: translateY(-1px);
  box-shadow: 0 4px 22px #ff3b4515;
}
.button.secondary {
  background: #1a2230;
  border-color: #354052;
  color: #e3e9f3;
}
.button.secondary:hover {
  background: #242f40;
  border-color: #52617a;
  box-shadow: none;
}
.button.small {
  padding: 10px 16px;
  min-height: 39px;
  font-size: 12px;
}
.button.tiny {
  padding: 8px 11px;
  min-height: 33px;
  font-size: 11px;
}
.button.full {
  width: 100%;
}
.icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #94a3b9;
  background: transparent;
  border: 1px solid transparent;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  font-size: 26px;
  flex-shrink: 0;
}
.icon-button:hover {
  background: #ffffff08;
  border-color: #354052;
  color: var(--text);
}
.icon-button .icon {
  width: 17px;
  height: 17px;
}
.danger {
  color: var(--red) !important;
}
.square-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: #26324766;
  color: #9cafd1;
  border: 1px solid #33415a55;
  border-radius: 12px;
  flex-shrink: 0;
}
.square-icon.yellow {
  background: #ff3b450c;
  color: var(--gold);
  border-color: #ff3b4528;
}
.square-icon.green {
  background: #6bd9aa0c;
  color: var(--green);
  border-color: #6bd9aa28;
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 0.15em;
  font-weight: 750;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 9px;
  line-height: 1.7;
}
.yellow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  display: inline-block;
  box-shadow: 0 0 12px #ff3b4555;
  flex-shrink: 0;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #202938;
  color: #a5b3c8;
  font-size: 10px;
  font-weight: 650;
  padding: 6px 9px;
  border: 1px solid #354153;
  border-radius: 7px;
  white-space: nowrap;
}
.badge.green {
  color: var(--green);
  background: #6bd9aa0a;
  border-color: #6bd9aa23;
}
.badge.green:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--green);
}
.badge.red {
  color: var(--red);
  border-color: #ff939c33;
  background: #ff939c09;
}
.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
}
.brand img {
  width: 47px;
  height: 47px;
}
.brand > span {
  font-size: 25px;
  font-weight: 720;
  letter-spacing: -1.2px;
}
.brand b {
  color: var(--gold);
  font-weight: 750;
}
.brand small {
  display: block;
  font-size: 7px;
  letter-spacing: 2.1px;
  font-weight: 700;
  margin-top: 3px;
  color: #687a94;
}
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 232px;
  background: #0e141e;
  border-right: 1px solid #202a39;
  padding: 30px 19px 18px;
  display: flex;
  flex-direction: column;
  z-index: 30;
}
.sidebar > .brand {
  margin: 0 8px 41px;
}
.nav-label {
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 1.6px;
  color: #5d6c82;
  padding: 0 14px;
  margin-bottom: 13px;
}
.nav-label span {
  color: #b3bfce;
}
.sidebar nav {
  display: grid;
  gap: 6px;
  margin-bottom: 29px;
}
.nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 550;
  color: #8e9bb0;
  padding: 13px 14px;
  min-height: 45px;
  border: 1px solid transparent;
  border-radius: 9px;
  position: relative;
}
.nav-link .icon {
  width: 18px;
  height: 18px;
}
.nav-link:hover {
  color: #e4ebf7;
  background: #18233377;
}
.nav-link.selected {
  background: linear-gradient(90deg, #ff3b4513, #ff3b4507);
  border-color: #ff3b4520;
  color: var(--gold);
}
.nav-link i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  margin-left: auto;
}
.sidebar-bottom {
  margin-top: auto;
}
.sidebar-promo {
  padding: 17px 16px;
  background:
    radial-gradient(ellipse at 90% 0%, #29334377, transparent 80%), #151d2a;
  border: 1px solid #2a3445;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.sidebar-promo > .icon {
  color: var(--gold);
  margin-bottom: 13px;
  width: 22px;
  height: 22px;
}
.sidebar-promo strong {
  display: block;
  line-height: 1.55;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.15px;
}
.sidebar-promo p {
  font-size: 10px;
  line-height: 1.8;
  margin: 9px 0 17px;
  color: #7e8ca2;
}
.sidebar-promo a {
  font-size: 10px;
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sidebar-promo a .icon {
  width: 14px;
  height: 14px;
}
.local-label {
  font-size: 8px;
  letter-spacing: 1px;
  color: #66758c;
  margin: 23px 8px 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.local-label > span {
  width: 5px;
  height: 5px;
  background: var(--green);
  border-radius: 50%;
}
.local-label small {
  margin-left: auto;
  font-size: 8px;
  letter-spacing: 0;
}
.workspace {
  margin-left: 232px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.topbar {
  height: 83px;
  padding: 0 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #202938;
  background: #0d121b;
}
.topbar-left,
.topbar-actions {
  display: flex;
  align-items: center;
  gap: 23px;
}
.breadcrumb {
  font-size: 11px;
  color: #66758b;
}
.breadcrumb b {
  font-weight: 400;
  color: #3b485d;
  margin: 0 13px;
}
.breadcrumb strong {
  color: #c3cedd;
  font-weight: 500;
}
.login-link {
  font-size: 11px;
  color: #b8c3d3;
  display: flex;
  align-items: center;
  gap: 8px;
}
.login-link .icon {
  width: 15px;
  height: 15px;
}
.menu-button {
  display: none;
}
#content {
  width: 100%;
  max-width: 1440px;
  padding: 45px 45px 35px;
  margin: 0 auto;
  flex: 1;
}
.footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #202938;
  padding: 24px 45px;
  font-size: 9px;
  color: #5e6e85;
  gap: 20px;
}
.footer > span {
  display: flex;
  gap: 14px;
  align-items: center;
}
.footer b {
  font-weight: 400;
  color: #384355;
}
.footer a {
  color: #94a4bc;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.footer .icon {
  width: 13px;
  height: 13px;
}
.mobile-nav {
  display: none;
}
.avatar {
  display: grid;
  place-items: center;
  background: #ff3b4513;
  border: 1px solid #ff3b4530;
  color: var(--gold);
  width: 36px;
  height: 36px;
  border-radius: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.account-button {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}
.account-button small {
  display: block;
  font-size: 9px;
  margin-top: 3px;
}
.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 20px;
  align-items: center;
  min-height: 260px;
  margin-bottom: 35px;
}
.hero-copy {
  padding-bottom: 12px;
}
.hero-copy .eyebrow {
  font-size: 9px;
  color: #b7a371;
}
.hero-copy h1 {
  font-size: clamp(32px, 3.2vw, 49px);
  line-height: 1.19;
  font-weight: 650;
  letter-spacing: -2px;
  margin: 20px 0 17px;
}
.hero-copy p {
  font-size: 12px;
  line-height: 1.9;
  margin: 0;
  color: #8e9bb0;
}
.hero-art {
  height: 250px;
  position: relative;
  display: grid;
  place-items: center;
  background: radial-gradient(ellipse, #ff3b450b, transparent 68%);
  isolation: isolate;
}
.orbit {
  position: absolute;
  width: 243px;
  height: 243px;
  border: 1px solid #ff3b4512;
  border-radius: 50%;
  transform: rotate(-20deg) scaleY(0.7);
  z-index: -1;
}
.orbit-two {
  width: 290px;
  height: 290px;
  transform: rotate(45deg) scaleY(0.75);
  border-style: dashed;
  border-color: #4a61702b;
}
.art-ticket {
  width: 220px;
  padding: 19px;
  border: 1px solid #4b4534;
  background: linear-gradient(140deg, #252923, #18202c 60%);
  box-shadow:
    15px 24px 60px #0006,
    0 0 40px #ff3b4507;
  border-radius: 14px;
  transform: rotate(-9deg);
  position: relative;
}
.art-ticket:after {
  content: "";
  position: absolute;
  inset: 6px -7px -7px 7px;
  background: #20283a;
  border: 1px solid #374254;
  border-radius: 14px;
  z-index: -1;
}
.ticket-top {
  display: flex;
  gap: 9px;
  align-items: center;
}
.ticket-top img {
  width: 35px;
  height: 35px;
}
.ticket-top > span {
  font-size: 7px;
  color: #8e9baf;
  line-height: 1.7;
  letter-spacing: 1.4px;
}
.ticket-top b {
  color: #dce5f1;
  font-size: 10px;
  letter-spacing: 1px;
}
.ticket-top > .icon {
  margin-left: auto;
  color: var(--green);
  width: 16px;
  height: 16px;
  background: #6bd9aa12;
  border-radius: 50%;
  padding: 3px;
}
.ticket-code {
  display: flex;
  gap: 6px;
  margin: 20px 0;
}
.ticket-code span {
  display: grid;
  place-items: center;
  width: 41px;
  height: 49px;
  color: var(--gold);
  font-size: 29px;
  font-weight: 700;
  background: #0a1019;
  border: 1px solid #39414e;
  border-radius: 7px;
}
.ticket-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px dashed #46505e;
}
.ticket-bottom > span {
  font-size: 6px;
  letter-spacing: 1.6px;
  color: #708199;
}
.ticket-bottom .icon {
  width: 15px;
  height: 15px;
  color: #9cabbc;
}
.art-star {
  position: absolute;
  color: var(--gold);
  font-size: 30px;
}
.star-one {
  top: 21px;
  right: 40px;
}
.star-two {
  font-size: 14px;
  bottom: 28px;
  left: 28px;
  color: #707d92;
}
.download-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 266px;
  gap: 24px;
}
.download-card {
  border: 1px solid #37404c;
  background: linear-gradient(145deg, #19212d, #131a25);
  border-radius: var(--radius);
  padding: 27px;
  box-shadow: 0 10px 50px #0002;
  position: relative;
  overflow: hidden;
}
.download-card:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(transparent, var(--gold), transparent);
  opacity: 0.75;
}
.card-title {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 27px;
}
.card-title h2 {
  font-size: 18px;
  margin: 0 0 6px;
}
.card-title p {
  font-size: 10px;
  margin: 0;
  color: #78889f;
}
.card-title .badge {
  margin-left: auto;
  font-size: 8px;
  letter-spacing: 0.8px;
}
.card-title .square-icon {
  width: 39px;
  height: 39px;
}
.card-title .icon {
  width: 19px;
  height: 19px;
}
.code-label {
  display: block;
  font-size: 8px;
  letter-spacing: 1.65px;
  color: #8291a7;
  font-weight: 700;
  margin-bottom: 11px;
}
.code-entry {
  display: flex;
  align-items: stretch;
  gap: 10px;
}
.code-input-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
}
.code-input-wrap > .icon {
  position: absolute;
  left: 17px;
  top: 50%;
  transform: translateY(-50%);
  color: #546681;
  width: 18px;
  height: 18px;
}
.code-entry input {
  width: 100%;
  height: 65px;
  min-width: 0;
  border: 1px solid #334156;
  background: #0b131f;
  color: #f5f7fb;
  border-radius: 10px;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 15px;
  padding: 0 12px 0 55px;
  font-variant-numeric: tabular-nums;
}
.code-entry input::placeholder {
  color: #4a5c76;
  font-weight: 500;
}
.download-button {
  height: 65px;
  min-width: 162px;
  font-size: 12px;
  gap: 12px;
}
.download-button > .icon:last-child {
  width: 15px;
}
.code-note {
  margin-top: 15px;
  font-size: 9px;
  color: #76869e;
  display: flex;
  align-items: center;
  gap: 7px;
}
.code-note .icon {
  width: 13px;
  height: 13px;
  color: #7d9b8c;
}
.quick-guide {
  padding: 13px 0 4px 4px;
}
.quick-guide > .eyebrow {
  font-size: 8px;
  margin-bottom: 21px;
}
.quick-guide > div {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 21px;
}
.quick-guide > div:last-child {
  margin-bottom: 0;
}
.quick-guide b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #2d3748;
  border-radius: 10px;
  font-size: 10px;
  color: #9ba9be;
  font-weight: 500;
  background: #151c28;
  flex-shrink: 0;
}
.quick-guide strong {
  font-size: 11px;
  font-weight: 550;
  display: block;
  margin-bottom: 5px;
}
.quick-guide small {
  font-size: 9px;
  color: #6e7e96;
}
.feature-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 34px 0;
  padding: 25px 0;
  border-bottom: 1px solid #242e3d;
  gap: 20px;
}
.feature-row > div {
  display: flex;
  gap: 12px;
  align-items: center;
}
.feature-row > div > .icon {
  color: #8c9caf;
  width: 22px;
  height: 22px;
}
.feature-row strong {
  display: block;
  font-size: 11px;
  font-weight: 550;
  margin-bottom: 6px;
}
.feature-row small {
  font-size: 9px;
  color: #6d7d94;
}
.share-banner {
  padding: 25px 28px;
  border: 1px solid #303b4c;
  border-radius: 14px;
  background: linear-gradient(100deg, #1b2432, #141b26);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  position: relative;
  overflow: hidden;
}
.share-banner .eyebrow {
  font-size: 8px;
  letter-spacing: 1.3px;
  color: #b48389;
}
.share-banner h2 {
  font-size: 21px;
  letter-spacing: -0.6px;
  margin: 8px 0;
}
.share-banner p {
  font-size: 10px;
  margin: 0;
  color: #8292a9;
}
.share-banner .button {
  font-size: 10px;
  padding: 12px 16px;
  z-index: 1;
  min-height: 42px;
}
.banner-decoration {
  position: absolute;
  right: 125px;
  top: -12px;
  font-size: 150px;
  line-height: 1;
  color: #ffffff02;
  transform: rotate(-15deg);
  pointer-events: none;
}
.home-bottom {
  display: flex;
  justify-content: space-between;
  margin: 26px 0 0;
  gap: 15px;
  font-size: 9px;
  color: #62738b;
}
.home-bottom > span,
.home-bottom a {
  display: flex;
  align-items: center;
  gap: 7px;
}
.home-bottom .icon {
  width: 13px;
  height: 13px;
}
.home-bottom a {
  color: #9eacbf;
}
.page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 12px 0 30px;
}
.page-heading h1 {
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -1.3px;
  margin: 11px 0 10px;
  line-height: 1.2;
}
.page-heading p {
  font-size: 12px;
  margin: 0;
}
.page-heading .eyebrow {
  font-size: 8px;
}
.notice {
  border: 1px solid #ff3b4530;
  background: #ff3b4508;
  color: #b8ad91;
  border-radius: 11px;
  padding: 16px 19px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  line-height: 1.8;
  margin-bottom: 23px;
}
.notice strong {
  color: #f2adb3;
  font-weight: 600;
}
.notice > .icon {
  width: 18px;
  height: 18px;
  color: #dc7a82;
}
.notice.subtle {
  border-color: #283549;
  background: #1722344d;
  color: #8191a8;
}
.notice.subtle > .icon {
  color: #809bb8;
}
.plans {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
  margin: 40px 0 30px;
}
.plan {
  border: 1px solid #303b4d;
  border-radius: 16px;
  padding: 25px 20px;
  background: linear-gradient(145deg, #1b2330, #121925);
  position: relative;
}
.plan.featured {
  border-color: #b39143;
  background: linear-gradient(145deg, #302c20, #1b212a 55%);
  box-shadow: 0 8px 40px #ff3b4509;
}
.plan-tag {
  position: absolute;
  left: -1px;
  right: -1px;
  top: -20px;
  background: var(--gold);
  color: #352d18;
  text-align: center;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 1.1px;
  border-radius: 10px 10px 0 0;
  padding: 6px;
}
.plan-number {
  font-size: 9px;
  color: #73839b;
}
.plan h2 {
  font-size: 18px;
  margin: 17px 0 22px;
}
.price {
  font-size: 29px;
  letter-spacing: -1.5px;
  font-weight: 650;
  white-space: nowrap;
}
.price small {
  display: block;
  font-size: 9px;
  letter-spacing: 0;
  font-weight: 400;
  margin: 8px 0 26px;
}
.plan-quantity {
  font-size: 12px;
  padding-bottom: 20px;
  border-bottom: 1px solid #39415266;
  color: #9aa9bc;
}
.plan-quantity b {
  color: #eceff5;
  font-weight: 650;
}
.plan ul {
  list-style: none;
  margin: 20px 0 24px;
  padding: 0;
  display: grid;
  gap: 14px;
  font-size: 10px;
  color: #9aa9bd;
}
.plan li {
  display: flex;
  align-items: center;
  gap: 7px;
}
.plan li .icon {
  width: 13px;
  height: 13px;
  color: #f58088;
}
.plan .button {
  width: 100%;
  font-size: 10px;
  padding: 12px 9px;
}
.contact-strip {
  padding: 25px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.contact-strip h3 {
  margin: 0 0 7px;
}
.contact-strip p {
  font-size: 11px;
  margin: 0;
}
.contact-strip .button {
  font-size: 11px;
}
.auth-layout {
  display: grid;
  grid-template-columns: 1fr 390px;
  gap: 60px;
  align-items: center;
  min-height: 650px;
}
.auth-intro h1 {
  font-size: 46px;
  font-weight: 600;
  letter-spacing: -2px;
  line-height: 1.17;
  margin: 24px 0;
}
.auth-intro p {
  font-size: 12px;
  line-height: 1.9;
  max-width: 330px;
}
.auth-benefits {
  display: grid;
  gap: 17px;
  margin-top: 32px;
}
.auth-benefits span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  color: #a8b6ca;
}
.auth-benefits .icon {
  width: 14px;
  height: 14px;
  color: var(--gold);
}
.auth-mini {
  margin-top: 50px;
  color: #596c87;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  max-width: 320px;
  line-height: 1.8;
}
.auth-mini .icon {
  width: 16px;
  height: 16px;
}
.form-card {
  border: 1px solid #323e51;
  background: linear-gradient(145deg, #1c2635, #121a26);
  border-radius: 20px;
  padding: 30px;
}
.form-card > .square-icon {
  margin-bottom: 24px;
}
.form-card > h2 {
  font-size: 25px;
  margin: 0 0 9px;
}
.form-card > p {
  font-size: 11px;
  margin-bottom: 25px;
}
.field {
  display: block;
  margin-bottom: 18px;
}
.field > span {
  display: block;
  font-size: 11px;
  font-weight: 550;
  color: #a9b7ca;
  margin-bottom: 9px;
}
.input-wrap {
  position: relative;
}
input,
select,
textarea {
  background: #0c1522;
  border: 1px solid #344258;
  border-radius: 9px;
  color: #e8eef7;
  padding: 12px 14px;
  max-width: 100%;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  height: 46px;
  font-size: 12px;
}
.field textarea {
  height: auto;
  resize: vertical;
}
.field input::placeholder {
  color: #53657e;
}
.field input[type="password"],
.input-wrap:has(.password-toggle) input {
  padding-right: 46px;
}
.password-toggle {
  position: absolute;
  right: 6px;
  top: 6px;
  border: 0;
  background: transparent;
  color: #7386a2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 6px;
}
.password-toggle .icon {
  width: 17px;
  height: 17px;
}
.password-toggle:hover {
  background: #ffffff08;
  color: var(--gold);
}
.form-hint {
  font-size: 10px;
  line-height: 1.8;
  margin: 0 0 20px;
}
.form-footer {
  font-size: 11px;
  text-align: center;
  border-top: 1px solid #2e3c51;
  padding-top: 22px;
  margin-top: 23px;
  color: #7e90a9;
}
.form-footer a {
  color: var(--gold);
}
.form-error {
  color: var(--red);
  font-size: 11px;
  line-height: 1.7;
  margin: 14px 0 0;
}
.form-error:empty {
  display: none;
}
.setup {
  max-width: 550px;
  margin: 35px auto;
}
.setup h1 {
  font-size: 30px;
  line-height: 1.25;
  margin: 18px 0;
}
.setup .eyebrow {
  font-size: 8px;
}
.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: start;
}
.panel {
  padding: 25px;
  border: 1px solid #2c3749;
  background: #131c29;
  border-radius: 15px;
  margin-bottom: 23px;
  min-width: 0;
}
.panel > p {
  font-size: 11px;
}
.panel h2 {
  font-size: 18px;
}
.panel h3 {
  margin-top: 25px;
}
.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.panel-heading h2 {
  margin: 0 0 5px;
}
.panel-heading p {
  margin: 0;
  font-size: 10px;
}
.panel-heading .text-link {
  font-size: 10px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--gold);
}
.panel-heading .text-link .icon {
  width: 13px;
  height: 13px;
}
.empty {
  padding: 65px 15px;
  text-align: center;
}
.empty > .icon {
  color: #697f9e;
  width: 34px;
  height: 34px;
  margin-bottom: 15px;
}
.empty h3 {
  font-size: 17px;
  color: #b6c4d8;
  margin: 0 0 10px;
}
.empty p {
  font-size: 12px;
  margin: 0;
}
.record,
.link-record,
.admin-record {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 17px 0;
  border-top: 1px solid #29374b;
}
.record:first-child,
.link-record:first-child,
.admin-record:first-child {
  border-top: 0;
}
.record-main {
  min-width: 0;
  flex: 1;
}
.record-main strong {
  display: block;
  font-size: 12px;
  font-weight: 550;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.record-main small {
  display: block;
  font-size: 10px;
  margin-top: 7px;
  color: #7287a3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.record > .square-icon {
  width: 37px;
  height: 37px;
  border-radius: 10px;
}
.record > .square-icon .icon {
  width: 17px;
  height: 17px;
}
.code-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 650;
  letter-spacing: 2px;
  padding: 12px;
  border-radius: 9px;
  background: #ff3b4509;
  color: var(--gold);
  border: 1px solid #ff3b4524;
  min-width: 85px;
  font-variant-numeric: tabular-nums;
}
.row-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}
.row-actions .icon-button {
  width: 31px;
  height: 31px;
}
.row-actions .icon {
  width: 15px;
  height: 15px;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 26px;
}
.stat-card {
  border: 1px solid #2b384c;
  background: linear-gradient(145deg, #1b2636, #121b29);
  padding: 21px 23px;
  border-radius: 13px;
}
.stat-card > span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 10px;
  color: #8da1bf;
}
.stat-card > span .icon {
  width: 16px;
  height: 16px;
  color: #5d7395;
}
.stat-card > strong {
  display: block;
  font-size: 38px;
  line-height: 1.3;
  letter-spacing: -1px;
  font-weight: 550;
  margin: 12px 0 5px;
  color: #ffbdc1;
}
.stat-card > small {
  font-size: 9px;
  color: #627996;
}
.master-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.search-input {
  display: flex;
  align-items: center;
  gap: 9px;
  background: #0c1522;
  border: 1px solid #2c3b52;
  border-radius: 8px;
  padding: 0 12px;
  max-width: 230px;
}
.search-input > .icon {
  width: 15px;
  height: 15px;
  color: #627c9e;
}
.search-input input {
  width: 100%;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 10px 0;
  font-size: 10px;
}
.search-input input:focus {
  box-shadow: none;
}
.simple-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid #27364b;
  padding: 14px 0;
  font-size: 11px;
}
.simple-row:last-child {
  border: 0;
}
.simple-row strong {
  font-size: 11px;
  font-weight: 550;
}
.simple-row small {
  display: block;
  font-size: 9px;
  margin-top: 5px;
}
.capacity {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 18px 23px;
  border: 1px solid #38402f;
  background: #bda35c05;
  border-radius: 11px;
  margin-bottom: 26px;
}
.capacity > div {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.capacity strong {
  font-size: 10px;
  font-weight: 550;
  color: #d7c797;
}
.capacity small {
  font-size: 9px;
  margin-left: 6px;
}
.capacity progress {
  width: 125px;
  height: 5px;
}
.tabs {
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #2a374b;
  margin-bottom: 22px;
  overflow-x: auto;
}
.tabs button {
  background: transparent;
  color: #7186a4;
  padding: 13px 4px;
  border: 0;
  border-bottom: 2px solid transparent;
  font-size: 11px;
  white-space: nowrap;
}
.tabs button.selected {
  color: var(--gold);
  border-bottom-color: var(--gold);
}
.master-panel {
  min-height: 280px;
}
.table-scroll {
  overflow-x: auto;
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 10px;
  white-space: nowrap;
}
th {
  text-align: left;
  color: #637c9f;
  font-size: 9px;
  padding: 13px 10px;
  border-bottom: 1px solid #2c3b51;
}
td {
  padding: 13px 10px;
  border-bottom: 1px solid #233146;
  color: #9cadc6;
}
.settings-form {
  max-width: 620px;
}
.settings-form > p {
  font-size: 11px;
}
.report-record {
  padding: 20px 0;
  border-bottom: 1px solid #2c3950;
}
.report-record > div:first-child {
  display: flex;
  align-items: center;
  gap: 15px;
}
.report-record small {
  margin-left: auto;
  font-size: 10px;
}
.report-record p {
  color: #b0bed1;
  font-size: 12px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 15px 0;
}
.help-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 22px;
  align-items: start;
}
details {
  border-top: 1px solid #2a384d;
  padding: 18px 0;
}
details:last-child {
  padding-bottom: 0;
}
summary {
  cursor: pointer;
  line-height: 1.6;
  font-size: 12px;
  color: #b9c6d8;
}
details p {
  font-size: 11px;
  margin: 15px 0 0;
}
.contact-panel > .square-icon {
  margin-bottom: 23px;
}
.contact-panel > small {
  display: block;
  margin-top: 20px;
  line-height: 1.7;
  font-size: 10px;
}
.contact-panel .button {
  font-size: 10px;
}
.muted {
  color: var(--muted);
  font-size: 11px;
}
.result-box {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding: 18px 0 0;
  border-top: 1px solid #3b4c52;
  flex-wrap: wrap;
}
.result-name {
  flex: 1;
  min-width: 140px;
}
.result-name strong {
  font-size: 12px;
  overflow-wrap: anywhere;
}
.result-name small {
  display: block;
  font-size: 9px;
  color: #7b9c94;
  margin-top: 6px;
}
.result-box .square-icon {
  width: 35px;
  height: 35px;
}
.result-box .button {
  font-size: 11px;
  min-height: 40px;
  padding: 10px 14px;
}
.result-error {
  border: 1px solid #ff939c44;
  border-radius: 9px;
  padding: 15px;
  color: var(--red);
  background: #ff939c09;
  margin-top: 20px;
  font-size: 12px;
  line-height: 1.7;
}
.transfer {
  border: 1px solid #3c4b57;
  border-radius: 12px;
  background: #17252d;
  padding: 17px;
  margin: 17px 0;
}
.transfer > div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin-bottom: 12px;
}
.transfer strong {
  font-size: 12px;
}
.transfer small {
  font-size: 10px;
}
.transfer progress {
  width: 100%;
  height: 5px;
  margin-bottom: 10px;
}
progress {
  appearance: none;
  border: 0;
  background: #28364a;
  border-radius: 20px;
  overflow: hidden;
}
progress::-webkit-progress-bar {
  background: #28364a;
  border-radius: 20px;
}
progress::-webkit-progress-value {
  background: var(--gold);
  border-radius: 20px;
}
progress::-moz-progress-bar {
  background: var(--gold);
  border-radius: 20px;
}
.transfer-notice {
  padding: 15px 0;
  font-size: 11px;
  color: #8da3bd;
}
.transfer-notice.success {
  color: var(--green);
}
.download-fallback {
  flex-wrap: wrap;
  margin-top: 15px;
  font-size: 11px;
}
.download-fallback .button {
  font-size: 10px;
}
#toast {
  position: fixed;
  left: calc(50% + 116px);
  bottom: 25px;
  transform: translate(-50%, 20px);
  opacity: 0;
  pointer-events: none;
  transition: 0.2s;
  max-width: min(570px, calc(100vw - 32px));
  width: max-content;
  background: #203c35;
  color: #d4f9e8;
  border: 1px solid #477760;
  box-shadow: 0 15px 50px #0007;
  border-radius: 12px;
  padding: 16px 22px;
  font-size: 12px;
  line-height: 1.7;
  z-index: 100;
}
#toast.visible {
  transform: translate(-50%, 0);
  opacity: 1;
}
#toast.error {
  background: #3d252e;
  color: #ffced1;
  border-color: #8b4858;
}
dialog {
  background: linear-gradient(145deg, #202b3d, #121d2d);
  color: var(--text);
  border: 1px solid #475771;
  border-radius: 19px;
  max-width: min(480px, calc(100vw - 32px));
  width: 480px;
  padding: 27px;
  max-height: 90dvh;
  box-shadow: 0 20px 100px #000a;
}
dialog::backdrop {
  background: #030812ba;
  backdrop-filter: blur(8px);
}
.dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 17px;
}
.dialog-head h2 {
  font-size: 21px;
  margin: 0;
}
.dialog-head > .icon-button {
  font-size: 25px;
}
.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 25px;
}
dialog > p {
  font-size: 12px;
  line-height: 1.8;
}
.offline {
  text-align: center;
  max-width: 600px;
  margin: 15vh auto;
  padding: 30px;
}
.offline > img {
  width: 85px;
  height: 85px;
  margin-bottom: 30px;
}
/* Interface exclusiva de televisão */
.tv-mode #toast {
  left: 50%;
  font-size: 18px;
}
.tv-screen {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(ellipse at 15% 55%, #1a2a3c55, transparent 55%), #0b1019;
}
.tv-screen > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 5vw;
  border-bottom: 1px solid #25334a;
}
.tv-screen .brand {
  cursor: default;
}
.tv-screen .brand img {
  width: 60px;
  height: 60px;
}
.tv-screen .brand > span {
  font-size: 33px;
}
.tv-screen .brand small {
  font-size: 8px;
  letter-spacing: 3px;
}
.tv-top-caption {
  font-size: 12px;
  letter-spacing: 3px;
  color: #7385a1;
}
.tv-content {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
  align-items: center;
  gap: 7vw;
  padding: 5vh 6vw;
  flex: 1;
}
.tv-download h1 {
  font-size: clamp(38px, 4.1vw, 78px);
  font-weight: 600;
  letter-spacing: -2px;
  line-height: 1.16;
  margin: 20px 0;
}
.tv-download > p {
  font-size: clamp(15px, 1.4vw, 25px);
  margin-bottom: 30px;
}
.tv-download form {
  max-width: 740px;
  display: grid;
  gap: 16px;
  background: #151f30;
  border: 1px solid #36485e;
  border-radius: 20px;
  padding: 25px;
}
.tv-download label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #97accb;
}
.tv-download input {
  width: 100%;
  text-align: center;
  font-size: clamp(38px, 4.8vw, 82px);
  height: clamp(85px, 7.7vw, 135px);
  letter-spacing: 0.4em;
  font-weight: 600;
  padding-left: 0.7em;
  border: 2px solid #3b506b;
  border-radius: 12px;
  background: #0b1421;
}
.tv-download input::placeholder {
  color: #48617d;
}
.tv-download .button {
  height: clamp(60px, 5.3vw, 95px);
  font-size: clamp(18px, 1.5vw, 30px);
  letter-spacing: 2px;
  justify-content: center;
  gap: 20px;
}
.tv-download .button .icon {
  width: 25px;
  height: 25px;
}
.tv-download button:focus-visible,
.tv-download input:focus-visible,
.tv-download a:focus-visible {
  outline: 4px solid var(--gold);
  outline-offset: 6px;
  box-shadow: 0 0 30px #ff3b452b;
}
.tv-info {
  border: 1px solid #32435d;
  background: linear-gradient(145deg, #1b293d, #101b2c);
  padding: 32px;
  text-align: center;
  border-radius: 24px;
}
.tv-info > .eyebrow {
  font-size: 9px;
  justify-content: center;
}
.tv-info h2 {
  font-size: 28px;
  font-weight: 550;
  margin: 13px 0 25px;
}
.tv-qr {
  width: clamp(170px, 15vw, 270px);
  height: clamp(170px, 15vw, 270px);
  border-radius: 15px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #5e6e82;
  gap: 15px;
  padding: 12px;
  margin: auto;
}
.tv-qr > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tv-qr > .icon {
  width: 45px;
  height: 45px;
}
.tv-qr > span {
  font-size: 11px;
  line-height: 1.8;
}
.tv-info > p {
  font-size: 13px;
  margin: 20px 0;
}
.tv-domain {
  display: block;
  color: var(--gold);
  font-size: clamp(13px, 1.3vw, 24px);
  overflow-wrap: anywhere;
}
.tv-contact {
  border-top: 1px solid #344660;
  padding-top: 22px;
  margin-top: 26px;
}
.tv-contact small {
  display: block;
  font-size: 9px;
  letter-spacing: 2px;
}
.tv-contact strong {
  display: block;
  font-size: clamp(13px, 1.4vw, 25px);
  margin-top: 9px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.tv-screen > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 6vw;
  border-top: 1px solid #26354b;
  color: #7f94b3;
  font-size: 12px;
  letter-spacing: 0.3px;
}
.tv-screen > footer b {
  color: #d1b979;
  font-weight: 400;
  margin: 0 10px;
}
.tv-download .result-box {
  margin-top: 15px;
  padding-top: 15px;
}
.tv-download .result-name strong {
  font-size: 19px;
}
.tv-download .result-name small {
  font-size: 12px;
}
.tv-download .result-box .button {
  height: 55px;
  font-size: 15px;
}
.tv-download .result-error {
  font-size: 17px;
}
.tv-download .notice {
  font-size: 15px;
}
.tv-download .notice .button {
  font-size: 13px;
  letter-spacing: 0;
  height: auto;
}
.tv-download .transfer-notice {
  font-size: 16px;
}
@media (min-width: 1650px) {
  #content {
    padding-top: 65px;
  }
  .home-hero {
    min-height: 300px;
  }
  .hero-copy h1 {
    font-size: 55px;
  }
  .hero-copy p {
    font-size: 14px;
  }
  .download-card {
    padding: 32px;
  }
  .code-entry input,
  .download-button {
    height: 77px;
  }
  .feature-row {
    margin: 45px 0;
  }
  .share-banner {
    padding: 35px;
  }
  .quick-guide {
    padding: 25px 0;
  }
  .quick-guide strong {
    font-size: 13px;
  }
  .quick-guide small {
    font-size: 11px;
  }
  .hero-art {
    transform: scale(1.1);
  }
}
@media (max-width: 1200px) {
  .sidebar {
    width: 210px;
    padding-left: 13px;
    padding-right: 13px;
  }
  .workspace {
    margin-left: 210px;
  }
  .topbar {
    padding: 0 30px;
  }
  #content {
    padding: 35px 30px;
  }
  .home-hero {
    grid-template-columns: 1fr 230px;
    gap: 0;
  }
  .hero-copy h1 {
    font-size: 36px;
    letter-spacing: -1.4px;
  }
  .hero-art {
    transform: scale(0.9);
    transform-origin: center right;
  }
  .download-layout {
    grid-template-columns: 1fr 220px;
    gap: 20px;
  }
  .download-card {
    padding: 23px;
  }
  .code-entry {
    flex-wrap: wrap;
  }
  .code-entry .download-button {
    min-width: 100%;
    height: 48px;
    justify-content: center;
  }
  .code-entry input {
    height: 60px;
  }
  .quick-guide {
    padding-top: 25px;
  }
  .quick-guide > div {
    margin-bottom: 27px;
  }
  .quick-guide small {
    font-size: 8px;
  }
  .plans {
    gap: 10px;
  }
  .plan {
    padding: 23px 14px;
  }
  .plan h2 {
    font-size: 16px;
  }
  .price {
    font-size: 25px;
  }
  .plan li {
    font-size: 9px;
  }
  .auth-layout {
    gap: 35px;
    grid-template-columns: 1fr 350px;
  }
  .auth-intro h1 {
    font-size: 38px;
  }
  .master-stats {
    gap: 10px;
  }
  .stat-card {
    padding: 18px;
  }
  .admin-record {
    flex-wrap: wrap;
  }
  .admin-record .row-actions {
    margin-left: 51px;
  }
  .footer {
    padding-left: 30px;
    padding-right: 30px;
  }
  #toast {
    left: calc(50% + 105px);
  }
  .topbar-actions {
    gap: 15px;
  }
}
@media (max-width: 1000px) {
  .sidebar {
    width: 185px;
    padding-left: 9px;
    padding-right: 9px;
  }
  .sidebar > .brand {
    margin-left: 7px;
  }
  .brand img {
    width: 37px;
    height: 37px;
  }
  .brand > span {
    font-size: 22px;
  }
  .brand small {
    font-size: 6px;
    letter-spacing: 1.7px;
  }
  .nav-link {
    font-size: 11px;
    gap: 9px;
    padding-left: 12px;
  }
  .sidebar-promo {
    padding: 15px 12px;
  }
  .workspace {
    margin-left: 185px;
  }
  .topbar {
    padding: 0 23px;
  }
  #content {
    padding: 30px 23px;
  }
  .hero-copy h1 {
    font-size: 32px;
    letter-spacing: -1.1px;
  }
  .hero-copy p {
    font-size: 11px;
  }
  .home-hero {
    grid-template-columns: 1fr 180px;
  }
  .hero-art {
    transform: scale(0.75);
    width: 240px;
    transform-origin: right center;
    margin-left: -55px;
  }
  .download-layout {
    grid-template-columns: 1fr;
  }
  .code-entry {
    flex-wrap: nowrap;
  }
  .code-entry .download-button {
    min-width: 145px;
    height: 60px;
  }
  .quick-guide {
    display: none;
  }
  .feature-row {
    gap: 15px;
  }
  .feature-row strong {
    font-size: 10px;
  }
  .feature-row small {
    font-size: 8px;
  }
  .feature-row > div {
    gap: 8px;
  }
  .share-banner {
    flex-direction: column;
    align-items: flex-start;
  }
  .share-banner h2 {
    font-size: 23px;
  }
  .plans {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 18px;
  }
  .plan {
    padding: 25px;
  }
  .price {
    font-size: 32px;
  }
  .plan li {
    font-size: 11px;
  }
  .auth-layout {
    grid-template-columns: 1fr;
    max-width: 450px;
    margin: auto;
    min-height: 0;
  }
  .auth-intro {
    display: none;
  }
  .form-card {
    margin-top: 20px;
  }
  .page-heading h1 {
    font-size: 30px;
  }
  .page-heading {
    flex-wrap: wrap;
  }
  .two-columns,
  .help-grid {
    grid-template-columns: 1fr;
  }
  .master-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .capacity {
    flex-wrap: wrap;
  }
  .capacity progress {
    width: 100%;
  }
  .record {
    flex-wrap: wrap;
  }
  .record .record-main {
    min-width: 130px;
  }
  .record > .badge {
    margin-left: 52px;
  }
  .tabs {
    gap: 18px;
  }
  .footer {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    font-size: 8px;
  }
  #toast {
    left: calc(50% + 92px);
  }
  .tv-content {
    gap: 4vw;
    padding: 4vh 4vw;
  }
  .tv-info {
    padding: 23px;
  }
  .tv-download h1 {
    font-size: 42px;
  }
  .tv-info h2 {
    font-size: 22px;
  }
  .tv-screen > header {
    padding: 23px 4vw;
  }
  .tv-top-caption {
    font-size: 9px;
  }
}
@media (max-width: 760px) {
  .sidebar {
    display: none;
    width: 240px;
    box-shadow: 20px 0 100px #000a;
    top: 70px;
    padding-top: 25px;
  }
  .sidebar.open {
    display: flex;
  }
  .sidebar > .brand {
    display: none;
  }
  .sidebar nav {
    margin-bottom: 25px;
  }
  .sidebar-promo {
    display: none;
  }
  .sidebar-bottom {
    margin-top: auto;
  }
  .workspace {
    margin-left: 0;
  }
  .topbar {
    height: 70px;
    padding: 0 18px;
    position: sticky;
    top: 0;
    z-index: 25;
    background: #0d131ff5;
    backdrop-filter: blur(12px);
  }
  .topbar-left {
    gap: 5px;
  }
  .menu-button {
    display: inline-flex;
    width: 29px;
    margin-right: 3px;
  }
  .breadcrumb {
    font-size: 13px;
    color: #e1e9f5;
    font-weight: 650;
  }
  .breadcrumb b,
  .breadcrumb strong {
    display: none;
  }
  .topbar-actions {
    gap: 12px;
  }
  .topbar-actions .button.small {
    font-size: 10px;
    padding: 9px 11px;
    min-height: 34px;
    gap: 5px;
  }
  .topbar-actions .button.small > .icon {
    width: 13px;
    height: 13px;
  }
  .login-link {
    font-size: 10px;
    gap: 5px;
  }
  .account-button {
    font-size: 11px;
  }
  .account-button .avatar {
    width: 30px;
    height: 30px;
  }
  .account-button small {
    font-size: 8px;
  }
  .topbar-actions > .icon-button {
    width: 27px;
  }
  .topbar-actions > .icon-button > .icon {
    width: 15px;
    height: 15px;
  }
  #content {
    padding: 28px 20px 30px;
    max-width: 620px;
  }
  .home-hero {
    display: block;
    min-height: 0;
    margin: 0 0 26px;
  }
  .hero-copy {
    padding: 10px 0 0;
  }
  .hero-copy .eyebrow {
    font-size: 8px;
    letter-spacing: 1.1px;
  }
  .hero-copy h1 {
    font-size: clamp(29px, 7.3vw, 43px);
    letter-spacing: -1.3px;
    line-height: 1.22;
    margin: 16px 0;
  }
  .hero-copy p {
    font-size: 11px;
    line-height: 1.8;
  }
  .hero-art {
    display: none;
  }
  .download-card {
    padding: 21px;
    border-radius: 16px;
  }
  .card-title {
    margin-bottom: 23px;
    gap: 10px;
  }
  .card-title h2 {
    font-size: 17px;
  }
  .card-title p {
    font-size: 9px;
  }
  .card-title .square-icon {
    width: 36px;
    height: 36px;
  }
  .card-title .badge {
    font-size: 7px;
    padding: 5px 7px;
  }
  .code-entry {
    flex-direction: column;
    gap: 12px;
  }
  .code-entry input {
    text-align: center;
    padding-left: 48px;
    padding-right: 30px;
    font-size: 35px;
    letter-spacing: 17px;
    height: 72px;
  }
  .code-input-wrap > .icon {
    left: 20px;
  }
  .code-entry .download-button {
    width: 100%;
    height: 53px;
    font-size: 12px;
  }
  .code-entry .download-button > .icon:last-child {
    margin-left: auto;
  }
  .code-entry .download-button > .icon:first-child {
    margin-right: auto;
  }
  .code-note {
    font-size: 8px;
    line-height: 1.6;
    margin-top: 16px;
  }
  .code-label {
    font-size: 8px;
  }
  .feature-row {
    grid-template-columns: 1fr;
    gap: 21px;
    padding: 24px 5px;
    margin: 12px 0 25px;
  }
  .feature-row > div {
    gap: 15px;
  }
  .feature-row > div > .icon {
    width: 21px;
    height: 21px;
    color: #7087a6;
  }
  .feature-row strong {
    font-size: 11px;
    margin-bottom: 5px;
  }
  .feature-row small {
    font-size: 9px;
  }
  .share-banner {
    padding: 23px;
    gap: 20px;
  }
  .share-banner h2 {
    font-size: 22px;
    line-height: 1.3;
    max-width: 260px;
  }
  .share-banner p {
    font-size: 10px;
    line-height: 1.8;
    max-width: 300px;
  }
  .share-banner .button {
    width: 100%;
    justify-content: space-between;
  }
  .home-bottom {
    flex-direction: column;
    gap: 17px;
    font-size: 8px;
    line-height: 1.8;
    margin: 24px 0 0;
  }
  .footer {
    padding: 23px 18px 100px;
    gap: 13px;
  }
  .footer > span {
    gap: 10px;
  }
  .footer > span:last-child {
    font-size: 8px;
  }
  .mobile-nav {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #111a28f5;
    backdrop-filter: blur(12px);
    border-top: 1px solid #2e3a4c;
    z-index: 40;
    padding: 7px 7px max(7px, env(safe-area-inset-bottom));
    height: 69px;
  }
  .mobile-nav .nav-link {
    flex-direction: column;
    gap: 5px;
    font-size: 8px;
    min-height: 50px;
    border-radius: 9px;
    padding: 8px 12px;
    min-width: 60px;
  }
  .mobile-nav .nav-link .icon {
    width: 19px;
    height: 19px;
  }
  .mobile-nav .nav-link i {
    display: none;
  }
  .mobile-nav .nav-link.selected {
    background: #ff3b4507;
    border-color: transparent;
  }
  .page-heading {
    margin: 10px 0 26px;
    gap: 18px;
  }
  .page-heading .eyebrow {
    font-size: 7px;
    letter-spacing: 1.1px;
  }
  .page-heading h1 {
    font-size: 29px;
    letter-spacing: -1px;
    line-height: 1.25;
    margin: 13px 0 10px;
  }
  .page-heading p {
    font-size: 11px;
    line-height: 1.8;
  }
  .page-heading > .button {
    width: 100%;
    font-size: 11px;
  }
  .notice {
    font-size: 10px;
    padding: 15px;
    gap: 10px;
  }
  .notice > .icon {
    width: 17px;
    height: 17px;
  }
  .plans {
    gap: 33px 12px;
    margin-top: 37px;
  }
  .plan {
    padding: 22px 15px;
    border-radius: 13px;
  }
  .plan-tag {
    font-size: 6px;
    padding: 7px 2px;
    top: -20px;
  }
  .plan h2 {
    font-size: 16px;
    margin: 15px 0 20px;
  }
  .price {
    font-size: 27px;
    letter-spacing: -1.3px;
  }
  .price small {
    font-size: 8px;
    margin-top: 7px;
    margin-bottom: 22px;
  }
  .plan-quantity {
    font-size: 11px;
    padding-bottom: 18px;
  }
  .plan ul {
    gap: 13px;
    margin: 18px 0 22px;
  }
  .plan li {
    font-size: 9px;
    gap: 5px;
    line-height: 1.5;
  }
  .plan li > .icon {
    width: 11px;
    height: 11px;
  }
  .plan .button {
    font-size: 9px;
    padding: 11px 7px;
    gap: 5px;
    min-height: 40px;
  }
  .plan .button .icon {
    width: 13px;
    height: 13px;
  }
  .contact-strip {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 26px;
  }
  .contact-strip .button {
    width: 100%;
  }
  .auth-layout {
    gap: 0;
  }
  .form-card {
    padding: 26px 22px;
    margin-top: 7px;
  }
  .form-card > h2 {
    font-size: 24px;
  }
  .form-card > .square-icon {
    margin-bottom: 23px;
  }
  .field > span {
    font-size: 11px;
  }
  .field input,
  .field select {
    height: 48px;
    font-size: 13px;
  }
  .field {
    margin-bottom: 20px;
  }
  .form-card > p {
    font-size: 11px;
  }
  .form-card > .eyebrow {
    font-size: 7px;
  }
  .stats-grid {
    gap: 10px;
    margin-bottom: 20px;
  }
  .stat-card {
    padding: 15px 12px;
  }
  .stat-card > span {
    font-size: 8px;
    line-height: 1.5;
    gap: 4px;
  }
  .stat-card > span .icon {
    width: 12px;
    height: 12px;
  }
  .stat-card > strong {
    font-size: 30px;
    margin: 10px 0 4px;
  }
  .stat-card > small {
    font-size: 7px;
    line-height: 1.6;
    display: block;
  }
  .master-stats .stat-card {
    padding: 18px;
  }
  .master-stats .stat-card > span {
    font-size: 10px;
  }
  .master-stats .stat-card > small {
    font-size: 9px;
  }
  .master-stats .stat-card > strong {
    font-size: 34px;
  }
  .panel {
    padding: 20px 17px;
    border-radius: 13px;
    margin-bottom: 19px;
  }
  .panel-heading {
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 14px;
  }
  .panel-heading h2 {
    font-size: 17px;
  }
  .search-input {
    max-width: 100%;
    width: 100%;
  }
  .search-input input {
    font-size: 11px;
  }
  .link-record {
    flex-wrap: wrap;
    gap: 12px;
    padding: 17px 0;
  }
  .code-badge {
    min-width: 72px;
    font-size: 18px;
    padding: 11px 9px;
  }
  .link-record .record-main {
    width: calc(100% - 90px);
  }
  .row-actions {
    gap: 8px;
  }
  .link-record .row-actions {
    margin-left: 83px;
  }
  .row-actions .icon-button {
    width: 32px;
    height: 32px;
    border-color: #2e4058;
  }
  .record-main strong {
    font-size: 12px;
  }
  .record-main small {
    font-size: 9px;
  }
  .admin-record {
    gap: 12px;
  }
  .admin-record .record-main {
    width: calc(100% - 60px);
    flex: auto;
  }
  .admin-record > .badge {
    margin-left: 48px;
  }
  .admin-record .row-actions {
    width: 100%;
    margin-left: 48px;
    gap: 6px;
    flex-wrap: wrap;
  }
  .admin-record .row-actions .button {
    font-size: 9px;
    padding: 8px;
  }
  .admin-record > .avatar {
    width: 35px;
    height: 35px;
  }
  .capacity {
    padding: 15px;
    gap: 13px;
  }
  .capacity strong {
    font-size: 9px;
  }
  .capacity small {
    font-size: 8px;
    display: block;
    width: 100%;
    margin-left: 16px;
    line-height: 1.5;
  }
  .tabs {
    gap: 19px;
    margin-bottom: 19px;
  }
  .tabs button {
    font-size: 10px;
  }
  .record {
    gap: 10px;
  }
  .record .record-main {
    min-width: calc(100% - 52px);
  }
  .record > .badge {
    font-size: 8px;
    margin-left: 47px;
  }
  .record > .icon-button {
    width: 28px;
    height: 28px;
  }
  .simple-row {
    font-size: 10px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .simple-row strong {
    font-size: 10px;
  }
  .simple-row .badge {
    font-size: 8px;
  }
  .two-columns,
  .help-grid {
    gap: 0;
  }
  .result-box {
    gap: 11px;
  }
  .result-name strong {
    font-size: 12px;
  }
  .result-box > .button {
    width: calc(100% - 44px);
    margin-top: 5px;
  }
  .result-box > .icon-button {
    margin-top: 5px;
  }
  .result-box .square-icon {
    width: 32px;
    height: 32px;
  }
  .empty {
    padding: 45px 12px;
  }
  .empty h3 {
    font-size: 16px;
  }
  .empty p {
    font-size: 11px;
  }
  .help-grid details {
    padding: 17px 0;
  }
  summary {
    font-size: 11px;
  }
  .contact-panel .button {
    width: 100%;
  }
  #toast {
    left: 50%;
    bottom: 85px;
    font-size: 11px;
    padding: 15px 18px;
  }
  dialog {
    padding: 23px 20px;
  }
  .dialog-head h2 {
    font-size: 20px;
  }
  .dialog-actions {
    gap: 10px;
  }
  .dialog-actions .button {
    font-size: 11px;
  }
  .tv-content {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 30px;
  }
  .tv-screen > header {
    padding: 20px 25px;
  }
  .tv-top-caption {
    display: none;
  }
  .tv-download h1 {
    font-size: 39px;
  }
  .tv-download form {
    max-width: none;
  }
  .tv-info {
    max-width: 480px;
    width: 100%;
    margin: auto;
  }
  .tv-screen > footer {
    flex-direction: column;
    font-size: 10px;
    padding: 20px;
  }
  .tv-mode #toast {
    bottom: 25px;
    font-size: 13px;
  }
  .tv-mode .brand img {
    width: 45px;
    height: 45px;
  }
  .tv-mode .brand > span {
    font-size: 27px;
  }
  .tv-info > .eyebrow {
    font-size: 8px;
  }
  .tv-info h2 {
    font-size: 25px;
  }
  .tv-qr {
    width: 200px;
    height: 200px;
  }
  .tv-domain,
  .tv-contact strong {
    font-size: 17px;
  }
  .tv-mode .result-box > .button {
    width: 100%;
  }
  .tv-download .result-name strong {
    font-size: 16px;
  }
}
@media (max-width: 370px) {
  #content {
    padding-left: 15px;
    padding-right: 15px;
  }
  .topbar {
    padding: 0 12px;
  }
  .topbar-actions {
    gap: 9px;
  }
  .hero-copy h1 {
    font-size: 28px;
  }
  .hero-copy p {
    font-size: 10px;
  }
  .card-title p {
    font-size: 8px;
  }
  .card-title .badge {
    display: none;
  }
  .download-card {
    padding: 19px;
  }
  .plans {
    grid-template-columns: 1fr;
  }
  .plan {
    padding: 26px;
  }
  .plan h2 {
    font-size: 22px;
  }
  .price {
    font-size: 35px;
  }
  .plan li {
    font-size: 12px;
  }
  .plan .button {
    font-size: 12px;
  }
  .plan-tag {
    font-size: 8px;
  }
  .stat-card > span .icon {
    display: none;
  }
  .footer > span {
    font-size: 7px;
  }
  .capacity strong {
    font-size: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
[hidden] {
  display: none !important;
}

/* Site de contas e pacotes: index.html. Separado da superfície do aplicativo. */
.website-header {
  border-bottom: 1px solid #263143;
  background: #0d141ff2;
  position: relative;
  z-index: 20;
}
.website-header-inner {
  max-width: 1210px;
  margin: auto;
  padding: 24px 35px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.website-header nav,
.website-actions {
  display: flex;
  align-items: center;
  gap: 26px;
}
.website-header nav a {
  font-size: 12px;
  color: #8fa1bb;
}
.website-header nav a:hover {
  color: var(--gold);
}
.website-actions {
  gap: 20px;
}
.website-header .brand img {
  width: 45px;
  height: 45px;
}
.website-header .brand > span {
  font-size: 25px;
}
.website-workspace {
  min-height: 65vh;
}
.website-workspace #content {
  max-width: 1210px;
  padding: 35px 35px 60px;
}
.website-hero {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr;
  gap: 75px;
  align-items: center;
  padding: 65px 0 95px;
}
.website-hero .eyebrow {
  color: #b4a477;
  font-size: 9px;
}
.website-hero h1 {
  font-size: clamp(35px, 4.3vw, 61px);
  font-weight: 600;
  line-height: 1.13;
  letter-spacing: -2.7px;
  margin: 23px 0;
}
.website-hero > div > p {
  max-width: 470px;
  font-size: 14px;
  line-height: 1.9;
}
.website-hero-actions {
  display: flex;
  gap: 12px;
  margin: 30px 0 25px;
  flex-wrap: wrap;
}
.website-hero-actions .button {
  font-size: 12px;
}
.website-hero-note {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #738aa7;
  font-size: 10px;
}
.website-hero-note .icon {
  width: 13px;
  height: 13px;
  color: var(--gold);
}
.website-hero-note > span {
  margin: 0 4px;
  color: #41516a;
}
.website-product {
  border: 1px solid #46506a;
  background: linear-gradient(145deg, #243044, #121b29 70%);
  border-radius: 25px;
  padding: 29px;
  box-shadow:
    0 25px 100px #0005,
    0 0 100px #ff3b4507;
  transform: rotate(3deg);
  position: relative;
}
.website-product:before {
  content: "";
  position: absolute;
  inset: 9px -9px -9px 9px;
  border: 1px solid #35445e;
  border-radius: 25px;
  z-index: -1;
  background: #172131;
}
.product-top {
  display: flex;
  gap: 13px;
  align-items: center;
  padding-bottom: 22px;
  border-bottom: 1px solid #34445c;
}
.product-top img {
  width: 45px;
  height: 45px;
}
.product-top > span {
  font-size: 7px;
  line-height: 1.9;
  letter-spacing: 1.5px;
  color: #7f94af;
}
.product-top strong {
  font-size: 14px;
  color: #e2e9f4;
  letter-spacing: -0.2px;
  font-weight: 550;
}
.product-dot {
  width: 7px;
  height: 7px;
  background: var(--green);
  border-radius: 50%;
  margin-left: auto;
}
.product-file {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 24px 0;
  font-size: 13px;
  color: #c2d0e4;
}
.product-file > .icon {
  color: var(--gold);
}
.product-file > .icon:last-child {
  margin-left: auto;
  color: var(--green);
  width: 17px;
  height: 17px;
}
.product-file small {
  display: block;
  margin-top: 7px;
  font-size: 9px;
  color: #6c829f;
}
.product-digits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.product-digits > span {
  display: grid;
  place-items: center;
  height: 82px;
  border: 1px solid #455571;
  border-radius: 10px;
  background: #0b1422;
  font-size: 43px;
  color: var(--gold);
  font-weight: 600;
}
.product-download {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  border-radius: 10px;
  background: var(--gold);
  color: #282319;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.9px;
  padding: 19px 10px;
  margin-top: 17px;
}
.product-download .icon {
  width: 18px;
  height: 18px;
}
.website-product > small {
  display: block;
  font-size: 6px;
  text-align: center;
  letter-spacing: 1px;
  margin-top: 15px;
  color: #657c9a;
}
.product-caption {
  display: flex;
  justify-content: center;
  gap: 10px;
  align-items: center;
  color: #7289a8;
  font-size: 9px;
  margin-top: 28px;
}
.product-caption .icon {
  width: 14px;
  height: 14px;
}
.product-caption .icon:nth-of-type(2) {
  margin-left: 14px;
}
.section-heading {
  margin-bottom: 30px;
}
.section-heading h2 {
  font-size: 31px;
  font-weight: 550;
  letter-spacing: -1.1px;
  margin: 13px 0;
}
.section-heading p {
  font-size: 12px;
  line-height: 1.9;
}
.section-heading .eyebrow {
  font-size: 8px;
  color: #ab7e85;
}
.website-how {
  padding: 35px 0 55px;
  border-top: 1px solid #253247;
}
.website-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.website-steps article {
  padding: 5px 0;
}
.website-steps article > b {
  font-size: 12px;
  color: var(--gold);
  font-weight: 500;
  display: block;
  border-bottom: 1px solid #364257;
  padding-bottom: 19px;
  margin-bottom: 23px;
}
.website-steps h3 {
  font-size: 17px;
  letter-spacing: -0.4px;
  font-weight: 550;
}
.website-steps p {
  font-size: 11px;
  line-height: 1.9;
  max-width: 290px;
}
.website-catalog {
  padding: 35px 0 55px;
}
.website-packages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 17px;
  margin: 32px 0 25px;
}
.website-packages article {
  padding: 25px 21px;
  border: 1px solid #334159;
  border-radius: 16px;
  background: linear-gradient(145deg, #1d293a, #111b2a);
}
.website-packages article:nth-child(2) {
  border-color: #ad914c;
  background: linear-gradient(145deg, #332f21, #18212e);
}
.website-packages article > span {
  display: block;
  color: #99acc7;
  font-size: 11px;
}
.website-packages article > strong {
  display: block;
  font-size: 54px;
  font-weight: 500;
  letter-spacing: -3px;
  margin: 18px 0 25px;
  color: #e6eaf1;
}
.website-packages article > strong > small {
  display: block;
  font-size: 11px;
  letter-spacing: 0;
  margin-top: 2px;
  font-weight: 400;
  color: #7b92b1;
}
.website-packages article > b {
  display: block;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -1px;
  color: #ffb1b7;
}
.website-packages article > small {
  display: block;
  font-size: 9px;
  color: #6d84a6;
  margin-top: 7px;
}
.website-packages .button {
  width: 100%;
  font-size: 10px;
  padding: 13px 10px;
  margin-top: 25px;
  gap: 7px;
}
.website-packages .button > .icon {
  width: 14px;
  height: 14px;
}
.package-support {
  display: flex;
  justify-content: center;
  gap: 6px;
  align-items: center;
  text-align: center;
  font-size: 9px;
  color: var(--green);
  margin-top: 15px;
  line-height: 1.7;
}
.package-support > .icon {
  width: 12px;
  height: 12px;
}
.support-pending {
  display: block;
  font-size: 8px;
  text-align: center;
  margin-top: 15px;
  color: #61799b;
}
.website-control {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  padding: 30px 0 75px;
}
.website-control h2 {
  font-size: 32px;
  font-weight: 550;
  letter-spacing: -1px;
  line-height: 1.3;
  margin: 16px 0 20px;
}
.website-control p {
  font-size: 12px;
  line-height: 1.9;
  max-width: 435px;
}
.website-control .text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--gold);
  font-size: 12px;
  margin-top: 14px;
}
.control-example {
  padding: 28px;
  border: 1px solid #34455c;
  background: #172335;
  border-radius: 18px;
}
.control-example > .badge {
  font-size: 8px;
}
.control-example > div {
  display: flex;
  justify-content: space-between;
  margin: 30px 0 17px;
  align-items: center;
  font-size: 11px;
  color: #8ba1c0;
}
.control-example b {
  font-size: 23px;
  color: #d9e4f3;
  font-weight: 500;
}
.control-example progress {
  height: 7px;
  width: 100%;
}
.control-example > p {
  font-size: 11px;
  margin: 17px 0 25px;
  color: #c3d0e2;
}
.control-example > small {
  font-size: 10px;
  line-height: 1.9;
  color: #6982a4;
}
.website-contact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 32px;
  border: 1px solid #3a475c;
  background: linear-gradient(120deg, #253045, #141f31);
  border-radius: 18px;
}
.website-contact h2 {
  font-size: 27px;
  font-weight: 550;
  margin: 13px 0;
}
.website-contact p {
  font-size: 11px;
  margin: 0;
  line-height: 1.9;
  max-width: 470px;
}
.website-contact .eyebrow {
  font-size: 7px;
  color: #a49a7d;
}
.website-contact .button {
  font-size: 11px;
}
.website-app-note {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  color: #6d85a6;
  margin-top: 35px;
  line-height: 1.9;
  flex-wrap: wrap;
}
.website-app-note > .icon {
  width: 15px;
  height: 15px;
}
.website-app-note > a {
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.website-app-note > a > .icon {
  width: 13px;
  height: 13px;
}
.website-footer {
  max-width: 1210px;
  padding: 35px;
  margin: auto;
  border-top: 1px solid #27354a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
}
.website-footer .brand img {
  width: 34px;
  height: 34px;
}
.website-footer .brand > span {
  font-size: 22px;
}
.website-footer .brand small {
  font-size: 5px;
}
.website-footer p {
  font-size: 9px;
  margin: 15px 0 0;
}
.website-footer nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px 25px;
  font-size: 10px;
  color: #7f97b8;
}
.website-footer nav > .icon {
  width: 13px;
  height: 13px;
}
.website-footer > small {
  font-size: 9px;
  line-height: 2;
  color: #536e92;
}
.website-mode:not(.website-panel-mode) #toast {
  left: 50%;
}
/* Aplicativo: sem contas, planos, preços ou acesso a painéis. */
.downloader-shell {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: radial-gradient(ellipse at 50% 5%, #1b2a4150, transparent 60%);
}
.downloader-header {
  height: 93px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 40px;
  border-bottom: 1px solid #253248;
}
.downloader-header .brand {
  margin: auto;
}
.app-website-link {
  display: none;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #b7c8e2;
}
.app-website-link > .icon {
  width: 14px;
  height: 14px;
}
.downloader-shell #content {
  max-width: 760px;
  width: 100%;
  padding: 35px 30px;
  flex: 1;
}
.app-download-intro {
  text-align: center;
  padding: 5px 0 25px;
}
.app-download-intro > .eyebrow {
  justify-content: center;
  font-size: 8px;
  color: #a99d7b;
}
.app-main-logo {
  width: 105px;
  height: 105px;
  display: block;
  margin: 23px auto;
}
.app-download-intro h1 {
  font-size: 35px;
  font-weight: 550;
  letter-spacing: -1.3px;
  line-height: 1.25;
  margin-bottom: 15px;
}
.app-download-intro p {
  font-size: 12px;
  line-height: 1.9;
}
.app-code-card .code-entry {
  flex-wrap: nowrap;
  flex-direction: row;
}
.app-code-card .code-entry input {
  height: 72px;
}
.app-code-card .download-button {
  height: 72px;
  min-width: 175px;
  width: auto;
}
.app-download-hint {
  display: flex;
  justify-content: center;
  gap: 8px;
  font-size: 10px;
  line-height: 1.9;
  color: #637c9f;
  margin-top: 25px;
}
.app-download-hint .icon {
  width: 14px;
  height: 14px;
}
.downloader-nav {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 5px auto 20px;
}
.downloader-nav .nav-link {
  min-width: 120px;
  justify-content: center;
}
.downloader-nav .nav-link i {
  display: none;
}
.downloader-footer {
  text-align: center;
  color: #4a658b;
  font-size: 9px;
  padding: 17px;
}
.downloader-mode #toast {
  left: 50%;
}
@media (max-width: 1000px) {
  .website-header-inner {
    gap: 20px;
    padding: 22px 28px;
  }
  .website-header nav {
    gap: 17px;
  }
  .website-header nav a {
    font-size: 11px;
  }
  .website-header .brand img {
    width: 37px;
    height: 37px;
  }
  .website-header .brand > span {
    font-size: 22px;
  }
  .website-header .brand small {
    font-size: 6px;
  }
  .website-hero {
    gap: 35px;
    padding: 40px 0 65px;
  }
  .website-hero h1 {
    font-size: 42px;
    letter-spacing: -1.8px;
  }
  .website-hero > div > p {
    font-size: 12px;
  }
  .website-product {
    padding: 22px;
  }
  .product-digits {
    gap: 7px;
  }
  .product-digits > span {
    height: 66px;
    font-size: 34px;
  }
  .website-packages {
    gap: 12px;
  }
  .website-packages article {
    padding: 24px 16px;
  }
  .website-packages article > b {
    font-size: 23px;
  }
  .website-packages .button {
    font-size: 9px;
  }
  .website-control {
    gap: 40px;
  }
  .website-control h2 {
    font-size: 27px;
  }
  .website-footer {
    gap: 25px;
  }
  .website-footer > small {
    font-size: 8px;
  }
}
@media (max-width: 760px) {
  .website-header-inner {
    padding: 16px 18px;
    gap: 10px;
  }
  .website-header nav {
    display: none;
  }
  .website-header .brand {
    gap: 6px;
  }
  .website-header .brand img {
    width: 35px;
    height: 35px;
  }
  .website-header .brand > span {
    font-size: 21px;
  }
  .website-header .brand small {
    font-size: 5px;
    letter-spacing: 1.7px;
  }
  .website-actions {
    gap: 12px;
  }
  .website-actions .login-link {
    font-size: 10px;
  }
  .website-actions .button {
    font-size: 9px;
    padding: 10px;
    gap: 5px;
    min-height: 35px;
  }
  .website-actions .button > .icon {
    width: 12px;
    height: 12px;
  }
  .website-workspace #content {
    padding: 24px 22px 35px;
    max-width: 600px;
  }
  .website-hero {
    grid-template-columns: 1fr;
    gap: 45px;
    padding: 25px 0 65px;
  }
  .website-hero .eyebrow {
    font-size: 7px;
    letter-spacing: 1.25px;
  }
  .website-hero h1 {
    font-size: clamp(34px, 9vw, 48px);
    letter-spacing: -1.9px;
    line-height: 1.16;
    margin: 21px 0;
  }
  .website-hero > div > p {
    font-size: 12px;
    line-height: 1.9;
  }
  .website-hero-actions {
    gap: 10px;
    margin: 24px 0 20px;
  }
  .website-hero-actions .button {
    font-size: 10px;
    padding: 14px 13px;
    gap: 7px;
  }
  .website-hero-note {
    gap: 6px;
    font-size: 8px;
  }
  .website-hero-note .icon {
    width: 11px;
    height: 11px;
  }
  .website-product {
    max-width: 340px;
    width: calc(100% - 18px);
    margin: auto;
    padding: 24px;
    transform: rotate(2deg);
  }
  .product-digits > span {
    height: 70px;
    font-size: 36px;
  }
  .section-heading h2 {
    font-size: 27px;
    line-height: 1.25;
  }
  .section-heading .eyebrow {
    font-size: 7px;
    letter-spacing: 1.2px;
  }
  .section-heading p {
    font-size: 11px;
  }
  .website-how {
    padding: 30px 0 20px;
  }
  .website-steps {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .website-steps article {
    padding: 0 0 15px;
  }
  .website-steps article > b {
    margin-bottom: 17px;
    padding-bottom: 15px;
    font-size: 10px;
  }
  .website-steps p {
    max-width: none;
    font-size: 11px;
  }
  .website-steps h3 {
    font-size: 17px;
    margin-bottom: 10px;
  }
  .website-catalog {
    padding: 25px 0 30px;
  }
  .website-packages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 25px 0;
  }
  .website-packages article {
    padding: 23px 15px;
  }
  .website-packages article > span {
    font-size: 10px;
  }
  .website-packages article > strong {
    font-size: 47px;
    margin: 15px 0 22px;
  }
  .website-packages article > b {
    font-size: 25px;
  }
  .website-packages article > strong > small {
    font-size: 10px;
  }
  .website-packages .button {
    font-size: 9px;
    padding: 12px 8px;
    gap: 5px;
  }
  .website-packages .button > .icon {
    width: 12px;
    height: 12px;
  }
  .package-support {
    font-size: 8px;
    gap: 3px;
  }
  .support-pending {
    font-size: 7px;
  }
  .website-control {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 15px 0 45px;
  }
  .website-control h2 {
    font-size: 28px;
    margin-top: 15px;
  }
  .website-control > .eyebrow {
    font-size: 8px;
  }
  .website-control p {
    font-size: 11px;
    max-width: none;
  }
  .control-example {
    padding: 24px;
  }
  .control-example > .badge {
    font-size: 7px;
  }
  .website-contact {
    flex-direction: column;
    align-items: stretch;
    padding: 24px;
    gap: 20px;
  }
  .website-contact h2 {
    font-size: 25px;
    line-height: 1.3;
  }
  .website-contact p {
    font-size: 11px;
  }
  .website-contact .button {
    font-size: 10px;
  }
  .website-contact .eyebrow {
    font-size: 6px;
  }
  .website-app-note {
    font-size: 9px;
    gap: 7px;
    margin-top: 25px;
  }
  .website-footer {
    padding: 30px 22px 35px;
    flex-wrap: wrap;
    gap: 28px;
    max-width: 600px;
    align-items: flex-start;
  }
  .website-footer > div {
    width: 100%;
  }
  .website-footer p {
    margin-top: 12px;
  }
  .website-footer > small {
    font-size: 8px;
  }
  .website-footer nav {
    font-size: 9px;
    gap: 15px 22px;
  }
  .website-mode:not(.website-panel-mode) #toast {
    bottom: 23px;
  }
  .website-panel-mode #toast {
    bottom: 85px;
  }
  .downloader-header {
    height: 77px;
    padding: 16px 20px;
  }
  .downloader-header .brand {
    margin: 0;
  }
  .downloader-header .brand > span {
    font-size: 23px;
  }
  .downloader-header .brand img {
    width: 39px;
    height: 39px;
  }
  .app-website-link {
    display: inline-flex;
    font-size: 10px;
  }
  .downloader-shell #content {
    max-width: 560px;
    padding: 27px 20px 30px;
  }
  .app-download-intro {
    padding: 6px 0 20px;
  }
  .app-download-intro > .eyebrow {
    font-size: 7px;
    letter-spacing: 1.15px;
  }
  .app-main-logo {
    width: 90px;
    height: 90px;
    margin: 25px auto;
  }
  .app-download-intro h1 {
    font-size: 29px;
    letter-spacing: -1px;
    max-width: 300px;
    margin: 0 auto 15px;
  }
  .app-download-intro p {
    font-size: 11px;
    max-width: 280px;
    margin: auto;
  }
  .app-code-card .code-entry {
    flex-direction: column;
    gap: 12px;
  }
  .app-code-card .download-button {
    height: 55px;
    width: 100%;
    font-size: 12px;
  }
  .app-code-card .code-entry input {
    height: 75px;
  }
  .app-code-card .card-title p {
    font-size: 10px;
  }
  .app-download-hint {
    font-size: 8px;
    gap: 7px;
    margin: 23px 0 0;
  }
  .downloader-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 40;
    border-top: 1px solid #334157;
    background: #111c2cf5;
    backdrop-filter: blur(12px);
    margin: 0;
    padding: 8px 8px max(8px, env(safe-area-inset-bottom));
    justify-content: space-around;
    gap: 4px;
  }
  .downloader-nav .nav-link {
    flex-direction: column;
    min-width: 65px;
    min-height: 49px;
    padding: 7px 11px;
    gap: 6px;
    font-size: 8px;
  }
  .downloader-nav .nav-link .icon {
    width: 19px;
    height: 19px;
  }
  .downloader-footer {
    padding-bottom: 95px;
    font-size: 8px;
  }
  .downloader-mode #toast {
    bottom: 86px;
  }
}
@media (max-width: 370px) {
  .website-header-inner {
    padding-left: 14px;
    padding-right: 14px;
  }
  .website-header .brand > span {
    font-size: 19px;
  }
  .website-header .brand img {
    width: 30px;
    height: 30px;
  }
  .website-actions {
    gap: 9px;
  }
  .website-actions .login-link .icon {
    display: none;
  }
  .website-workspace #content {
    padding-left: 17px;
    padding-right: 17px;
  }
  .website-packages article {
    padding: 21px 12px;
  }
  .website-packages article > span {
    font-size: 9px;
  }
  .website-packages article > b {
    font-size: 23px;
  }
  .website-packages .button {
    font-size: 8px;
  }
  .package-support {
    font-size: 7px;
  }
  .website-hero h1 {
    font-size: 33px;
  }
  .website-hero-actions .button {
    font-size: 9px;
    padding: 13px 11px;
  }
}
