:root{
  --app-bg:#090a0c;
  --app-surface:#121418;
  --app-surface-raised:#181b20;
  --app-surface-soft:#202329;
  --app-line:#2d3138;
  --app-text:#f7f7f2;
  --app-muted:#aeb2bc;
  --app-yellow:#ffd400;
  --app-danger:#ff5f69;
  --app-radius-sm:10px;
  --app-radius:16px;
  --app-radius-lg:22px;
  --app-touch:48px;
  --app-page:clamp(14px,3vw,28px);
  --app-safe-top:max(12px,env(safe-area-inset-top));
  --app-safe-bottom:max(16px,env(safe-area-inset-bottom));
}

/* Camada de acabamento do preview: mantém estrutura, IDs e eventos existentes. */
#setmodeView,#proView{color:var(--app-text);min-width:0;overscroll-behavior-y:contain}
#setmodeView .so-content,#proView>[data-panel]{width:min(100%,1120px);margin-inline:auto}
#setmodeView :is(button,input,select,textarea),#proView :is(button,input,select,textarea){font-family:inherit}
#setmodeView :is(input,select,textarea),#proView :is(input,select,textarea){border-color:var(--app-line);background:var(--app-bg);border-radius:var(--app-radius-sm);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
#setmodeView :is(input,select,textarea):focus,#proView :is(input,select,textarea):focus{border-color:var(--app-yellow);box-shadow:0 0 0 3px rgba(255,212,0,.13);outline:0}
#setmodeView button,#proView button{min-height:var(--app-touch);border-radius:12px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s ease,filter .14s ease,background .14s ease}
#setmodeView button:active,#proView button:active{transform:scale(.975);filter:brightness(.94)}
#setmodeView button:disabled,#proView button:disabled{cursor:not-allowed;opacity:.52}

