/* DukAcesso branding overlay v4
   - Tenant: Tok Contabilidade, logo TOK chip topo
   - Duk SÓ rodapé
   - Cards mais contraste (background mais claro, texto branco visível)
   - Botão Sair vermelho
   - in-session: esconde tudo Duk/MS, só RDP canvas */

:root {
  --duk-bg: #0f1729;
  --duk-bg-elev: #1a2335;
  --duk-bg-elev-2: #2a3a55;
  --duk-bg-elev-3: #3a4a6a;
  --duk-border: rgba(255,255,255,0.12);
  --duk-text: #ffffff;
  --duk-text-dim: #cbd5e1;
  --duk-primary: #3b82f6;
  --duk-primary-hover: #2563eb;
  --duk-accent: #10b981;
  --duk-danger: #ef4444;
  --duk-danger-hover: #dc2626;
}

html, body, #root {
  background: var(--duk-bg) !important;
  color: var(--duk-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

html, body { height: 100% !important; margin: 0 !important; }
#root {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

body.duk-branded { padding-top: 56px !important; padding-bottom: 40px !important; }
body.duk-branded #root { min-height: calc(100vh - 96px) !important; }

/* Inputs */
.ms-TextField-fieldGroup,
input[type="text"],
input[type="password"],
input[type="email"] {
  background: var(--duk-bg) !important;
  border: 1px solid var(--duk-border) !important;
  color: var(--duk-text) !important;
  border-radius: 8px !important;
}
input:focus,
.ms-TextField-fieldGroup.is-focused {
  border-color: var(--duk-primary) !important;
  outline: none !important;
}

.ms-Label, label { color: var(--duk-text-dim) !important; }

.ms-Button--primary, button.ms-Button--primary {
  background: var(--duk-primary) !important;
  border-color: var(--duk-primary) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}
.ms-Button--primary:hover, button.ms-Button--primary:hover {
  background: var(--duk-primary-hover) !important;
  border-color: var(--duk-primary-hover) !important;
}
.ms-Button--default {
  background: transparent !important;
  border: 1px solid var(--duk-border) !important;
  color: var(--duk-text) !important;
  border-radius: 8px !important;
}

/* Cards RemoteApp — high contrast */
[class*="ResourceCard"],
[class*="resource-tile"],
[class*="resourceTile"],
[class*="ResourceTile"],
[role="option"][aria-label*="Dominio"],
[role="option"][aria-label*="Domínio"] {
  background: var(--duk-bg-elev-2) !important;
  border: 1px solid var(--duk-border) !important;
  border-radius: 14px !important;
  color: var(--duk-text) !important;
  transition: transform .15s, background .15s, border-color .15s, box-shadow .15s !important;
}
[class*="ResourceCard"]:hover,
[class*="resource-tile"]:hover,
[class*="resourceTile"]:hover,
[role="option"]:hover {
  background: var(--duk-bg-elev-3) !important;
  border-color: var(--duk-primary) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.4) !important;
}
[class*="ResourceCard"] [class*="title"],
[class*="resource-tile"] [class*="title"],
[class*="resourceTile"] [class*="title"],
[role="option"] [class*="title"],
[role="option"] span {
  color: var(--duk-text) !important;
  font-weight: 600 !important;
}

/* Tile icon container — más visível */
[role="option"] img,
[class*="ResourceCard"] img {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 6px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

/* Collection header (TOK Domínio) */
[role="option"][aria-expanded],
[class*="CollectionHeader"] {
  background: var(--duk-bg-elev) !important;
  color: var(--duk-text) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
}

/* In-session toolbar */
[class*="InSessionUI"],
[class*="in-session-toolbar"],
[class*="session-toolbar"] {
  background: var(--duk-bg-elev) !important;
  border-bottom: 1px solid var(--duk-border) !important;
}

/* Persona */
.ms-Persona-imageArea {
  background: linear-gradient(135deg, var(--duk-primary), #8b5cf6) !important;
}

/* Dialogs */
.ms-Modal, .ms-Overlay {
  background-color: rgba(8,12,24,0.7) !important;
  backdrop-filter: blur(4px) !important;
}
.ms-Modal .ms-Dialog-main {
  background: var(--duk-bg-elev) !important;
  border: 1px solid var(--duk-border) !important;
  border-radius: 14px !important;
  color: var(--duk-text) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--duk-bg); }
::-webkit-scrollbar-thumb { background: var(--duk-bg-elev-2); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--duk-border); }

