/* MSNBOT Luz 4.5.1 — fundos, vidro, Mestre e estados reais de entrega */
:root{--v451-dock-height:82px;--v451-topbar-height:38px;--panel-alpha:.86;--panel-alpha-safe:max(.66,var(--panel-alpha))}
html,body{min-height:100%;background-color:transparent}
body{background-image:var(--app-wallpaper);background-position:center;background-size:cover;background-attachment:fixed;background-repeat:no-repeat}
.global-app-background-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;pointer-events:none;background:#0b1018}
body:before{content:"";position:fixed;inset:var(--v451-topbar-height) 0 0;z-index:-2;pointer-events:none;background:linear-gradient(135deg,rgba(230,239,255,.16),rgba(255,255,255,.04) 48%,rgba(169,225,255,.12))}
html[data-theme="dark"] body:before{background:linear-gradient(135deg,rgba(4,9,18,.34),rgba(8,13,22,.12) 48%,rgba(5,20,34,.28))}

/* O conteúdo termina exatamente no teto do Dock. Fora do Dock, o fundo permanece visível. */
body:not(.dock-autohide).dock-pos-bottom .page:not(.auth-page){height:calc(100dvh - var(--v451-topbar-height) - var(--v451-dock-height))!important;max-height:calc(100dvh - var(--v451-topbar-height) - var(--v451-dock-height))!important;min-height:0!important;margin-top:0!important;margin-bottom:var(--v451-dock-height)!important;padding-bottom:0!important;overflow:auto;scrollbar-gutter:stable;box-sizing:border-box}
body:not(.dock-autohide).dock-pos-bottom .desktop-dock{bottom:0!important}
.desktop-dock{z-index:80}
.mobile-dock{z-index:80}

/* Transparência configurável, com limite de legibilidade. */
:is(.panel,.card,.dash-panel,.settings-card,.settings-content,.settings-nav,.dashboard-card,.d42-period,.d441-audience-trend,.d42-origin,.d42-interests,.d42-kpis>a,.d42-comparison,.d42-finance,.msn-v33-inbox,.msn-v33-chat,.msn-v33-contact-card,.prefs-content,.prefs-sidebar,.auth-card,.software-update>*:not(dialog)){background-color:color-mix(in srgb,var(--surface-solid,#fff) calc(var(--panel-alpha-safe) * 100%),transparent)!important;backdrop-filter:blur(18px) saturate(130%)}
.auth-card{box-shadow:0 24px 80px rgba(0,0,0,.24);border:1px solid color-mix(in srgb,var(--hair,#dbe2ee) 70%,transparent)}

/* Fundo da conversa: imagem ou vídeo, com contraste selecionado. */
.msn-v33-messages,.msn-messages{position:relative;background-image:var(--chat-wallpaper)!important;background-size:auto!important;background-position:center!important;background-repeat:repeat!important;isolation:isolate}
.chat-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.chat-background-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(255,255,255,.08)}
.chat-tone-light .chat-background-shade{background:rgba(0,0,0,.18)}
.chat-tone-dark .chat-background-shade{background:rgba(255,255,255,.16)}
.chat-tone-light .msn-v33-messages :is(.msn-day-label,.message-agent-name,.message-time,.msn-no-messages>*){color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85)}
.chat-tone-dark .msn-v33-messages :is(.msn-day-label,.message-agent-name,.message-time,.msn-no-messages>*){color:#101725;text-shadow:0 1px 2px rgba(255,255,255,.8)}

/* Estados do provedor: enviado, entregue e visualizado. */
.delivery-ticks{font-family:Arial,sans-serif;font-weight:900;letter-spacing:-4px;margin-left:4px;white-space:nowrap}
.delivery-ticks.sent{color:#e34252;letter-spacing:-2px}.delivery-ticks.delivered{color:#e1a900}.delivery-ticks.read{color:#16985d}
.delivery-error{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:4px;border-radius:50%;background:#d93545;color:#fff;font:900 10px/1 Arial,sans-serif}

/* Mestre: indica elementos editáveis sem alterar o layout. */
body.master-mode [data-master-editable]{cursor:text;outline:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px;border-radius:3px}
body.master-mode [data-master-editable]:hover,body.master-mode [data-master-editable][contenteditable="true"]{outline:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
body.master-mode [data-master-sort]{position:relative}
body.master-mode [data-master-sort] [data-master-item]{cursor:grab}
body.master-mode [data-master-sort] [data-master-item].master-dragging{opacity:.42}
.master-save-toast{position:fixed;right:18px;bottom:100px;z-index:9999;padding:9px 13px;border-radius:11px;background:#182132;color:#fff;font-size:12px;box-shadow:0 8px 30px rgba(0,0,0,.25)}

.wallpaper-gallery-v45{grid-template-columns:repeat(4,minmax(74px,1fr))}
.wallpaper-gallery-v45 button{aspect-ratio:16/10;background-size:cover;background-position:center;border:2px solid transparent}
.wallpaper-gallery-v45 button:hover,.wallpaper-gallery-v45 button:focus-visible{border-color:var(--accent);transform:translateY(-2px)}
.chat-tone-switch{display:flex;align-items:center;justify-content:center;gap:10px}
.setting-block-transparency output{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}

/* Percentual nunca invade o anel ou os números laterais. */
.d45-percent{min-width:86px;max-width:120px;text-align:center;overflow:hidden}.d45-percent strong{display:block;font-size:clamp(20px,2vw,34px);line-height:1;white-space:nowrap}.d45-percent small{display:block;margin-top:4px}.d45-percent.neutral{color:var(--sub)}
.d44-edge-number span.neutral{color:var(--sub)}

@media(max-width:700px){:root{--v451-dock-height:72px}.mobile-dock{bottom:0!important}.desktop-dock{display:none!important}body:not(.dock-autohide).dock-pos-bottom .page:not(.auth-page){height:calc(100dvh - var(--v451-topbar-height) - var(--v451-dock-height))!important;max-height:calc(100dvh - var(--v451-topbar-height) - var(--v451-dock-height))!important;margin-bottom:var(--v451-dock-height)!important}.wallpaper-gallery-v45{grid-template-columns:repeat(2,1fr)}.d45-percent{min-width:68px}.d45-percent strong{font-size:20px}}
@media(max-width:700px) and (orientation:landscape){:root{--v451-dock-height:58px}.mobile-dock .dock-item{min-width:44px}.mobile-dock .dock-icon{width:37px;height:37px}.mobile-dock small{display:none!important}}
@media(prefers-reduced-motion:reduce){.global-app-background-video,.chat-background-video{display:none}.wallpaper-gallery-v45 button{transition:none}}
