/* V22.2.23 — isolated UI additions: loading variations + update banner + dashboard welcome responsive */
.site-loading-card[data-scene="camera"] .loading-visual:before{border-radius:24px;transform:rotate(12deg);width:46%;top:12%;right:7%}.site-loading-card[data-scene="camera"] .loading-visual:after{border-radius:12px;width:25%;right:18%;top:30%}
.site-loading-card[data-scene="slate"] .loading-visual:before{border-radius:6px;width:44%;aspect-ratio:1.45;right:8%;top:16%;transform:rotate(-7deg)}.site-loading-card[data-scene="slate"] .loading-visual:after{border-radius:999px;width:11%;right:25%;top:29%}
.site-loading-card[data-scene="focus"] .loading-visual:before{width:44%;right:6%;top:10%;box-shadow:0 0 0 36px rgba(255,212,0,.025),0 0 0 72px rgba(255,212,0,.02)}.site-loading-card[data-scene="focus"] .loading-visual:after{width:8%;right:24%;top:30%;background:#ffd400}
.site-loading-card[data-scene="wrap"] .loading-visual:before{border-radius:0;width:52%;aspect-ratio:1.6;right:-2%;top:12%;transform:skew(-12deg)}.site-loading-card[data-scene="wrap"] .loading-visual:after{border-radius:0;width:22%;aspect-ratio:1.6;right:17%;top:31%;transform:skew(-12deg)}
.site-update-banner{position:fixed;z-index:2147482500;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:9px 10px 9px 14px;border:1px solid rgba(255,212,0,.42);border-radius:999px;background:rgba(15,16,18,.96);box-shadow:0 10px 35px rgba(0,0,0,.32);color:#fff;font-size:.82rem;font-weight:700;backdrop-filter:blur(12px)}.site-update-banner[hidden]{display:none}.site-update-banner button{border:0;border-radius:999px;background:#ffd400;color:#111214;font-weight:800;padding:8px 13px;cursor:pointer}
@media(max-width:760px){.site-loading-card[data-scene="camera"] .loading-visual:before,.site-loading-card[data-scene="slate"] .loading-visual:before,.site-loading-card[data-scene="focus"] .loading-visual:before,.site-loading-card[data-scene="wrap"] .loading-visual:before{width:88%;right:-24%;top:15%}.site-update-banner{width:calc(100vw - 20px);box-sizing:border-box;justify-content:space-between;border-radius:16px;top:calc(8px + env(safe-area-inset-top));font-size:.76rem}}


/* V22.2.23 — painel de boas-vindas: evita coluna de texto espremida entre 601–760px. */
#dashboardWelcomePanel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}
#dashboardWelcomePanel .dashboard-welcome-copy{min-width:0}
#dashboardWelcomePanel .dashboard-welcome-copy h3{
  margin:0;
  line-height:1.1;
  overflow-wrap:normal;
  word-break:normal;
}
#dashboardWelcomePanel .getting-started-actions{
  width:auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
}
@media(max-width:820px){
  #dashboardWelcomePanel{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  #dashboardWelcomePanel .getting-started-actions{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  #dashboardWelcomePanel .getting-started-actions .btn{width:100%}
}
@media(max-width:520px){
  #dashboardWelcomePanel{gap:12px}
  #dashboardWelcomePanel .getting-started-actions{
    grid-template-columns:1fr;
  }
  #dashboardWelcomePanel .dashboard-welcome-dismiss{width:100%}
}


/* V22.2.24 — menu Conta e sessão: o dialog e o card interno passam a usar a mesma largura. */
#userQuickMenuDialog.user-quick-menu-dialog{
  width:min(420px,calc(100vw - 32px))!important;
  max-width:min(420px,calc(100vw - 32px))!important;
  padding:0!important;
  overflow:visible!important;
}
#userQuickMenuDialog .user-quick-menu-card{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
}
@media(max-width:699px){
  #userQuickMenuDialog.user-quick-menu-dialog{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
  }
}


/* V22.2.25 — padronização desktop do banco técnico: lentes, monitores, transmissão e acessórios. */
:is(#camerasView,#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-top:0;
}
:is(#camerasView,#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .section-head>div:first-child{
  min-width:0;
}
:is(#camerasView,#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .section-head h3{
  margin:4px 0 6px;
  line-height:1.02;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-lab{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-browser{
  position:sticky;
  top:14px;
  max-height:calc(100vh - 40px);
  padding:16px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-browser>input[type="search"]{
  min-height:44px;
  border-radius:14px;
  padding-inline:14px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-browser-meta{
  margin:0;
  padding:0 2px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-filter-row{
  padding:0;
  gap:6px;
  flex-wrap:wrap;
  overflow:visible;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-list{
  max-height:none;
  overflow:auto;
  display:grid;
  gap:6px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-detail{
  display:grid;
  gap:14px;
  min-width:0;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-hero{
  min-height:190px;
  margin:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 200px;
  align-items:center;
  gap:24px;
  padding:22px 24px;
  border-radius:18px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-hero>div:first-child{min-width:0}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-hero h3{
  max-width:13ch;
  margin:0 0 8px;
  line-height:.96;
  font-size:clamp(2rem,4vw,4rem);
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-hero p{
  margin:0 0 12px;
  max-width:56ch;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-hero .badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-symbol{
  width:132px;
  height:132px;
  justify-self:end;
  border-radius:30px;
  box-shadow:0 18px 40px rgba(255,212,0,.18), inset 0 1px 0 rgba(255,255,255,.22);
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-detail>.panel:last-child{
  padding:18px;
  border-radius:18px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-detail .panel-head{
  padding-bottom:10px;
  margin-bottom:2px;
  border-bottom:1px solid var(--line);
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-specs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:2px 0 16px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-spec-row{
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  display:grid;
  align-content:start;
  gap:6px;
  min-height:82px;
  background:var(--soft);
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-spec-row span{
  font-size:.68rem;
  line-height:1.15;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-spec-row strong{
  text-align:left;
  font-size:.94rem;
  line-height:1.3;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-spec-lock{
  min-height:44px;
  border-radius:14px;
}
:is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .btn.full{
  min-height:46px;
  border-radius:14px;
}
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-browser,
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-detail>.panel:last-child{
  background:#111317!important;
  border-color:#2b2f36!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-hero{
  background:radial-gradient(circle at 88% 18%,rgba(255,212,0,.12),transparent 34%),linear-gradient(135deg,#101216 0%,#13161b 58%,#0e1013 100%)!important;
  border:1px solid #2b2f36!important;
}
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-detail .panel-head{
  border-bottom-color:#2d3138;
}
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-spec-row{
  background:#15181d!important;
  border-color:#2f343c!important;
}
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-spec-row span{
  color:#9ea4ae!important;
}
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-spec-row strong{
  color:#f7f7f3!important;
}
html[data-theme="dark"] :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-symbol{
  background:#ffd400!important;
  color:#111214!important;
}
@media(max-width:1040px){
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-lab{grid-template-columns:260px minmax(0,1fr)}
}
@media(max-width:760px){
  :is(#camerasView,#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .section-head{gap:10px}
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-lab{grid-template-columns:1fr}
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-browser{position:static;max-height:none}
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-list{max-height:320px}
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-hero{grid-template-columns:1fr;min-height:0;padding:20px}
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-symbol{display:none}
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-specs{grid-template-columns:1fr}
}
@media(max-width:460px){
  :is(#lentesView,#monitoresView,#transmissaoView,#acessoriosView) .tech-detail>.panel:last-child{padding:14px}
}