/* ====== TOPBAR ====== */
.duk-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 56px;
  background: var(--duk-bg-elev);
  border-bottom: 1px solid var(--duk-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  z-index: 9998;
}
.duk-topbar .duk-brand { display: flex; align-items: center; gap: 16px; }

/* TOK Contábil logo — box-sizing inclui padding p/ caber na barra sem corte */
.duk-tenant-img {
  display: block;
  box-sizing: border-box;
  height: 40px;
  width: auto;
  background: #ffffff;
  padding: 4px 10px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
/* In-session a barra encolhe pra 44px → logo menor pra não ser cortado */
body.duk-in-session .duk-tenant-img { height: 34px; }

.duk-tenant-name {
  font-size: 14px;
  color: var(--duk-text-dim);
  font-weight: 500;
}

.duk-topbar .duk-right { display: flex; align-items: center; gap: 16px; font-size: 14px; }
.duk-topbar .duk-user {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 10px; border-radius: 8px;
  color: var(--duk-text);
}
.duk-topbar .duk-avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: linear-gradient(135deg, var(--duk-primary), #8b5cf6);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 13px; color: #fff;
}
.duk-btn {
  background: transparent;
  border: 1px solid var(--duk-border);
  color: var(--duk-text);
  padding: 7px 18px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.duk-btn:hover {
  background: var(--duk-bg-elev-2);
  border-color: var(--duk-primary);
}
.duk-btn-danger {
  background: var(--duk-danger) !important;
  border-color: var(--duk-danger) !important;
  color: #fff !important;
}
.duk-btn-danger:hover {
  background: var(--duk-danger-hover) !important;
  border-color: var(--duk-danger-hover) !important;
}

/* ====== FOOTER (Duk só aqui) ====== */
.duk-footer {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  height: 40px;
  background: var(--duk-bg-elev);
  border-top: 1px solid var(--duk-border);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9997;
  font-size: 11px;
  color: var(--duk-text-dim);
  gap: 8px;
}
.duk-footer img {
  height: 14px;
  transform: scaleX(0.85);
  transform-origin: center;
  filter: brightness(0) invert(1);
  opacity: 0.7;
}

/* ====== IN-SESSION (RAIL aberto): esconde Duk + grid + header MS, só RDP canvas ====== */
body.duk-in-session { padding-top: 0 !important; padding-bottom: 0 !important; }
body.duk-in-session #duk-footer,
body.duk-in-session [class*="ResourcePage"],
body.duk-in-session [class*="resource-container"],
body.duk-in-session [class*="ResourceContainer"],
body.duk-in-session [class*="resourcesContainer"] {
  display: none !important;
}
/* topbar Duk com botão Voltar permanece visível pra controle */
body.duk-in-session .duk-topbar {
  height: 44px !important;
}
body.duk-in-session #root {
  margin-top: 44px !important;
  min-height: calc(100vh - 44px) !important;
}
/* ====== LOGIN PHASE v2 — card no modal MS ====== */
body.duk-login { background: var(--duk-bg) !important; padding: 0 !important; overflow: hidden !important; }
body.duk-login #duk-topbar,
body.duk-login #duk-footer { display: none !important; }
body.duk-login #root { display: none !important; }

body.duk-login .ms-Overlay {
  background: radial-gradient(ellipse at top, #1a2540 0%, var(--duk-bg) 60%) !important;
  backdrop-filter: none !important;
  opacity: 1 !important;
}
body.duk-login .ms-Modal { background: transparent !important; }
body.duk-login .ms-Modal-scrollableContent { background: transparent !important; }
body.duk-login .ms-Dialog-main {
  background: var(--duk-bg-elev) !important;
  border: 1px solid var(--duk-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.55) !important;
  max-width: 440px !important;
  width: 92vw !important;
  min-height: 0 !important;
  padding: 36px 36px 26px !important;
  color: var(--duk-text) !important;
}
body.duk-login .ms-Dialog-lgHeader,
body.duk-login .ms-Dialog-inner,
body.duk-login .ms-Dialog-header,
body.duk-login .ms-Dialog-content,
body.duk-login .ms-Dialog-innerContent {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
body.duk-login .ms-Dialog-title,
body.duk-login .ms-Dialog-header { display: none !important; }
body.duk-login .ms-Dialog-content a[href*="microsoft.com"],
body.duk-login .ms-Dialog-content a[href*="privacy"],
body.duk-login .ms-Dialog-content a[href*="fwlink"] { display: none !important; }

#duk-login-decor {
  text-align: center;
  margin: 0 0 22px;
}
#duk-login-decor .duk-login-logo {
  display: inline-flex;
  background: #ffffff;
  padding: 12px 22px;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.45);
  margin-bottom: 12px;
}
#duk-login-decor .duk-login-logo img {
  height: 58px;
  width: auto;
  display: block;
}
#duk-login-decor .duk-login-tag {
  letter-spacing: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--duk-text-dim);
  margin-bottom: 26px;
}
#duk-login-decor .duk-login-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--duk-text);
  margin: 0 0 6px;
  letter-spacing: -0.3px;
}
#duk-login-decor .duk-login-sub {
  font-size: 14px;
  color: var(--duk-text-dim);
  margin: 0;
}

