﻿:root {
      --primary: #2b88d8;
      --dark: #0f141e;
      --panel: #1a2233;
      --panel-soft: #232d42;
      --text: #f8fafc;
      --muted: #94a3b8;
      --border: #2e3b52;
      --success: #10b981;
      --warning: #f59e0b;
      --danger: #ef4444;
}

.photo-upload-box {
  display: grid;
  gap: 10px;
}

.photo-upload-box:focus {
  outline: 2px solid rgba(45, 151, 255, 0.72);
  outline-offset: 3px;
  border-radius: 8px;
}

.photo-preview {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(71, 145, 255, 0.32);
  background: rgba(15, 23, 42, 0.78);
}

.photo-upload-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.public-store-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(45, 151, 255, 0.16), transparent 34%),
    #0b1220;
  color: #f8fbff;
}

.store-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 0 44px;
}

.store-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px;
  margin-bottom: 18px;
  border: 1px solid rgba(68, 138, 255, 0.28);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.76);
}

.store-logo {
  width: 76px;
  height: 76px;
  object-fit: contain;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
}

.store-kicker {
  display: inline-block;
  margin-bottom: 6px;
  color: #7dd3fc;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.store-hero h1 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.store-hero p {
  margin: 6px 0 0;
  color: #a8c7ed;
}

.store-status {
  padding: 18px;
  border: 1px solid rgba(68, 138, 255, 0.28);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.72);
  color: #c7d7ee;
}

.store-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.store-card {
  overflow: hidden;
  border: 1px solid rgba(68, 138, 255, 0.24);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.86);
}

.store-photo {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  background: #111c2f;
}

.store-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.store-photo-empty {
  color: #38bdf8;
  font-size: 3rem;
}

.store-card-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.store-card h2 {
  margin: 0;
  font-size: 1.1rem;
}

.store-card p {
  margin: 0;
  min-height: 42px;
  color: #a8b8cf;
}

.store-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  color: #b7cef0;
  font-size: 0.86rem;
}

.store-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(37, 52, 77, 0.82);
}

.store-price {
  color: #7cf7cb;
  font-size: 1.45rem;
}

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

.public-quote-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(22, 199, 154, 0.14), transparent 34%),
    #0b1220;
  color: #f8fbff;
}

.quote-shell {
  width: min(1060px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 0 44px;
}

.quote-card {
  overflow: hidden;
  border: 1px solid rgba(68, 138, 255, 0.28);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.86);
}

.quote-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.quote-header h1 {
  margin: 0;
  font-size: clamp(1.6rem, 4vw, 2.5rem);
}

.quote-header p {
  margin: 6px 0 0;
  color: #a8c7ed;
}

.quote-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
  gap: 22px;
  padding: 20px;
  align-items: start;
}

.quote-photo {
  display: grid;
  place-items: center;
  min-height: 320px;
  max-height: 70vh;
  overflow: hidden;
  border-radius: 8px;
  background: #111c2f;
  color: #38bdf8;
  font-size: 4rem;
  padding: 10px;
}

.quote-photo img {
  width: 100%;
  height: auto;
  max-height: calc(70vh - 20px);
  object-fit: contain;
  border-radius: 6px;
}

.quote-info {
  display: grid;
  gap: 14px;
  align-content: start;
}

.quote-badge {
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(45, 151, 255, 0.16);
  color: #93c5fd;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.quote-badge.approved {
  background: rgba(16, 185, 129, 0.16);
  color: #7cf7cb;
}

.quote-info h2 {
  margin: 0;
  font-size: clamp(1.5rem, 4vw, 2.4rem);
}

.quote-info p {
  margin: 0;
  color: #a8b8cf;
}

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

.quote-data div {
  padding: 12px;
  border: 1px solid rgba(68, 138, 255, 0.18);
  border-radius: 8px;
  background: rgba(37, 52, 77, 0.56);
}

.quote-data span,
.quote-total span {
  display: block;
  margin-bottom: 5px;
  color: #9db4d3;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.quote-data strong {
  color: #f8fbff;
}

.quote-total {
  padding: 16px;
  border: 1px solid rgba(16, 185, 129, 0.32);
  border-radius: 8px;
  background: rgba(6, 78, 59, 0.22);
}

.quote-total strong {
  color: #7cf7cb;
  font-size: clamp(2rem, 7vw, 3.4rem);
  line-height: 1;
}

.quote-validity {
  color: #bfd3ee;
  font-size: 0.92rem;
}

.quote-accept-box {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(16, 185, 129, 0.28);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.6);
}

.quote-accept-box .btn-success {
  min-height: 42px;
}

.quote-accept-box label {
  color: #a8c7ed;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

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

.quote-actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 14px;
  border: 1px solid rgba(68, 138, 255, 0.34);
  border-radius: 8px;
  background: rgba(37, 52, 77, 0.78);
  color: #dbeafe;
  font-weight: 800;
  text-decoration: none;
}

.quote-actions a:hover {
  border-color: rgba(125, 211, 252, 0.72);
  background: rgba(45, 151, 255, 0.16);
  color: #ffffff;
}

.modal-subtitle {
  margin: 4px 0 0;
  color: #9db4d3;
  font-size: 0.9rem;
}

.quote-control-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 14px;
}

.quote-filter {
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(68, 138, 255, 0.28);
  border-radius: 8px;
  background: rgba(37, 52, 77, 0.7);
  color: #dbeafe;
  font-weight: 800;
  cursor: pointer;
}