.pro-head{width:min(100%,1120px);margin-inline:auto;padding:18px 2px 12px}
.pro-head>span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(255,212,0,.1);font-size:10px}
.pro-head h2{margin:12px 0 6px;font-size:clamp(25px,5vw,36px);line-height:1.05}
.pro-head p{margin:0;color:var(--app-muted)}
.pro-tabs{position:sticky;top:var(--app-safe-top);z-index:40;width:min(100%,1120px);margin:4px auto 14px;padding:5px;border:1px solid var(--app-line);border-radius:15px;background:rgba(9,10,12,.9);box-shadow:0 10px 32px rgba(0,0,0,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pro-tabs button{border:0!important;border-radius:10px!important;background:transparent!important;color:var(--app-muted)!important;font-weight:750}
.pro-tabs button[aria-pressed=true]{background:var(--app-yellow)!important;color:#111!important;box-shadow:0 4px 14px rgba(255,212,0,.14)}
.pro-feedback:empty{display:none}
.pro-feedback:not(:empty){position:sticky;top:76px;z-index:38;width:min(100%,1120px);margin:8px auto;padding:10px 13px;border:1px solid rgba(255,212,0,.3);border-radius:12px;background:#1b190d;color:var(--app-yellow)}
.pro-card{background:var(--app-surface);border-color:var(--app-line);border-radius:var(--app-radius-lg);margin:12px 0;padding:clamp(16px,3vw,26px);box-shadow:0 18px 55px rgba(0,0,0,.12)}
.pro-card>.pro-card,.pro-grid>.pro-card{margin:0;border:0;border-radius:var(--app-radius);background:var(--app-surface-raised);box-shadow:none}
.pro-card h3{font-size:clamp(19px,4vw,25px);line-height:1.14}
.pro-card p{max-width:75ch}
.pro-card summary{font-weight:750;list-style:none}
.pro-card summary::-webkit-details-marker{display:none}
.pro-card details>summary:after{content:'＋';float:right;color:var(--app-yellow)}
.pro-card details[open]>summary:after{content:'−'}
.pro-metric{border:0;border-radius:14px;background:var(--app-surface-raised)}
.pro-checks label{border:1px solid transparent;background:var(--app-surface-raised)}
.pro-checks label:has(input:checked){border-color:rgba(255,212,0,.28);background:rgba(255,212,0,.07)}

.pro-viewfinder-setup{padding:14px;border-radius:17px;background:var(--app-surface-raised)}
.pro-solar-panel{margin:14px 0;padding:14px;border:1px solid var(--app-line);border-radius:17px;background:linear-gradient(145deg,#15171b,#101216)}
.pro-solar-toolbar{margin:0 0 12px}
.pro-solar-toolbar .btn{margin:0}
.pro-solar-timeline{display:grid!important;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;color:var(--app-muted);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.pro-solar-timeline input{grid-column:1/-1;min-height:24px!important;padding:0!important;accent-color:var(--app-yellow)}
.pro-solar-timeline output{color:var(--app-yellow);font-size:16px;letter-spacing:0;font-variant-numeric:tabular-nums}
.pro-solar-help{margin:10px 0 4px!important;font-size:13px!important;line-height:1.45!important}

.pro-live-actions{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin:14px 0 8px}
.pro-live-actions button{margin:0!important}
.pro-live-stage{border:1px solid #353a43;border-radius:18px;background:#040507!important;box-shadow:0 18px 55px rgba(0,0,0,.35)}
.pro-live-viewport{background:radial-gradient(circle at 50% 35%,#252a30,#050607 70%)}
.pro-live-frame{box-shadow:0 0 0 999px rgba(0,0,0,.22)}
.pro-safe{padding:0!important;color:transparent!important;text-shadow:none!important}
.pro-safe.action{border-color:rgba(255,212,0,.58)!important}
.pro-safe.title{border-color:rgba(255,255,255,.44)!important}
.pro-celestial-guide{position:absolute;inset:8% -8% 18%;width:116%;height:74%;z-index:5;overflow:visible;pointer-events:none;background:none!important;transform-origin:center}
.pro-celestial-guide path{fill:none;stroke:rgba(255,212,0,.62);stroke-width:2;stroke-dasharray:8 10;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 4px #000)}
.pro-sun-marker,.pro-moon-marker{transition:left .18s linear,top .18s linear,transform .18s ease;will-change:left,top}
.pro-live-exit{display:none;position:absolute;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:15;min-height:44px!important;margin:0!important;padding:8px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px!important;background:rgba(9,10,12,.86);color:#fff;font-size:16px;font-weight:850;box-shadow:0 5px 20px rgba(0,0,0,.32);backdrop-filter:blur(12px)}
.pro-live-exit span{font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.pro-live-stage.pro-live-expanded .pro-live-exit{display:block}
.pro-live-stage.pro-live-expanded .pro-live-capture{padding-left:96px}
.pro-live-capture button{background:rgba(9,10,12,.8);backdrop-filter:blur(12px)}
.pro-live-capture [data-live=expand]{border-color:#fff;color:#fff}
.pro-live-bottom{border-color:rgba(255,212,0,.3);background:rgba(9,10,12,.88);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.pro-live-readout{background:rgba(9,10,12,.88)}
.pro-overlays{margin-top:12px;border-top:1px solid var(--app-line)}

#setmodeView .panel{border-color:var(--app-line);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:none}
#setmodeView .so-tabs{position:sticky;top:var(--app-safe-top);z-index:39;margin:0 0 14px;padding:5px;border:1px solid var(--app-line);background:rgba(9,10,12,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#setmodeView .so-tabs button{margin:0;border:0;background:transparent;color:var(--app-muted);font-weight:750}
#setmodeView .so-tabs button[aria-current=page]{background:var(--app-yellow);color:#111}
#setmodeView .so-shortcuts button{border:0;background:var(--app-surface-raised)}
#setmodeView .so-shortcuts button:active{background:#292d34}
#setmodeView .so-metrics div{background:var(--app-surface-raised)}
#setmodeView .so-take{background:transparent}

dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
dialog[open]{animation:app-dialog-in .16s ease-out}
@keyframes app-dialog-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:760px){
  #proView,#setmodeView{padding-inline:0;padding-bottom:var(--app-safe-bottom)}
  .pro-head{padding-inline:3px}
  .pro-tabs,#setmodeView .so-tabs{top:max(6px,env(safe-area-inset-top));grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .pro-tabs::-webkit-scrollbar,#setmodeView .so-tabs::-webkit-scrollbar{display:none}
  .pro-tabs button,#setmodeView .so-tabs button{white-space:nowrap;font-size:12px;padding-inline:10px}
  .pro-card,#setmodeView .panel{border-radius:18px;padding:16px;margin:10px 0}
  .pro-card>.pro-card,.pro-grid>.pro-card{padding:14px}
  .pro-viewfinder-setup{grid-template-columns:1fr 1fr;padding:12px;gap:10px}
  .pro-solar-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
  .pro-solar-toolbar>label:not(.pro-live-now){grid-column:auto}
  .pro-solar-toolbar .pro-live-now{justify-content:flex-start;min-height:48px;padding:0 11px;border:1px solid var(--app-line);border-radius:11px;background:var(--app-bg)}
  .pro-live-actions{grid-template-columns:1fr 1fr}
  .pro-live-actions [data-live=start]{grid-column:1/-1}
  .pro-live-stage{min-height:min(66vh,520px);border-radius:16px}
  .pro-live-bottom{grid-template-columns:1fr 1fr 80px;gap:5px;margin:0 6px;padding:6px}
  .pro-live-bottom label{min-width:0}
  .pro-live-capture{top:8px;left:8px;right:8px}
  .pro-live-capture button{font-size:10px;padding:7px 8px}
  .pro-live-stage.pro-live-expanded{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .pro-live-stage.pro-live-expanded .pro-live-bottom{margin-inline:max(6px,env(safe-area-inset-left));margin-bottom:env(safe-area-inset-bottom)}
  .pro-live-stage.pro-live-expanded .pro-live-readout{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  #setmodeView .so-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #setmodeView .so-shortcuts button{min-height:86px;align-content:center}
  #setmodeView .so-grid,#setmodeView .so-metrics{gap:8px}
  dialog[open]:not(.update-required-dialog){width:auto;max-width:none;max-height:calc(100dvh - var(--app-safe-top));margin:auto 6px 0;padding:0;border:0;border-radius:22px 22px 0 0;background:var(--app-surface);overflow:hidden}
  dialog[open]:not(.update-required-dialog)>.dialog-card,dialog[open]:not(.update-required-dialog)>form.dialog-card{width:100%;max-width:none;max-height:calc(100dvh - var(--app-safe-top));margin:0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));border:0;border-radius:22px 22px 0 0;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
  dialog[open]:not(.update-required-dialog) .dialog-head{position:sticky;top:-18px;z-index:3;margin:-18px -16px 12px;padding:calc(14px + env(safe-area-inset-top)) 16px 12px;background:rgba(18,20,24,.94);backdrop-filter:blur(18px)}
}

/* Ordem do Dia 22.3.4 — documento e informações em áreas separadas. */
#setmodeView .so-od-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid var(--app-line);border-radius:14px;background:#0d0f12}
#setmodeView .so-od-tabs button{min-height:42px!important;margin:0!important;padding:7px 10px!important;border:0;border-radius:10px;background:transparent;color:var(--app-muted);font-weight:850}
#setmodeView .so-od-tabs button[aria-pressed="true"]{background:var(--app-yellow);color:#111}
#setmodeView .so-od-document>small{display:block;margin:-4px 0 12px;color:var(--app-muted);line-height:1.4}
#setmodeView .so-od-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0}
#setmodeView .so-od-facts>div{min-width:0;padding:11px 12px;border-radius:12px;background:var(--app-surface-raised)}
#setmodeView .so-od-facts dt{margin:0 0 4px;color:var(--app-muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
#setmodeView .so-od-facts dd{margin:0;color:var(--app-text);font-size:13px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
#setmodeView .so-close-pdf{margin:0!important;background:var(--app-yellow)!important;border-color:var(--app-yellow)!important;color:#111!important;font-weight:900}
@media(max-width:520px){
  #setmodeView .so-od-facts{grid-template-columns:1fr}
  #setmodeView .so-od-tabs button{font-size:11px}
  #setmodeView .so-close-pdf{width:100%;margin-top:8px!important}
}

/* 22.3.4 — Viewfinder: ferramentas dentro do monitor, inclusive em tela cheia. */
.pro-device-settings,.pro-vf-results{display:none!important}
.pro-live-stage>.pro-monitor-customize{position:absolute;z-index:13;top:66px;right:max(10px,env(safe-area-inset-right));width:auto;max-width:calc(100% - 20px);margin:0!important;padding:5px!important;border-color:#ffffff24;background:#090a0ccc;backdrop-filter:blur(16px)}
.pro-live-stage>.pro-monitor-customize>div:first-child{display:none!important}
.pro-live-stage>.pro-monitor-customize .pro-monitor-tools{gap:4px;overflow:visible}
.pro-live-stage>.pro-monitor-customize .pro-monitor-tools label,
.pro-live-stage>.pro-monitor-customize .pro-monitor-tools button{flex-basis:44px;width:44px;min-height:42px!important;padding:3px!important;border-radius:10px!important}
.pro-live-stage>.pro-monitor-customize .pro-monitor-tools span{font-size:15px}
.pro-live-stage>.pro-monitor-customize .pro-monitor-tools b{font-size:6px}
.pro-live-stage.pro-live-expanded>.pro-monitor-customize{top:max(66px,calc(env(safe-area-inset-top) + 54px));right:max(10px,env(safe-area-inset-right))}

@media(max-width:760px){
  .pro-live-launch{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:10px!important}
  .pro-live-launch>div:first-child small{display:none!important}
  .pro-live-launch>div:first-child strong{font-size:12px!important}
  .pro-live-launch>div:first-child span{font-size:8px!important}
  .pro-launch-buttons{display:grid!important;grid-template-columns:minmax(112px,1fr) 44px!important;gap:5px!important}
  .pro-launch-buttons [data-live=start]{width:auto!important;min-width:0!important;white-space:nowrap;font-size:10px!important;padding-inline:8px!important}
  .pro-launch-buttons [data-live=stop]{width:44px!important;min-width:44px!important;height:44px!important}
  .pro-live-stage>.pro-monitor-customize{top:58px;right:6px;left:6px;max-width:none;padding:4px!important}
  .pro-live-stage>.pro-monitor-customize .pro-monitor-tools{justify-content:center!important}
  .pro-live-stage>.pro-monitor-customize .pro-monitor-tools label,
  .pro-live-stage>.pro-monitor-customize .pro-monitor-tools button{flex:1 1 0;width:auto;min-width:0;max-width:50px}
  .pro-live-stage.pro-live-expanded>.pro-monitor-customize{top:max(58px,calc(env(safe-area-inset-top) + 50px));left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right))}
}

@media(max-width:430px){
  .pro-card h3{font-size:21px}
  .pro-grid{gap:8px}
  .pro-grid>.pro-metric{padding:12px}
  .pro-live-stage{min-height:430px}
  .pro-live-bottom select{font-size:13px!important}
  #setmodeView .panel{padding:14px}
}

@media(max-width:360px){
  :root{--app-page:10px}
  .pro-viewfinder-setup,.pro-grid{grid-template-columns:1fr}
  .pro-solar-toolbar{grid-template-columns:1fr}
  .pro-solar-toolbar>*{grid-column:1!important}
  .pro-live-bottom{grid-template-columns:1fr 1fr}
  .pro-live-bottom label:last-child{grid-column:1/-1}
  .pro-live-stage{min-height:470px}
  #setmodeView .so-tabs,.pro-tabs{grid-auto-columns:minmax(104px,1fr)}
}

/* 22.3.3 — o conteúdo termina junto da página; o dock não cria área vazia artificial. */
@media(max-width:760px){
  #setmodeView.active-view{padding-bottom:0!important}
  #setmodeView.active-view .so-content{padding-bottom:0!important}
  #setmodeView.active-view .so-content>:last-child{margin-bottom:0!important}
  #setmodeView.active-view .so-tabs button[data-page="map"]>b{display:grid!important;gap:0;line-height:1.02!important;font-size:clamp(5.5px,1.75vw,7.5px)!important;white-space:normal!important;overflow:visible;text-overflow:clip}
}

@media(min-width:768px){
  #proView>[data-panel],#setmodeView .so-content{padding-inline:2px}
  .pro-card{padding:24px}
  .pro-live-stage{min-height:500px}
}

@media(min-width:1024px){
  .pro-viewfinder-setup{grid-template-columns:1.35fr 1.6fr .7fr .8fr}
  .pro-live-stage{min-height:560px}
  #proView>[data-panel],#setmodeView .so-content,.pro-head,.pro-tabs{max-width:1180px}
}

@media(orientation:landscape) and (max-height:650px){
  .pro-live-stage:not(.pro-live-expanded){position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:360px!important;z-index:auto!important;border-radius:16px!important}
  .pro-live-stage.pro-live-expanded{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:100000!important;border-radius:0!important}
}

@media(display-mode:standalone){
  body{overscroll-behavior-y:none}
  #mainView{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .pro-live-stage.pro-live-expanded{height:100dvh!important}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Preview 2 — composição de aplicativo para o Viewfinder e o Modo Set. */
.pro-viewfinder-card{padding:0!important;overflow:hidden;border-color:#343942;background:#0c0e11}
.pro-vf-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px 26px;border-bottom:1px solid var(--app-line);background:radial-gradient(circle at 90% 0,rgba(255,212,0,.12),transparent 35%),linear-gradient(145deg,#181b20,#101216)}
.pro-vf-intro span{display:block;margin-bottom:7px;color:var(--app-yellow);font-size:10px;font-weight:850;letter-spacing:.14em}
.pro-vf-intro h3{margin:0 0 6px;font-size:clamp(24px,4vw,34px)}
.pro-vf-intro p{margin:0;max-width:620px}
.pro-vf-status{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:9px 11px;border:1px solid #343942;border-radius:999px;background:#0d0f12;color:#d9dce2;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.pro-vf-status i,.pro-live-hud-brand i,.set-sync-chip i{width:7px;height:7px;border-radius:50%;background:#38d784;box-shadow:0 0 0 4px rgba(56,215,132,.12)}
.pro-vf-layout{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.55fr);gap:0}
.pro-vf-controls{padding:20px;border-right:1px solid var(--app-line);background:#101216}
.pro-vf-monitor{min-width:0;padding:20px;background:#08090b}
.pro-vf-section-title{display:flex;align-items:center;gap:10px;margin:0 0 13px}
.pro-vf-section-title>b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--app-yellow);color:#111;font-size:11px}
.pro-vf-section-title>div{display:grid;gap:1px}
.pro-vf-section-title strong{font-size:13px}
.pro-vf-section-title small{color:var(--app-muted);font-size:10px}
.pro-viewfinder-setup{display:grid;grid-template-columns:1fr 1fr;padding:0;background:transparent}
.pro-viewfinder-setup label{padding:10px;border:1px solid var(--app-line);border-radius:13px;background:#171a1f}
.pro-viewfinder-setup label:focus-within{border-color:rgba(255,212,0,.7)}
.pro-solar-panel{margin:18px 0 0;padding:17px;background:#171a1f}
.pro-vf-results{padding:4px 20px 20px;background:#0c0e11}

.pro-live-launch{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 9px;padding:13px 14px;border:1px solid #30343b;border-radius:15px;background:#12151a}
.pro-live-launch>div{display:grid;gap:2px}
.pro-live-launch>div>span{color:var(--app-yellow);font-size:9px;font-weight:850;letter-spacing:.12em}
.pro-live-launch>div>strong{font-size:15px}
.pro-live-launch>div>small{color:var(--app-muted);font-size:11px}
.pro-live-launch [data-live=start]{min-width:154px;margin:0!important;background:var(--app-yellow)!important;color:#111!important;font-weight:850}
.pro-live-launch [data-live=start] span{font-size:18px}
.pro-live-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 9px}
.pro-live-actions button{min-height:40px!important;margin:0!important;padding:7px 9px;font-size:11px}
.pro-live-status{margin:7px 2px 10px!important;color:#bfc3cc!important;font-size:11px!important}
.pro-live-stage{display:block!important;position:relative!important;width:100%!important;min-height:clamp(300px,48vw,560px)!important;aspect-ratio:16/10!important;border:1px solid #3b414b!important;border-radius:20px!important;overflow:hidden!important;background:#030405!important;box-shadow:0 24px 70px rgba(0,0,0,.44)!important}
.pro-live-viewport{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important}
.pro-live-viewport video{object-fit:cover!important}
.pro-live-hud{position:absolute;top:0;left:0;right:0;z-index:14;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));background:linear-gradient(#000b,transparent)}
.pro-live-hud-brand{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid #ffffff26;border-radius:999px;background:#090a0c99;color:#fff;font-size:9px;font-weight:850;letter-spacing:.1em;backdrop-filter:blur(10px)}
.pro-live-record{position:static!important;margin-left:auto;margin-right:10px;padding:7px 9px;border:1px solid rgba(255,91,99,.4);border-radius:999px;background:#17090bcc;font-size:10px}
.pro-live-readout{left:12px!important;right:auto!important;bottom:96px!important;max-width:min(70%,620px)!important;padding:7px 10px!important;border:1px solid #ffffff1f;border-radius:9px;background:#090a0c99!important;font-size:10px!important;backdrop-filter:blur(10px)}
.pro-live-controls{position:absolute;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:12;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.pro-live-bottom{position:static!important;display:grid!important;grid-template-columns:1fr 1.35fr .65fr!important;gap:5px!important;margin:0!important;padding:7px!important;border:1px solid #ffffff24!important;border-radius:14px!important;background:#090a0cdd!important;backdrop-filter:blur(18px)}
.pro-live-bottom label{display:grid!important;gap:2px!important;min-width:0;padding:0 6px;border-right:1px solid #ffffff1c}
.pro-live-bottom label:last-child{border:0}
.pro-live-bottom label>span{color:#9ca1ac;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pro-live-bottom select{height:34px!important;min-height:34px!important;padding:2px 3px!important;border:0!important;background:transparent!important;color:#fff!important;font-size:12px!important;font-weight:750}
.pro-live-capture{position:static!important;display:grid!important;grid-template-columns:repeat(3,54px);gap:5px!important;padding:6px;border:1px solid #ffffff24;border-radius:14px;background:#090a0cdd;backdrop-filter:blur(18px)}
.pro-live-capture button{display:grid;place-items:center;align-content:center;gap:1px;min-width:0;min-height:52px!important;margin:0!important;padding:4px!important;border:0!important;border-radius:10px!important;background:#20242a!important;color:#fff!important}
.pro-live-capture button span{font-size:17px;line-height:1;color:var(--app-yellow)}
.pro-live-capture button b{font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.pro-live-capture [data-live=rec] span{color:#ff5b63}
.pro-live-capture button:active{background:var(--app-yellow)!important;color:#111!important}
.pro-live-exit{position:static!important;display:none;min-height:36px!important;padding:7px 11px!important;border-color:#ffffff45!important;background:#090a0cdd!important}
.pro-live-stage.pro-live-expanded{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-width:none!important;border:0!important;border-radius:0!important;z-index:100000!important;aspect-ratio:auto!important}
.pro-live-stage.pro-live-expanded .pro-live-exit{display:flex!important;align-items:center;gap:5px}
.pro-live-stage.pro-live-expanded .pro-live-controls{bottom:max(10px,env(safe-area-inset-bottom))}
.pro-live-stage.pro-live-expanded .pro-live-capture{padding:5px}
.pro-live-stage.pro-live-expanded .pro-live-readout{bottom:100px!important}
.pro-live-frame{z-index:3;border:1px solid rgba(255,212,0,.62)!important;box-shadow:0 0 0 999px rgba(0,0,0,.12)!important}
.pro-live-cross{font-size:18px!important;opacity:.7}
.pro-horizon{z-index:4}
.pro-overlays,.pro-device-settings{margin-top:10px;padding:0 13px;border:1px solid var(--app-line);border-radius:13px;background:#111419}
.pro-overlays summary,.pro-device-settings summary{font-size:12px}

.set-app-head{margin:0 0 12px;padding:20px;border:1px solid var(--app-line);border-radius:20px;background:radial-gradient(circle at 90% 0,rgba(255,212,0,.12),transparent 40%),#121419}
.set-app-head h3{margin:4px 0 9px;font-size:clamp(24px,4vw,34px)}
.set-sync-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid #30343b;border-radius:999px;background:#0b0d10}
.set-sync-chip small{color:#c7cad1}
#setmodeView .so-job{display:grid;grid-template-columns:auto minmax(220px,430px);align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--app-line);border-radius:14px;background:var(--app-surface)}
#setmodeView .so-job>span{color:var(--app-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
#setmodeView .so-tabs button{display:grid;place-items:center;gap:2px}
#setmodeView .so-tabs button>span{font-size:18px;line-height:1}
#setmodeView .so-tabs button>b{font-size:10px}

@media(max-width:900px){
  .pro-vf-layout{grid-template-columns:1fr}
  .pro-vf-controls{border-right:0;border-bottom:1px solid var(--app-line)}
  .pro-vf-monitor{padding:14px}
}

@media(max-width:760px){
  .pro-viewfinder-card{margin-inline:-2px!important;border-radius:20px!important}
  .pro-vf-intro{padding:18px 16px;display:grid;gap:12px}
  .pro-vf-status{justify-self:start}
  .pro-vf-controls{padding:14px}
  .pro-viewfinder-setup{grid-template-columns:1fr 1fr!important}
  .pro-vf-monitor{padding:12px 8px 16px}
  .pro-live-launch{padding:11px;align-items:stretch}
  .pro-live-launch>div small{display:none}
  .pro-live-launch [data-live=start]{min-width:128px}
  .pro-live-actions{grid-template-columns:repeat(3,1fr)}
  .pro-live-stage{min-height:clamp(285px,76vw,390px)!important;border-radius:16px!important}
  .pro-live-readout{bottom:102px!important;left:8px!important;max-width:calc(100% - 16px)!important}
  .pro-live-controls{left:6px;right:6px;bottom:6px;grid-template-columns:minmax(0,1fr) auto;gap:5px}
  .pro-live-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) 58px!important;padding:5px!important}
  .pro-live-bottom label{padding:0 3px}
  .pro-live-bottom select{font-size:10px!important}
  .pro-live-capture{grid-template-columns:repeat(3,44px);padding:4px}
  .pro-live-capture button{min-height:48px!important}
  .pro-live-capture button span{font-size:15px}
  .pro-live-capture button b{font-size:7px}
  .pro-live-stage.pro-live-expanded .pro-live-controls{left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom))}
  .set-app-head{padding:16px}
  #setmodeView .so-job{grid-template-columns:1fr;gap:6px}
  #setmodeView .so-content{padding-bottom:92px!important}
  #setmodeView.active-view .so-tabs{position:fixed!important;top:auto!important;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:90;display:flex!important;gap:3px;padding:5px!important;border-radius:18px!important;box-shadow:0 15px 50px #000}
  #setmodeView.active-view .so-tabs button{flex:0 0 68px;min-height:54px!important;padding:5px 3px!important}
  #setmodeView.active-view .so-tabs button>span{font-size:17px}
  #setmodeView.active-view .so-tabs button>b{font-size:8px;white-space:nowrap}
}

@media(max-width:390px){
  .pro-live-launch{display:grid}
  .pro-live-launch [data-live=start]{width:100%}
  .pro-viewfinder-setup{grid-template-columns:1fr!important}
  .pro-live-stage{min-height:330px!important}
  .pro-live-controls{grid-template-columns:1fr}
  .pro-live-capture{grid-row:1;grid-template-columns:repeat(3,1fr)}
  .pro-live-capture button{min-height:42px!important}
  .pro-live-bottom{grid-row:2}
  .pro-live-readout{bottom:142px!important}
}

/* Viewfinder 22.3.2 — controles inspirados na câmera nativa do celular. */
.pro-launch-buttons{display:flex;align-items:center;gap:7px}
.pro-launch-buttons [data-live=stop]{width:48px;min-width:48px;margin:0!important;padding:0!important;font-size:23px}
.pro-monitor-customize{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:12px 14px;border:1px solid var(--app-line);border-radius:15px;background:#111419}
.pro-monitor-customize>div:first-child{display:grid;gap:2px;flex:0 0 auto}
.pro-monitor-customize>div:first-child strong{font-size:12px}
.pro-monitor-customize>div:first-child small{color:var(--app-muted);font-size:9px}
.pro-monitor-tools{display:flex;justify-content:flex-end;gap:6px;overflow-x:auto;scrollbar-width:none}
.pro-monitor-tools::-webkit-scrollbar{display:none}
.pro-monitor-tools label,.pro-monitor-tools button{position:relative;display:grid!important;place-items:center;align-content:center;gap:3px;flex:0 0 58px;width:58px;min-height:54px!important;margin:0!important;padding:5px!important;border:1px solid #343943;border-radius:12px!important;background:#1b1e24!important;color:#bfc3cc;cursor:pointer}
.pro-monitor-tools input{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;opacity:0;pointer-events:none}
.pro-monitor-tools label>span,.pro-monitor-tools button>span{font-size:20px;line-height:1}
.pro-monitor-tools label>b,.pro-monitor-tools button>b{font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.pro-monitor-tools label:has(input:checked){border-color:var(--app-yellow);background:rgba(255,212,0,.11)!important;color:var(--app-yellow)}
.pro-monitor-tools button:active{border-color:var(--app-yellow)!important;color:var(--app-yellow)!important}
.pro-live-capture{grid-template-columns:46px 68px!important;align-items:center!important;border-radius:999px!important}
.pro-live-capture button{border-radius:999px!important}
.pro-live-capture .pro-shutter-button{width:60px;min-width:60px;height:60px;min-height:60px!important;padding:5px!important;border:3px solid #fff!important;background:transparent!important}
.pro-live-capture .pro-shutter-button>span{display:block;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #111}
.pro-live-capture .pro-shutter-button>b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pro-live-capture [data-live=expand]{width:42px;min-width:42px;height:42px;min-height:42px!important;background:#242830!important}
.pro-live-gallery article{grid-template-columns:1fr 1fr;align-items:center}
.pro-live-gallery article img{grid-column:1/-1;border-radius:9px}
.pro-live-gallery article>span{grid-column:1/-1;font-size:11px;color:var(--app-muted)}
.pro-live-gallery article button{margin:0!important}

@media(max-width:760px){
  .pro-monitor-customize{display:grid;padding:11px}
  .pro-monitor-tools{justify-content:flex-start}
  .pro-live-capture{grid-template-columns:42px 60px!important}
  .pro-live-capture .pro-shutter-button{width:54px;min-width:54px;height:54px;min-height:54px!important}
  .pro-live-capture .pro-shutter-button>span{width:39px;height:39px}
}

@media(max-width:390px){
  .pro-live-capture{grid-row:1;grid-template-columns:42px 60px!important;justify-self:end}
  .pro-live-bottom{grid-row:2}
  .pro-monitor-tools label,.pro-monitor-tools button{flex-basis:54px;width:54px}
  .pro-live-gallery{grid-template-columns:1fr!important}
}

/* 22.3.2 — navegação do set, respiro das páginas e listas compactas. */
#setmodeView{scroll-margin-top:max(8px,env(safe-area-inset-top));padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}
#setmodeView .so-tabs{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:4px;overflow:visible!important}
#setmodeView .so-tabs button{min-width:0!important;padding:7px 3px!important;overflow:hidden}
#setmodeView .so-tabs button>b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
#setmodeView .so-content{padding-top:2px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
#setmodeView .so-content>:first-child{margin-top:0!important}
#setmodeView .so-content>:last-child{margin-bottom:0!important}
#orcamentoView #savedQuotesList{max-height:238px!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}

/* Central de notificações: a caixa mantém cabeçalho e ações; somente a lista rola. */
#notificationsDialog.notifications-dialog[open]{overflow:hidden!important}
#notificationsDialog .notifications-card{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;width:min(100%,680px)!important;max-height:min(86dvh,760px)!important;overflow:hidden!important}
#notificationsDialog .notifications-toolbar{min-width:0!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
#notificationsDialog .notifications-list,
#notificationsDialog .notifications-list.has-scroll{min-width:0!important;min-height:0!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
#notificationsDialog .notification-item{box-sizing:border-box!important;max-width:100%!important;height:auto!important;min-width:0!important;overflow:visible!important}
#notificationsDialog .notification-copy,
#notificationsDialog .notification-copy>*{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;word-break:break-word}

@media(max-width:760px){
  #setmodeView{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  #setmodeView .so-content{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
  #setmodeView.active-view .so-tabs{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;left:6px!important;right:6px!important;gap:2px!important}
  #setmodeView.active-view .so-tabs button{width:auto!important;min-width:0!important;min-height:52px!important;padding:5px 1px!important}
  #setmodeView.active-view .so-tabs button>span{font-size:16px!important}
  #setmodeView.active-view .so-tabs button>b{font-size:clamp(6px,1.9vw,8px)!important;letter-spacing:-.02em;white-space:nowrap!important}
  #notificationsDialog.notifications-dialog[open]{width:calc(100% - 12px)!important;height:min(88dvh,780px)!important;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important;margin:auto 6px 0!important}
  #notificationsDialog .notifications-card{height:100%!important;max-height:100%!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}
  #notificationsDialog .notifications-list,
  #notificationsDialog .notifications-list.has-scroll{max-height:none!important}
  #orcamentoView #savedQuotesList{max-height:292px!important}
}

@media(max-width:360px){
  #setmodeView.active-view .so-tabs{left:3px!important;right:3px!important;padding-inline:3px!important}
  #setmodeView.active-view .so-tabs button>b{font-size:6px!important}
}