#duk-login-foot {
  text-align: center;
  margin-top: 18px;
}
#duk-login-foot .duk-login-help {
  font-size: 13px;
  color: var(--duk-text-dim);
  margin-bottom: 18px;
}
#duk-login-foot .duk-login-help .duk-login-help-link {
  color: var(--duk-primary);
  font-weight: 600;
  opacity: 0.65;
  cursor: default;
}
#duk-login-foot .duk-login-foot-line {
  padding-top: 16px;
  border-top: 1px solid var(--duk-border);
  font-size: 11px;
  color: var(--duk-text-dim);
}
#duk-login-foot .duk-login-foot-line img {
  display: block;
  margin: 10px auto 0;
  height: 16px;
  filter: brightness(0) invert(1);
  opacity: 0.55;
  transform: scaleX(0.85);
  transform-origin: center;
}

/* Inputs/buttons reskin */
body.duk-login .ms-TextField { margin-bottom: 14px !important; }
body.duk-login .ms-TextField-fieldGroup {
  background: var(--duk-bg) !important;
  border: 1px solid var(--duk-border) !important;
  border-radius: 10px !important;
  height: 46px !important;
}
body.duk-login .ms-TextField-fieldGroup.is-focused,
body.duk-login .ms-TextField-fieldGroup:focus-within {
  border-color: var(--duk-primary) !important;
}
body.duk-login .ms-TextField-field {
  color: var(--duk-text) !important;
  font-size: 15px !important;
  padding: 0 14px !important;
  background: transparent !important;
}
body.duk-login .ms-Label,
body.duk-login label {
  color: var(--duk-text-dim) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 0 0 6px !important;
}
body.duk-login button.ms-Button--primary,
body.duk-login .ms-Button--primary {
  width: 100% !important;
  height: 48px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin-top: 10px !important;
  background: var(--duk-primary) !important;
  border-color: var(--duk-primary) !important;
}
body.duk-login button.ms-Button--primary:disabled {
  opacity: 0.55 !important;
}

/* v2-patch: comprime e permite scroll quando viewport baixo */
body.duk-login .ms-Modal-scrollableContent {
  max-height: 100vh !important;
  overflow-y: auto !important;
}
body.duk-login .ms-Dialog-main {
  padding: 28px 32px 22px !important;
  margin: 20px auto !important;
}
#duk-login-decor { margin: 0 0 16px !important; }
#duk-login-decor .duk-login-logo {
  padding: 10px 18px !important;
  margin-bottom: 10px !important;
}
#duk-login-decor .duk-login-logo img { height: 48px !important; }
#duk-login-decor .duk-login-tag { margin-bottom: 18px !important; }
#duk-login-decor .duk-login-title { font-size: 26px !important; }
#duk-login-decor .duk-login-sub { font-size: 13px !important; }
body.duk-login .ms-TextField { margin-bottom: 10px !important; }
body.duk-login .ms-TextField-fieldGroup { height: 42px !important; }
body.duk-login button.ms-Button--primary,
body.duk-login .ms-Button--primary { height: 44px !important; margin-top: 6px !important; }
#duk-login-foot { margin-top: 14px !important; }
#duk-login-foot .duk-login-help { margin-bottom: 12px !important; font-size: 12px !important; }
#duk-login-foot .duk-login-foot-line { padding-top: 12px !important; }