.quote-filter.active {
  border-color: rgba(16, 185, 129, 0.58);
  background: rgba(16, 185, 129, 0.18);
  color: #7cf7cb;
}

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

.online-quote-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(68, 138, 255, 0.2);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.62);
}

.online-quote-card.aprovado {
  border-color: rgba(16, 185, 129, 0.34);
}

.online-quote-main {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
}

.online-quote-photo {
  display: grid;
  place-items: center;
  width: 74px;
  height: 60px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(37, 52, 77, 0.9);
  color: #38bdf8;
}

.online-quote-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.online-quote-main h4 {
  margin: 6px 0 2px;
  color: #f8fbff;
}

.online-quote-main p,
.online-quote-main small {
  display: block;
  margin: 0;
  color: #a8b8cf;
}

.online-quote-values {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.online-quote-values strong {
  color: #7cf7cb;
  font-size: 1.25rem;
}

.online-quote-values span {
  color: #9db4d3;
  font-size: 0.84rem;
}

.online-quote-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.production-stage-modal {
  width: min(1180px, calc(100vw - 24px));
}

.stage-board {
  display: grid;
  grid-template-columns: repeat(6, minmax(190px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.stage-column {
  min-width: 190px;
  border: 1px solid rgba(68, 138, 255, 0.2);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.56);
}

.stage-header {
  padding: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.stage-header strong {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #f8fbff;
  font-size: 0.9rem;
}

.stage-header i {
  color: #38bdf8;
}

.stage-header span {
  display: block;
  margin-top: 4px;
  color: #9db4d3;
  font-size: 0.78rem;
}

.stage-list {
  display: grid;
  gap: 10px;
  padding: 10px;
}

.stage-empty {
  min-height: 84px;
  display: grid;
  place-items: center;
  padding: 12px;
  border: 1px dashed rgba(148, 163, 184, 0.22);
  border-radius: 8px;
  color: #8ba2c0;
  text-align: center;
}

.stage-card {
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(68, 138, 255, 0.18);
  border-radius: 8px;
  background: rgba(37, 52, 77, 0.72);
}

.stage-card-top {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.stage-thumb {
  display: grid;
  place-items: center;
  width: 52px;
  height: 46px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.9);
  color: #38bdf8;
}

.stage-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.stage-card h4 {
  margin: 0;
  color: #f8fbff;
  font-size: 0.92rem;
}

.stage-card p {
  margin: 2px 0 0;
  color: #a8b8cf;
  font-size: 0.82rem;
}

.stage-card-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.stage-card-meta span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 5px 7px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.66);
  color: #c7d7ee;
  font-size: 0.76rem;
}

.stage-card-note {
  padding: 8px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.54);
}

.stage-card-actions {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 34px 34px;
  gap: 7px;
  align-items: center;
}

.stage-card-actions .btn-sm {
  min-height: 34px;
  padding-inline: 8px;
}

.stage-card-actions button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .store-shell {
    width: min(100% - 20px, 1120px);
    padding-top: 18px;
  }

  .store-hero {
    align-items: flex-start;
    padding: 16px;
  }

  .store-logo {
    width: 58px;
    height: 58px;
  }

  .quote-shell {
    width: min(100% - 20px, 1060px);
    padding-top: 18px;
  }

  .quote-header {
    padding: 16px;
    align-items: flex-start;
  }

  .quote-layout {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .quote-photo {
    min-height: 220px;
    max-height: none;
  }

  .quote-photo img {
    max-height: none;
  }

  .quote-data {
    grid-template-columns: 1fr;
  }

  .quote-actions {
    grid-template-columns: 1fr;
  }

  .online-quote-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .online-quote-values {
    justify-items: start;
  }

  .online-quote-actions {
    justify-content: stretch;
  }

  .online-quote-actions .btn-sm {
    width: 100%;
  }

  .stage-board {
    grid-template-columns: repeat(6, minmax(240px, 80vw));
  }
}

    * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      min-height: 100vh;
      font-family: Inter, system-ui, sans-serif;
      background:
        radial-gradient(circle at top left, rgba(43, 136, 216, 0.16), transparent 28rem),
        radial-gradient(circle at right 35%, rgba(16, 185, 129, 0.08), transparent 24rem),
        var(--dark);
      color: var(--text);
      padding: 0;
    }

    ::-webkit-scrollbar { width: 8px; height: 8px; }
    ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 99px; }
    ::-webkit-scrollbar-thumb:hover { background: var(--primary); }

    button, input, select, textarea { font: inherit; }
    button {
      min-height: 42px;
      border: 0;
      border-radius: 8px;
      padding: 10px 14px;
      color: #fff;
      font-weight: 700;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: transform .15s ease, filter .15s ease, border-color .15s ease;
    }
    button:hover { transform: translateY(-1px); filter: brightness(1.1); }
    button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
    input, select, textarea {
      width: 100%;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--panel-soft);
      color: var(--text);
      outline: 0;
      padding: 12px 14px;
    }
    input:focus, select:focus, textarea:focus {
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(43,136,216,.18);
    }
    textarea { resize: vertical; min-height: 76px; }
    label {
      display: block;
      margin-bottom: 8px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .hidden { display: none !important; }
    .screen {
      position: fixed;
      inset: 0;
      z-index: 50;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--dark);
      padding: 20px;
    }
    .auth-box, .paywall-box {
      width: min(100%, 420px);
      background: rgba(26, 34, 51, .96);
      border: 1px solid rgba(43, 136, 216, .55);
      border-radius: 12px;
      padding: 32px;
      box-shadow: 0 24px 70px rgba(0,0,0,.36);
      text-align: center;
    }
    .paywall-box { border-color: rgba(245, 158, 11, .7); }
    .brand-mark {
      width: 52px;
      height: 52px;
      border-radius: 12px;
      background: var(--primary);
      display: grid;
      place-items: center;
      margin: 0 auto 16px;
      font-size: 28px;
      font-weight: 900;
      box-shadow: 0 0 28px rgba(43,136,216,.4);
    }
    .auth-brand {
      display: flex;
      justify-content: center;
      margin: 0 auto 14px;
    }
    .brand-lockup {
      width: min(100%, 232px);
      height: auto;
      display: block;
      filter: drop-shadow(0 0 28px rgba(43, 136, 216, .26));
    }
    .brand-logo {
      width: 52px;
      height: 52px;
      object-fit: contain;
      display: block;
      filter: drop-shadow(0 0 18px rgba(43, 136, 216, .32));
    }
    .muted { color: var(--muted); }
    .w-full { width: 100%; }
    .mt-10 { margin-top: 10px; }
    .mt-12 { margin-top: 12px; }
    .text-warning { color: var(--warning); }
    .text-success { color: var(--success); }
    .auth-intro { margin: 8px 0 24px; }
    .auth-note {
      margin-top: 12px;
      font-size: 12px;
      line-height: 1.45;
    }
    .auth-link-button {
      width: 100%;
      min-height: 34px;
      margin-top: 8px;
      background: transparent;
      border: 0;
      color: #93c5fd;
      font-size: 13px;
      font-weight: 800;
    }
    .auth-link-button:hover {
      color: #bfdbfe;
      background: rgba(43,136,216,.08);
    }
    .legal-consent {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 12px 0 2px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0;
      line-height: 1.45;
      text-align: left;
      text-transform: none;
    }
    .legal-consent input {
      width: 18px;
      height: 18px;
      min-width: 18px;
      margin-top: 1px;
      accent-color: var(--primary);
    }
    .legal-consent a,
    .auth-legal-links a,
    .footer-legal-links a {
      color: #93c5fd;
      font-weight: 900;
      text-decoration: none;
    }
    .legal-consent a:hover,
    .auth-legal-links a:hover,
    .footer-legal-links a:hover {
      color: #bfdbfe;
    }
    .auth-legal-links,
    .footer-legal-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      color: var(--muted);
      font-size: 12px;
    }
    .auth-legal-links {
      justify-content: center;
      margin-top: 12px;
    }
    .auth-legal-links a:not(:last-child)::after,
    .footer-legal-links a:not(:last-child)::after {
      content: "";
      display: inline-block;
      width: 3px;
      height: 3px;
      margin-left: 10px;
      border-radius: 50%;
      background: rgba(148,163,184,.55);
      vertical-align: middle;
    }
    .install-hint {
      margin-top: 10px;
      border: 1px solid rgba(43,136,216,.32);
      border-radius: 8px;
      background: rgba(43,136,216,.1);
      padding: 10px 12px;
      font-size: 12px;
      line-height: 1.45;
      text-align: left;
    }
    .verify-copy {
      margin: 12px 0 22px;
      line-height: 1.55;
    }
    .paywall-title { color: var(--warning); }
    .paywall-copy {
      margin: 14px 0 20px;
      line-height: 1.55;
    }
    .plan-offer {
      margin-bottom: 18px;
      border: 1px dashed var(--border);
      border-radius: 10px;
      background: var(--panel-soft);
      padding: 18px;
    }
    .plan-price {
      display: block;
      color: var(--success);
      font-size: 28px;
    }
    .plan-period { font-size: 14px; }
    .payment-plan-list {
      display: grid;
      gap: 10px;
      margin-top: 14px;
    }
    .payment-plan {
      width: 100%;
      min-height: 70px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      justify-content: stretch;
      gap: 4px 12px;
      border: 1px solid rgba(148,163,184,.18);
      background: rgba(15,20,30,.34);
      text-align: left;
    }
    .payment-plan span {
      color: #dbeafe;
      font-size: 13px;
      font-weight: 900;
      text-transform: uppercase;
    }
    .payment-plan strong {
      grid-row: span 2;
      color: #74f0c1;
      font-size: 22px;
      white-space: nowrap;
    }
    .payment-plan small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .payment-plan.featured {
      border-color: rgba(16,185,129,.52);
      background: rgba(16,185,129,.12);
    }
    .divider {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 20px 0;
      color: var(--muted);
      font-size: 12px;
      text-transform: uppercase;
      font-weight: 800;
    }
    .divider::before, .divider::after {
      content: "";
      height: 1px;
      flex: 1;
      background: var(--border);
    }
    .auth-warning {
      margin-top: 14px;
      border: 1px solid rgba(245, 158, 11, .55);
      border-radius: 8px;
      background: rgba(245, 158, 11, .1);
      color: #fcd34d;
      padding: 10px 12px;
      font-size: 12px;
      line-height: 1.45;
    }

    .app {
      width: 100%;
      min-height: 100vh;
      display: grid;
      grid-template-columns: 272px minmax(0, 1fr);
      align-items: start;
    }
    .sidebar {
      position: sticky;
      top: 0;
      grid-row: 1 / span 12;
      min-height: 100vh;
      padding: 24px;
      border-right: 1px solid rgba(148, 163, 184, .12);
      background: rgba(15, 20, 30, .72);
      backdrop-filter: blur(14px);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 24px;
    }
    .sidebar-brand {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 32px;
    }
    .sidebar-brand .brand-mark,
    .sidebar-brand .brand-logo {
      width: 46px;
      height: 46px;
      margin: 0;
      border-radius: 8px;
      font-size: 24px;
    }
    .sidebar-brand strong { display: block; font-size: 18px; }
    .sidebar-subtitle { font-size: 13px; }
    .sidebar-nav {
      display: grid;
      gap: 10px;
    }
    .nav-button {
      width: 100%;
      justify-content: flex-start;
      min-height: 46px;
      background: transparent;
      border: 1px solid transparent;
      color: #cbd5e1;
      font-weight: 700;
    }
    .nav-button:hover,
    .nav-button.active {
      background: rgba(43, 136, 216, .14);
      border-color: rgba(43, 136, 216, .28);
      color: var(--text);
    }
    .nav-button i {
      width: 30px;
      height: 30px;
      display: inline-grid;
      place-items: center;
      flex: 0 0 30px;
      border-radius: 9px;
      background: linear-gradient(145deg, rgba(43,136,216,.22), rgba(16,185,129,.12));
      color: #7cc2ff;
      box-shadow: inset 0 0 0 1px rgba(148,163,184,.12), 0 8px 18px rgba(0,0,0,.18);
      transition: transform .15s ease, background .15s ease, color .15s ease;
    }
    .nav-button:hover i,
    .nav-button.active i {
      transform: translateY(-1px);
      background: linear-gradient(145deg, #2b88d8, #10b981);
      color: #f8fafc;
      box-shadow: 0 10px 22px rgba(43,136,216,.28);
    }
    .plan-card {
      border: 1px solid rgba(43, 136, 216, .25);
      border-radius: 8px;
      background: rgba(26, 34, 51, .82);
      padding: 16px;
    }
    .plan-card small {
      display: block;
      color: var(--muted);
      margin-bottom: 10px;
      font-weight: 700;
    }
    .plan-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .plan-row strong { color: #7cc2ff; }
    .plan-row span { color: #74f0c1; font-size: 13px; font-weight: 800; }
    .trial {
      display: none;
      grid-column: 2;
      margin: 24px 32px 0;
      padding: 12px 16px;
      border-radius: 8px;
      background: rgba(245, 158, 11, .16);
      border: 1px solid rgba(245, 158, 11, .45);
      color: #fde68a;
      text-align: center;
      font-weight: 800;
    }
    .trial-action { margin-left: 10px; }
    .annual-plan-alert {
      grid-column: 2;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin: 16px 32px 0;
      border: 1px solid rgba(245, 158, 11, .55);
      border-radius: 8px;
      background: rgba(245, 158, 11, .12);
      color: #fef3c7;
      padding: 13px 16px;
      line-height: 1.35;
    }
    .annual-plan-alert strong {
      display: block;
      color: #fcd34d;
      margin-bottom: 2px;
    }
    .annual-plan-alert span {
      color: #fde68a;
      font-size: 13px;
    }
    .header {
      min-height: 64px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      grid-column: 2;
      margin: 32px 32px 24px;
    }
    .header-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
    .header-brand img {
      width: 48px;
      height: 48px;
      border-radius: 10px;
      object-fit: contain;
      background: var(--panel);
      border: 1px solid var(--border);
    }
    .header h1 { font-size: clamp(22px, 3vw, 30px); }
    .header-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

    .dashboard-panel {
      grid-column: 2;
      margin: 0 32px 24px;
      background: rgba(26, 34, 51, .72);
      border: 1px solid rgba(148, 163, 184, .14);
      border-radius: 8px;
      padding: 22px;
      box-shadow: 0 18px 42px rgba(0,0,0,.2);
    }
    .dashboard-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 18px;
    }
    .dashboard-head h2 {
      font-size: clamp(20px, 2.5vw, 26px);
      line-height: 1.1;
    }
    .dashboard-head p { margin-top: 5px; color: var(--muted); }
    .grid {
      grid-column: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.55fr) minmax(340px, .95fr);
      gap: 24px;
      align-items: start;
      margin: 0 32px 32px;
    }
    #orcamentoPanel,
    .stack { grid-column: 1 / -1; }
    .stack { display: grid; gap: 24px; }
    .card {
      background: rgba(26, 34, 51, .92);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 24px;
      box-shadow: 0 18px 42px rgba(0,0,0,.25);
    }
    .card-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding-bottom: 14px;
      margin-bottom: 18px;
      border-bottom: 1px solid var(--border);
      font-size: 18px;
      font-weight: 800;
    }
    .card-title > span,
    .modal-head h2,
    .modal-head h3 {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .card-title i,
    .modal-head h2 i,
    .modal-head h3 i {
      width: 34px;
      height: 34px;
      display: inline-grid;
      place-items: center;
      flex: 0 0 34px;
      border-radius: 10px;
      background: linear-gradient(145deg, rgba(43,136,216,.28), rgba(16,185,129,.18));
      color: #93c5fd;
      box-shadow: inset 0 0 0 1px rgba(148,163,184,.14), 0 10px 24px rgba(0,0,0,.22);
    }
    .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .printer-time-grid { grid-template-columns: minmax(0, 1fr) minmax(170px, .75fr); }
    .field { margin-bottom: 16px; }
    .field.locked-source label::after {
      content: " / impressora";
      color: #74f0c1;
      font-weight: 800;
      text-transform: none;
      letter-spacing: 0;
    }
    .field.locked-source input {
      border-color: rgba(16,185,129,.38);
      background: rgba(16,185,129,.08);
      color: #d1fae5;
    }
    .full { grid-column: 1 / -1; }
    .quote-workspace {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
      gap: 24px;
      align-items: start;
    }
    .quote-form {
      display: grid;
      gap: 20px;
      min-width: 0;
    }
    .quote-section {
      padding-bottom: 18px;
      border-bottom: 1px solid rgba(148, 163, 184, .14);
    }
    .quote-section:last-child { border-bottom: 0; padding-bottom: 0; }
    .quote-section h3 {
      margin-bottom: 14px;
      color: #dbeafe;
      font-size: 14px;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .quote-section .field:last-child,
    .quote-section .form-grid:last-child .field { margin-bottom: 0; }
    .quote-summary {
      position: sticky;
      top: 24px;
      display: grid;
      gap: 14px;
      min-width: 0;
    }
    .order-grid { grid-template-columns: minmax(0, 1fr) minmax(110px, 160px); }
    .model-link-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 46px;
      gap: 10px;
      align-items: stretch;
    }
    .model-link-row input { min-width: 0; }
    .model-link-open {
      min-height: 46px;
      border-color: rgba(43,136,216,.42);
      color: #bfdbfe;
    }
    .model-link-open:hover {
      border-color: rgba(16,185,129,.7);
      color: #d1fae5;
      background: rgba(16,185,129,.16);
    }
    .compact-field input,
    .compact-field select,
    .qty-field input { min-height: 44px; }

    .extras-box {
      border: 1px dashed rgba(245, 158, 11, .5);
      border-radius: 8px;
      background: rgba(35, 45, 66, .55);
      padding: 16px;
    }
    .line { display: flex; gap: 10px; align-items: center; }
    .line > * { min-width: 0; }
    .line .grow { flex: 1; }
    .extras-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 12px;
      flex-wrap: wrap;
    }
    .input-qty { max-width: 110px; }
    .input-money { max-width: 120px; }
    .input-price { max-width: 140px; }
    .input-stock-qty { max-width: 100px; }

    .result {
      padding: 26px 22px;
      border-radius: 8px;
      border: 1px solid rgba(43,136,216,.62);
      background: linear-gradient(180deg, rgba(43,136,216,.18), rgba(43,136,216,.07));
      text-align: center;
    }
    .result span { color: var(--muted); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .result > strong { display: block; margin-top: 8px; color: #7cc2ff; font-size: clamp(36px, 6vw, 48px); line-height: 1; }
    .result-meta {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 18px;
      text-align: left;
    }
    .result-meta span {
      display: grid;
      gap: 5px;
      border-radius: 8px;
      background: rgba(15, 23, 42, .34);
      padding: 10px;
      letter-spacing: 0;
      text-transform: none;
    }
    .result-meta strong {
      color: var(--text);
      font-size: 15px;
      white-space: nowrap;
    }
    .price-note,
    .margin-alert {
      margin-top: 12px;
      border-radius: 8px;
      padding: 10px 12px;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.35;
    }
    .price-note {
      border: 1px solid rgba(43,136,216,.4);
      background: rgba(43,136,216,.12);
      color: #bfdbfe;
    }
    .margin-alert {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      border: 1px solid rgba(245,158,11,.6);
      background: rgba(245,158,11,.12);
      color: #fde68a;
      text-align: left;
    }
    .margin-alert i { margin-top: 2px; }
    .quote-ficha {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .quote-ficha div {
      min-width: 0;
      border: 1px solid rgba(148, 163, 184, .16);
      border-radius: 8px;
      background: rgba(15, 23, 42, .32);
      padding: 12px;
    }
    .quote-ficha span {
      display: block;
      margin-bottom: 6px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 900;
      text-transform: uppercase;
    }
    .quote-ficha strong {
      display: block;
      overflow: hidden;
      color: var(--text);
      font-size: 13px;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .cost-summary {
      display: grid;
      gap: 8px;
      margin-top: 12px;
      padding: 16px;
      border: 1px solid rgba(148, 163, 184, .16);
      border-radius: 8px;
      background: rgba(15, 23, 42, .38);
    }
    .cost-details,
    .advanced-sale {
      border-top: 1px solid rgba(148, 163, 184, .14);
      padding-top: 14px;
    }
    .advanced-sale {
      margin-top: 0;
      border-top: 0;
      padding-top: 0;
    }
    .cost-details summary,
    .advanced-sale summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-radius: 8px;
      background: rgba(15, 23, 42, .34);
      padding: 12px 14px;
      color: #dbeafe;
      font-size: 13px;
      font-weight: 900;
      text-transform: uppercase;
    }
    .cost-details summary::after,
    .advanced-sale summary::after {
      content: "+";
      color: var(--primary);
      font-size: 18px;
      line-height: 1;
    }
    .cost-details[open] summary::after,
    .advanced-sale[open] summary::after { content: "-"; }
    .advanced-sale .form-grid { margin-top: 14px; }
    .summary-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      color: var(--muted);
      font-size: 13px;
    }
    .summary-row strong {
      color: var(--text);
      text-align: right;
      white-space: nowrap;
    }
    .summary-row.accent strong { color: #74f0c1; }
    .summary-row.total {
      margin-top: 6px;
      padding-top: 10px;
      border-top: 1px solid var(--border);
      color: var(--text);
      font-weight: 800;
    }
    .actions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .actions-grid .full {
      min-height: 50px;
      font-size: 15px;
    }
    .subtle-action {
      color: #cbd5e1;
      font-size: 13px;
    }

    .dashboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .dash-card {
      border: 1px solid var(--border);
      border-radius: 8px;
      background: rgba(15, 23, 42, .58);
      padding: 20px;
    }
    .dash-card small { display: block; color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
    .dash-card strong { display: block; margin-top: 8px; color: var(--primary); font-size: clamp(22px, 3vw, 30px); }
    .dash-card span {
      display: block;
      margin-top: 7px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }
    .list { display: grid; gap: 12px; }
    #producao {
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      align-items: stretch;
    }
    .production-card {
      display: grid;
      gap: 14px;
      min-height: 100%;
      border: 1px solid rgba(148, 163, 184, .18);
      border-radius: 8px;
      background:
        linear-gradient(180deg, rgba(35,45,66,.96), rgba(26,34,51,.96)),
        var(--panel-soft);
      padding: 16px;
      box-shadow: 0 14px 30px rgba(0,0,0,.18);
      transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
    }
    .production-card:hover {
      transform: translateY(-2px);
      border-color: rgba(43,136,216,.55);
      box-shadow: 0 20px 40px rgba(0,0,0,.28);
    }
    .production-card.pending { border-top: 3px solid #94a3b8; }
    .production-card.printing { border-top: 3px solid #2b88d8; }
    .production-card.done { border-top: 3px solid #10b981; }
    .production-head {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
    }
    .production-status-icon {
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      color: #f8fafc;
      font-size: 18px;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), 0 12px 24px rgba(0,0,0,.24);
    }
    .production-status-icon.pending { background: linear-gradient(145deg, #64748b, #334155); }
    .production-status-icon.printing { background: linear-gradient(145deg, #2b88d8, #38bdf8); }
    .production-status-icon.done { background: linear-gradient(145deg, #10b981, #62e88b); }
    .production-title {
      min-width: 0;
      display: grid;
      gap: 3px;
    }
    .production-title strong {
      color: var(--text);
      font-size: 16px;
      line-height: 1.25;
      word-break: break-word;
    }
    .production-title small {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }
    .production-metrics {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .production-metrics div {
      min-width: 0;
      border: 1px solid rgba(148,163,184,.12);
      border-radius: 8px;
      background: rgba(15, 23, 42, .34);
      padding: 10px;
    }
    .production-metrics span {
      display: block;
      color: var(--muted);
      font-size: 10px;
      font-weight: 900;
      text-transform: uppercase;
      margin-bottom: 5px;
    }
    .production-metrics strong {
      display: block;
      color: var(--text);
      font-size: 14px;
      line-height: 1.15;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .production-info {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .production-info span {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 28px;
      border-radius: 8px;
      background: rgba(15, 23, 42, .32);
      color: #cbd5e1;
      padding: 5px 8px;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.3;
    }
    .production-info i {
      color: #7cc2ff;
    }
    .production-obs {
      width: 100%;
      color: #fcd34d !important;
      background: rgba(245,158,11,.1) !important;
    }
    .production-actions {
      display: flex;
      justify-content: flex-end;
      gap: 8px;
      flex-wrap: wrap;
      border-top: 1px dashed rgba(148,163,184,.22);
      padding-top: 12px;
    }
    .empty {
      border: 1px dashed var(--border);
      border-radius: 8px;
      padding: 18px;
      text-align: center;
      color: var(--muted);
      font-size: 14px;
    }
    .item {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--panel-soft);
      padding: 14px;
    }
    .item:hover { border-color: rgba(43,136,216,.7); }
    .form-list-item { margin-bottom: 8px; }
    .item-main { display: grid; gap: 6px; min-width: 0; }
    .item-main strong { line-height: 1.25; word-break: break-word; }
    .item-main small { color: var(--muted); line-height: 1.35; }
    .catalog-link-preview {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      width: fit-content;
      max-width: 100%;
      color: #7cc2ff;
      font-size: 11px;
      font-weight: 800;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .stock-value i,
    .catalog-link-preview i,
    .pill i,
    .obs i {
      width: 20px;
      height: 20px;
      display: inline-grid;
      place-items: center;
      flex: 0 0 20px;
      border-radius: 6px;
      background: rgba(15, 23, 42, .34);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
    }
    .stock-value i { color: #74f0c1; background: rgba(16,185,129,.14); }
    .catalog-link-preview i { color: #7cc2ff; background: rgba(43,136,216,.14); }
    .pill i { color: #c4b5fd; background: rgba(168,85,247,.16); }
    .obs i { color: #fcd34d; background: rgba(245,158,11,.16); }
    .item-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
    .badge {
      width: fit-content;
      border-radius: 99px;
      padding: 4px 9px;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .badge-pendente { background: rgba(148,163,184,.14); color: var(--muted); border: 1px solid var(--border); }
    .badge-imprimindo { background: rgba(43,136,216,.15); color: #7cc2ff; border: 1px solid rgba(43,136,216,.45); }
    .badge-finalizado { background: rgba(16,185,129,.15); color: #74f0c1; border: 1px solid rgba(16,185,129,.45); }
    .badge-alerta { background: rgba(245,158,11,.16); color: #fcd34d; border: 1px solid rgba(245,158,11,.5); }
    .badge-bloqueado { background: rgba(239,68,68,.14); color: #fca5a5; border: 1px solid rgba(239,68,68,.5); }
    .pill {
      width: fit-content;
      border-radius: 6px;
      padding: 4px 8px;
      background: rgba(168,85,247,.12);
      color: #c084fc;
      font-size: 11px;
      font-weight: 800;
    }
    .extra-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 4px;
    }
    .btn-extra-remove {
      width: 22px;
      height: 22px;
      min-height: 22px;
    }
    .orcamento-extra-row {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      border-bottom: 1px dashed var(--border);
      padding: 8px 0;
      font-size: 13px;
    }
    .btn-orcamento-remove {
      width: 24px;
      height: 24px;
      min-height: 24px;
      margin-left: 6px;
    }
    .stock-value {
      color: var(--success);
      font-weight: 800;
    }
    .obs {
      width: fit-content;
      border-left: 2px solid var(--warning);
      border-radius: 4px;
      padding: 5px 8px;
      background: rgba(245,158,11,.10);
      color: #fbbf24;
      font-size: 12px;
    }

    .modal {
      position: fixed;
      inset: 0;
      z-index: 90;
      display: none;
      align-items: center;
      justify-content: center;
      background: rgba(0,0,0,.78);
      padding: 18px;
    }
    .modal.open { display: flex; }
    .modal-card {
      width: min(100%, 760px);
      max-height: 90vh;
      overflow: auto;
      border-radius: 12px;
      border: 1px solid rgba(43,136,216,.65);
      background: var(--panel);
      padding: 24px;
    }
    .modal-card-wide { max-width: 760px; }
    .modal-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--border);
    }
    .modal-head-actions {
      display: flex;
      gap: 8px;
    }
    .logo-preview {
      max-height: 86px;
      max-width: 100%;
      margin-top: 12px;
      border-radius: 8px;
    }
    .list-before-form { margin-bottom: 16px; }
    .table-scroll { overflow-x: auto; }
    .table-loading {
      text-align: center;
      color: var(--muted);
    }
    table { width: 100%; border-collapse: collapse; font-size: 13px; }
    th, td { padding: 11px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
    th { color: #7cc2ff; text-transform: uppercase; font-size: 11px; }

    details {
      margin-top: 14px;
      border-top: 1px solid var(--border);
      padding-top: 14px;
    }
    summary { color: var(--muted); cursor: pointer; font-size: 13px; font-weight: 800; }
    .config-section {
      margin-top: 18px;
      padding-top: 16px;
      border-top: 1px solid var(--border);
    }
    .config-section h4 {
      margin-bottom: 12px;
      color: var(--text);
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .security-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .security-note {
      margin-top: 10px;
      font-size: 12px;
      line-height: 1.45;
    }
    .config-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 16px;
    }
    .suggestion-footer {
      grid-column: 2;
      margin: 0 32px 32px;
      border-top: 1px solid rgba(148, 163, 184, .16);
      padding-top: 20px;
    }
    .suggestion-inner {
      display: grid;
      grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
      gap: 18px;
      align-items: start;
    }
    .suggestion-copy strong {
      display: block;
      color: var(--text);
      font-size: 15px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .suggestion-copy p {
      margin-top: 6px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
    .suggestion-form {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: stretch;
    }
    .suggestion-form textarea {
      min-height: 54px;
      max-height: 130px;
    }
    .suggestion-form button {
      align-self: stretch;
      min-width: 170px;
    }

    .btn-primary { background: var(--primary); }
    .btn-secondary { background: var(--panel-soft); border: 1px solid var(--border); }
    .btn-success { background: var(--success); }
    .btn-warning { background: var(--warning); color: #111827; }
    .btn-danger { background: var(--danger); }
    .btn-whatsapp { background: #25d366; }
    .btn-google { background: #fff; color: #111827; }
    button:not(.btn-google):not(.nav-button):not(.mobile-nav-button) > i {
      width: 1.15em;
      text-align: center;
      filter: drop-shadow(0 1px 2px rgba(0,0,0,.28));
    }
    .btn-secondary:not(.btn-icon) > i {
      color: #93c5fd;
    }
    .btn-success > i,
    .btn-whatsapp > i {
      color: #ecfdf5;
    }
    .btn-warning > i {
      color: #111827;
    }
    .btn-danger > i {
      color: #fee2e2;
    }
    .btn-icon i {
      font-size: 15px;
      filter: drop-shadow(0 1px 2px rgba(0,0,0,.35));
    }
    .google-g {
      font-weight: 900;
      font-size: 20px;
      line-height: 1;
      background: conic-gradient(from -35deg, #4285f4 0 25%, #34a853 25% 46%, #fbbc04 46% 70%, #ea4335 70% 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    .google-word {
      display: inline-flex;
      font-weight: 800;
      white-space: nowrap;
    }
    .google-blue { color: #4285f4; }
    .google-red { color: #ea4335; }
    .google-yellow { color: #fbbc04; }
    .google-green { color: #34a853; }
    .btn-sm { min-height: 34px; padding: 8px 10px; font-size: 12px; }
    .btn-icon { width: 34px; height: 34px; min-height: 34px; padding: 0; }

    .toast {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 110;
      display: none;
      max-width: 360px;
      border: 1px solid rgba(43,136,216,.55);
      border-radius: 10px;
      background: #111827;
      padding: 13px 15px;
      box-shadow: 0 18px 40px rgba(0,0,0,.32);
      color: var(--text);
      font-size: 14px;
    }
    .toast.show { display: block; }
    .toast.error { border-color: rgba(239,68,68,.7); }
    body.modal-open { overflow: hidden; }
    body.modal-open .mobile-bottom-nav,
    body.modal-open .mobile-quote-bar { display: none !important; }
    .mobile-bottom-nav,
    .mobile-quote-bar { display: none; }

    @media (max-width: 940px) {
      .app {
        grid-template-columns: 1fr;
        padding-bottom: 150px;
      }
      .sidebar { display: none; }
      .trial, .annual-plan-alert, .header, .dashboard-panel, .grid, .suggestion-footer { grid-column: 1; margin-left: 16px; margin-right: 16px; }
      .annual-plan-alert { flex-direction: column; align-items: stretch; }
      .header { margin-top: 18px; }
      .grid { grid-template-columns: 1fr; }
      .quote-workspace { grid-template-columns: 1fr; }
      .quote-summary { position: static; }
      .dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .suggestion-inner { grid-template-columns: 1fr; }
      .mobile-quote-bar {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: 74px;
        z-index: 45;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border: 1px solid rgba(43,136,216,.62);
        border-radius: 12px;
        background: rgba(26, 34, 51, .96);
        padding: 10px 12px;
        box-shadow: 0 18px 38px rgba(0,0,0,.38);
        backdrop-filter: blur(14px);
      }
      .mobile-quote-bar span {
        display: block;
        color: var(--muted);
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
      }
      .mobile-quote-bar strong {
        display: block;
        margin-top: 2px;
        color: #7cc2ff;
        font-size: 22px;
        line-height: 1.05;
      }
      .mobile-quote-bar button {
        min-width: 118px;
        min-height: 46px;
      }
      .mobile-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 46;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 4px;
        border-top: 1px solid rgba(148,163,184,.18);
        background: rgba(15, 20, 30, .97);
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
        box-shadow: 0 -16px 36px rgba(0,0,0,.32);
        backdrop-filter: blur(14px);
      }
      .mobile-nav-button {
        min-height: 50px;
        border-radius: 8px;
        background: transparent;
        color: #cbd5e1;
        padding: 6px 4px;
        font-size: 11px;
        font-weight: 800;
        display: grid;
        place-items: center;
        gap: 4px;
      }
      .mobile-nav-button i {
        width: 24px;
        height: 24px;
        display: inline-grid;
        place-items: center;
        border-radius: 8px;
        background: rgba(43,136,216,.14);
        color: #7cc2ff;
        font-size: 14px;
      }
      .mobile-nav-button.active {
        background: rgba(43,136,216,.16);
        color: var(--text);
      }
      .mobile-nav-button.active i {
        color: #f8fafc;
        background: linear-gradient(145deg, #2b88d8, #10b981);
        box-shadow: 0 8px 18px rgba(43,136,216,.28);
      }
      .toast {
        left: 12px;
        right: 12px;
        bottom: 146px;
        max-width: none;
      }
    }
    @media (max-width: 640px) {
      .screen {
        align-items: flex-start;
        padding: 12px;
        overflow: auto;
      }
      .auth-box,
      .paywall-box {
        margin: 10px 0;
        padding: 22px 18px;
        border-radius: 10px;
      }
      .auth-box .brand-mark,
      .paywall-box .brand-mark {
        width: 44px;
        height: 44px;
        margin-bottom: 12px;
        border-radius: 10px;
        font-size: 24px;
      }
      .auth-brand { margin-bottom: 10px; }
      .brand-lockup { width: 190px; }
      .auth-box h2,
      .paywall-box h2 { font-size: 26px; }
      .auth-intro { margin: 6px 0 18px; }
      .divider { margin: 16px 0; }
      .auth-note { margin-top: 10px; }
      .header { align-items: stretch; flex-direction: column; }
      .header-actions { justify-content: stretch; }
      .header-actions button { flex: 1; }
      .card { padding: 18px; }
      .form-grid, .form-grid.three, .order-grid, .printer-time-grid { grid-template-columns: 1fr; gap: 0; }
      .actions-grid { grid-template-columns: 1fr; }
      .quote-ficha { grid-template-columns: 1fr; }
      .config-actions,
      .security-actions { grid-template-columns: 1fr; }
      .suggestion-form { grid-template-columns: 1fr; }
      .suggestion-form button { min-width: 0; }
      .trial-action {
        display: flex;
        width: 100%;
        margin: 10px 0 0;
      }
      .input-qty,
      .input-money,
      .input-price,
      .input-stock-qty { max-width: none; }
      .dashboard { grid-template-columns: 1fr 1fr; }
      #producao { grid-template-columns: 1fr; }
      .production-head { grid-template-columns: auto minmax(0, 1fr); }
      .production-head .badge { grid-column: 1 / -1; }
      .production-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .production-actions { justify-content: flex-start; }
      .item { flex-direction: column; }
      .item-actions { justify-content: flex-start; border-top: 1px dashed var(--border); padding-top: 10px; }
      .line { flex-direction: column; align-items: stretch; }
      .quote-section { padding-bottom: 16px; }
      .result-meta { grid-template-columns: 1fr; }
      .mobile-quote-bar strong { font-size: 20px; }
      .mobile-quote-bar button { min-width: 104px; }
    }