/* v3-patch: input dark em TODOS estados (focused/typing/active) + eye fix + sem scrollbar */

/* Input bg dark mesmo focused/active/auto-filled */
body.duk-login .ms-TextField-fieldGroup,
body.duk-login .ms-TextField-fieldGroup.is-focused,
body.duk-login .ms-TextField-fieldGroup:focus-within,
body.duk-login .ms-TextField-fieldGroup:hover,
body.duk-login .ms-TextField-fieldGroup:active {
  background: var(--duk-bg) !important;
  border-radius: 10px !important;
  border: 1px solid var(--duk-border) !important;
}
body.duk-login .ms-TextField-fieldGroup.is-focused,
body.duk-login .ms-TextField-fieldGroup:focus-within {
  border-color: var(--duk-primary) !important;
  box-shadow: 0 0 0 1px var(--duk-primary) !important;
}
body.duk-login .ms-TextField-fieldGroup::after,
body.duk-login .ms-TextField-fieldGroup::before { display: none !important; border: 0 !important; }

body.duk-login input,
body.duk-login .ms-TextField-field,
body.duk-login input.ms-TextField-field,
body.duk-login input[type="text"],
body.duk-login input[type="password"],
body.duk-login input[type="email"] {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--duk-text) !important;
  -webkit-text-fill-color: var(--duk-text) !important;
  caret-color: var(--duk-text) !important;
  border: 0 !important;
}
body.duk-login input:focus,
body.duk-login input:active,
body.duk-login input:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--duk-text) !important;
}
/* Chrome autofill yellowbg fix */
body.duk-login input:-webkit-autofill,
body.duk-login input:-webkit-autofill:hover,
body.duk-login input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--duk-bg) inset !important;
  -webkit-text-fill-color: var(--duk-text) !important;
}

/* Eye button "Mostrar senha" — fit dentro do fieldGroup */
body.duk-login .ms-TextField-fieldGroup .ms-Button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 10px 10px 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 10px !important;
}
body.duk-login .ms-TextField-fieldGroup .ms-Button i,
body.duk-login .ms-TextField-fieldGroup .ms-Button .ms-Icon {
  color: var(--duk-text-dim) !important;
}
body.duk-login .ms-TextField-fieldGroup .ms-Button:hover {
  background: var(--duk-bg-elev) !important;
}

/* Help link cinza, NÃO azul (Carlos disse "deixa sem") */
#duk-login-foot .duk-login-help .duk-login-help-link {
  color: var(--duk-text-dim) !important;
  opacity: 0.5 !important;
  font-weight: 500 !important;
  cursor: default !important;
}

/* Esconde scrollbar visual no modal (conteúdo cabe se viewport >= 560px) */
body.duk-login .ms-Modal-scrollableContent {
  overflow: visible !important;
  max-height: none !important;
}
body.duk-login .ms-Modal,
body.duk-login .ms-Modal.is-open {
  align-items: center !important;
}
body.duk-login .ms-Dialog-main {
  max-height: calc(100vh - 24px) !important;
  margin: 12px auto !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}
body.duk-login .ms-Dialog-main::-webkit-scrollbar { display: none !important; }

/* v5: Carlos pediu — sem help "Solicitar acesso", sem "Política de privacidade", Entrar centralizado */
#duk-login-foot .duk-login-help { display: none !important; }
#duk-login-foot .duk-login-foot-line { border-top: 0 !important; padding-top: 0 !important; }

body.duk-login a[href*="microsoft.com"],
body.duk-login a[href*="privacy"],
body.duk-login a[href*="fwlink"],
body.duk-login a[target="_blank"] { display: none !important; }

/* Container do botão Entrar (MS usa flex c/ link política + botão) — força centralizado full width */
body.duk-login .ms-Dialog-content > div:last-child,
body.duk-login .ms-Dialog-actions,
body.duk-login [class*="actions"]:has(button.ms-Button--primary),
body.duk-login button.ms-Button--primary {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.duk-login button.ms-Button--primary { display: block !important; width: 100% !important; }

/* v6: forçar Entrar full-width centralizado + reorder OK */
body.duk-login .ms-Dialog-actions,
body.duk-login .ms-Dialog-actionsRight {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.duk-login .ms-Dialog-action,
body.duk-login span.ms-Dialog-action {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.duk-login .ms-Dialog-action + .ms-Dialog-action { margin-top: 8px !important; }
body.duk-login button.ms-Button--primary {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
}

/* v7: actions é flex MS — usar flex column stretch pra Entrar full-width */
body.duk-login .ms-Dialog-main .ms-Dialog-actions,
body.duk-login .ms-Dialog-main .ms-Dialog-actionsRight {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.duk-login .ms-Dialog-main .ms-Dialog-action,
body.duk-login .ms-Dialog-main span.ms-Dialog-action {
  flex: 1 1 100% !important;
  width: 100% !important;
  display: block !important;
}
body.duk-login .ms-Dialog-main button.ms-Button--primary {
  width: 100% !important;
  display: block !important;
  margin: 10px 0 0 !important;
}

/* Esconder botão Ajuda/? do MS RDWeb (Carlos pediu) */
button[aria-label*="Ajuda"],
button[aria-label*="Help"],
button[aria-label*="Sobre"],
button[aria-label*="About"],
button[aria-label*="Comentários"],
button[aria-label*="Feedback"],
[data-icon-name="Help"],
[data-icon-name="Unknown"],
[data-icon-name="StatusCircleQuestionMark"],
button:has([data-icon-name="Help"]),
button:has([data-icon-name="Unknown"]),
button:has([data-icon-name="StatusCircleQuestionMark"]) {
  display: none !important;
}

/* === v10 launch overlay — cobre wallpaper flash do RDS antes RemoteApp paintar === */
#duk-launch-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: var(--duk-bg, #0f1729) !important;
  color: var(--duk-text, #fff) !important;
  z-index: 2147483646 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  font-family: -apple-system, "Segoe UI", Roboto, sans-serif !important;
  pointer-events: none !important;
  opacity: 1;
  transition: opacity 280ms ease;
}
#duk-launch-overlay.hide {
  opacity: 0;
  pointer-events: none !important;
}
#duk-launch-overlay .duk-launch-logo {
  width: 220px;
  max-width: 60vw;
  opacity: 0.95;
}
#duk-launch-overlay .duk-launch-spin {
  width: 42px; height: 42px;
  border: 3px solid rgba(255,255,255,0.18);
  border-top-color: var(--duk-primary, #3b82f6);
  border-radius: 50%;
  animation: dukSpin 0.9s linear infinite;
}
#duk-launch-overlay .duk-launch-text {
  font-size: 15px;
  letter-spacing: 0.3px;
  color: var(--duk-text-dim, #cbd5e1);
}
@keyframes dukSpin { to { transform: rotate(360deg); } }

/* === 2026-05-26 force WHITE on RemoteApp tile labels (Carlos) === */
[role="option"],
[role="option"] *:not(img):not(svg):not(path):not(canvas),
[class*="ResourceCard"],
[class*="ResourceCard"] *:not(img):not(svg):not(path):not(canvas),
[class*="resource-tile"],
[class*="resource-tile"] *:not(img):not(svg):not(path):not(canvas),
[class*="resourceTile"],
[class*="resourceTile"] *:not(img):not(svg):not(path):not(canvas),
[class*="ResourceTile"],
[class*="ResourceTile"] *:not(img):not(svg):not(path):not(canvas),
[class*="app-name"],
[class*="appName"],
[class*="tile-text"],
[class*="tileText"],
[class*="resource-name"],
[class*="resourceName"] {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* === 2026-05-26 v2 — card BG p/ TODOS tiles RemoteApp (incl. Arquivos) === */
[role="option"] {
  background: var(--duk-bg-elev-2) !important;
  border: 1px solid var(--duk-border) !important;
  border-radius: 14px !important;
}
[role="option"]:hover {
  background: var(--duk-bg-elev-3) !important;
  border-color: var(--duk-primary) !important;
}
