:root{
  --ct-a11y-font-scale:1;
  --ct-a11y-focus:#f59e0b;
  --ct-a11y-blue:#2563eb;
  --ct-a11y-navy:#0b1728;
}

html{font-size:calc(16px * var(--ct-a11y-font-scale));}
body.ct-a11y-panel-open{overflow:hidden!important;}
body.ct-a11y-contrast{background:#000!important;color:#fff!important;}
body.ct-a11y-contrast *:not(.material-icons-round):not(.material-icons){background-color:#000!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important;}
body.ct-a11y-contrast a,body.ct-a11y-contrast button{color:#ffeb3b!important;}
body.ct-a11y-contrast input,body.ct-a11y-contrast select,body.ct-a11y-contrast textarea{background:#000!important;color:#fff!important;border:2px solid #fff!important;}
body.ct-a11y-grayscale{filter:grayscale(1);}
body.ct-a11y-underline a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;}
body.ct-a11y-reduce-motion *,body.ct-a11y-reduce-motion *::before,body.ct-a11y-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
body.ct-a11y-readable{letter-spacing:.035em!important;word-spacing:.09em!important;line-height:1.7!important;}
body.ct-a11y-readable p,body.ct-a11y-readable li,body.ct-a11y-readable label,body.ct-a11y-readable input,body.ct-a11y-readable textarea,body.ct-a11y-readable select{line-height:1.75!important;}
body.ct-a11y-cursor-large,body.ct-a11y-cursor-large *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cpath d='M5 3l20 18-10 1 5 9-5 3-5-10-7 7z' fill='white' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 5 3,auto!important;}
body.ct-a11y-cursor-large a,body.ct-a11y-cursor-large button,body.ct-a11y-cursor-large [role="button"],body.ct-a11y-cursor-large input,body.ct-a11y-cursor-large select{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M12 4v15l-4-4-4 4 10 11c2 2 5 3 8 2l5-2c3-1 5-4 5-7v-8c0-2-2-4-4-4-1 0-2 0-3 1-1-2-4-3-6-1-1-2-4-2-6 0V6c0-2-1-3-3-3s-3 1-3 3z' fill='white' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 12 4,pointer!important;}

:focus-visible{outline:3px solid var(--ct-a11y-focus)!important;outline-offset:3px!important;}
.ct-visually-hidden,.ct-a11y-live{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.ct-skip-link{position:fixed;left:12px;top:-80px;z-index:var(--ct-layer-skip-link,2700);background:#0f172a;color:#fff;padding:12px 16px;border-radius:0 0 10px 10px;font:700 .85rem/1 Inter,Arial,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.3);}
.ct-skip-link:focus{top:0;}

/* Botão discreto na barra superior do ERP. */
.ct-a11y-trigger{font-family:Inter,Arial,sans-serif;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;}
.ct-a11y-toolbar-button{position:relative!important;inset:auto!important;flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:1px solid #dbe3ee!important;border-radius:10px!important;background:#fff!important;color:#475569!important;display:grid!important;place-items:center!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important;z-index:3!important;}
.ct-a11y-toolbar-button .material-icons-round{font-size:20px!important;}
.ct-a11y-toolbar-button:hover{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;transform:translateY(-1px)!important;box-shadow:0 7px 18px rgba(37,99,235,.12)!important;}
.ct-a11y-toolbar-button[aria-expanded="true"]{background:#dbeafe!important;color:#1d4ed8!important;border-color:#93c5fd!important;}
.ct-a11y-toolbar-slot{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;}
.ct-a11y-fallback-host{display:flex;justify-content:flex-end;align-items:center;min-height:40px;margin:0 0 10px;}

.dashboard-topbar-actions>.ct-a11y-toolbar-button{order:8;}
.dashboard-topbar-actions>.dashboard-user-chip{order:9;}
.finance-hero-actions>.ct-a11y-toolbar-button{order:-1;background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.2)!important;color:#fff!important;box-shadow:none!important;}
.finance-hero-actions>.ct-a11y-toolbar-button:hover,.finance-hero-actions>.ct-a11y-toolbar-button[aria-expanded="true"]{background:rgba(255,255,255,.2)!important;color:#fff!important;border-color:rgba(255,255,255,.38)!important;}
.super-admin-page .ct-a11y-toolbar-button,.sa-header-actions>.ct-a11y-toolbar-button{background:#101e31!important;color:#cbd5e1!important;border-color:#2a3d57!important;box-shadow:none!important;}
.super-admin-page .ct-a11y-toolbar-button:hover,.super-admin-page .ct-a11y-toolbar-button[aria-expanded="true"]{background:#172a43!important;color:#60a5fa!important;border-color:#3b82f6!important;}
.ai-header>.ct-a11y-toolbar-slot{margin-left:12px;}
.topbar-premium.ct-has-a11y-tool,.topbar.ct-has-a11y-tool,.settings-topbar.ct-has-a11y-tool,.delivery-admin-topbar.ct-has-a11y-tool,.ai-header.ct-has-a11y-tool{display:flex!important;align-items:center!important;gap:10px!important;}

/* Páginas públicas ou sem shell interno mantêm um botão flutuante discreto. */
.ct-a11y-floating-button{position:fixed;right:18px;bottom:18px;z-index:var(--ct-layer-accessibility-control,2550);width:50px;height:50px;border:0;border-radius:15px;background:#1d4ed8;color:#fff;display:grid;place-items:center;box-shadow:0 18px 42px rgba(29,78,216,.3);}
.ct-a11y-floating-button .material-icons-round{font-size:26px;}
.ct-a11y-floating-button:hover{transform:translateY(-2px);background:#1e40af;}

.ct-a11y-panel[hidden]{display:none!important;}
.ct-a11y-panel{position:fixed;inset:0;z-index:var(--ct-layer-accessibility-overlay,2600);background:rgba(2,6,23,.58);display:flex;justify-content:flex-end;backdrop-filter:blur(4px);animation:ctA11yFade .18s ease both;}
.ct-a11y-dialog{width:min(430px,100%);height:100%;background:#f6f8fc;color:#172033;box-shadow:-24px 0 70px rgba(2,6,23,.25);display:flex;flex-direction:column;font-family:Inter,Arial,sans-serif;animation:ctA11ySlide .22s cubic-bezier(.2,.8,.2,1) both;}
.ct-a11y-head{padding:23px 22px 20px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.42),transparent 42%),linear-gradient(145deg,#081525,#12335a);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;}
.ct-a11y-eyebrow{display:block;margin-bottom:8px;font-size:.58rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#93c5fd;}
.ct-a11y-head h2{font-size:1.08rem;margin:0 0 7px;display:flex;align-items:center;gap:9px;letter-spacing:-.02em;}
.ct-a11y-head h2 .material-icons-round{font-size:22px;color:#93c5fd;}
.ct-a11y-head p{font-size:.7rem;color:#c5d3e5;margin:0;line-height:1.55;max-width:320px;}
.ct-a11y-close{width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:grid;place-items:center;}
.ct-a11y-close:hover{background:rgba(255,255,255,.16);}
.ct-a11y-body{padding:18px;overflow:auto;display:grid;gap:13px;overscroll-behavior:contain;}
.ct-a11y-section{border:1px solid #e2e8f0;border-radius:16px;padding:15px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.035);}
.ct-a11y-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;}
.ct-a11y-section-title>div{display:flex;align-items:center;gap:10px;min-width:0;}
.ct-a11y-section-title>div>.material-icons-round{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-size:18px;}
.ct-a11y-section-title h3{font-size:.75rem;margin:0;color:#24344b;letter-spacing:.01em;}
.ct-a11y-section-title p{font-size:.61rem;line-height:1.45;color:#718096;margin:3px 0 0;}
.ct-a11y-section-title>strong{font-size:.75rem;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:6px 9px;}
.ct-a11y-font-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.ct-a11y-font-controls button{min-height:48px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc;color:#1e293b;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;}
.ct-a11y-font-controls button>span{font-size:.92rem;}
.ct-a11y-font-controls button>small{font-size:.62rem;color:#64748b;}
.ct-a11y-font-controls button:hover{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.ct-a11y-options-list{display:grid;gap:7px;}
.ct-a11y-option{width:100%;min-height:57px;border:1px solid transparent;border-radius:12px;background:#f8fafc;color:#1e293b;cursor:pointer;padding:9px 10px;display:grid;grid-template-columns:34px minmax(0,1fr) 35px;align-items:center;gap:10px;text-align:left;}
.ct-a11y-option:hover{background:#f1f5f9;border-color:#dbe3ee;}
.ct-a11y-option[aria-pressed="true"]{background:#eff6ff;border-color:#bfdbfe;}
.ct-a11y-option-icon{width:34px;height:34px;border-radius:10px;background:#e9eef6;color:#51647c;display:grid!important;place-items:center;font-size:18px!important;}
.ct-a11y-option[aria-pressed="true"] .ct-a11y-option-icon{background:#dbeafe;color:#1d4ed8;}
.ct-a11y-option>span:nth-child(2){min-width:0;display:block;}
.ct-a11y-option strong,.ct-a11y-option small{display:block;}
.ct-a11y-option strong{font-size:.69rem;color:#27374d;}
.ct-a11y-option small{font-size:.58rem;color:#718096;line-height:1.4;margin-top:3px;}
.ct-a11y-switch{position:relative;width:34px;height:20px;border-radius:999px;background:#cbd5e1;transition:.16s ease;}
.ct-a11y-switch::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.2);transition:.16s ease;}
.ct-a11y-option[aria-pressed="true"] .ct-a11y-switch{background:#2563eb;}
.ct-a11y-option[aria-pressed="true"] .ct-a11y-switch::after{transform:translateX(14px);}
.ct-a11y-keyboard-card{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #dbeafe;border-radius:14px;background:#eff6ff;color:#1e3a5f;}
.ct-a11y-keyboard-card>.material-icons-round{font-size:20px;color:#2563eb;}
.ct-a11y-keyboard-card strong{font-size:.68rem;}
.ct-a11y-keyboard-card p{font-size:.6rem;line-height:1.55;color:#56708f;margin:4px 0 0;}
.ct-a11y-keyboard-card kbd{padding:2px 5px;border:1px solid #bfdbfe;border-bottom-width:2px;border-radius:5px;background:#fff;color:#334155;font-family:inherit;}
.ct-a11y-reset{width:100%;min-height:44px;border:1px solid #fecdd3;border-radius:11px;background:#fff1f2;color:#be123c;font:780 .68rem Inter,Arial,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;}
.ct-a11y-reset:hover{background:#ffe4e6;border-color:#fda4af;}
.ct-a11y-footnote{display:flex;align-items:flex-start;gap:7px;margin:0 3px;color:#718096;font-size:.57rem;line-height:1.5;}
.ct-a11y-footnote .material-icons-round{font-size:16px;color:#10b981;}

@keyframes ctA11yFade{from{opacity:0}to{opacity:1}}
@keyframes ctA11ySlide{from{transform:translateX(28px)}to{transform:none}}

@media(max-width:760px){
  .ct-a11y-toolbar-button{width:36px!important;height:36px!important;min-width:36px!important;flex-basis:36px!important;}
  .ct-a11y-fallback-host{margin-top:-2px;}
}
@media(max-width:640px){
  .ct-a11y-floating-button{right:12px;bottom:12px;width:46px;height:46px;}
  .ct-a11y-dialog{width:100%;}
  .ct-a11y-head{padding:20px 18px 17px;}
  .ct-a11y-body{padding:14px;}
  .ct-a11y-section{padding:13px;}
}
@media(prefers-reduced-motion:reduce){.ct-a11y-panel,.ct-a11y-dialog{animation:none!important;}}
@media print{.ct-a11y-trigger,.ct-a11y-panel,.ct-skip-link,.ct-a11y-fallback-host{display:none!important;}}

body:has(.delivery-shell) .ct-a11y-floating-button,body:has(.app-main) .ct-a11y-floating-button{bottom:82px;}
body:has(#wizardMainFormContainer) .ct-a11y-floating-button{right:22px!important;bottom:86px!important;}


/* No Control Tower o recurso permanece discreto, mas identificável. */
.super-admin-page .ct-a11y-toolbar-button.ct-a11y-labeled{
  width:auto!important;
  min-width:38px!important;
  flex:0 0 auto!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
}
.ct-a11y-visible-label{
  font-size:.66rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
@media(max-width:980px){
  .super-admin-page .ct-a11y-toolbar-button.ct-a11y-labeled{
    width:38px!important;
    padding:0!important;
  }
  .super-admin-page .ct-a11y-toolbar-button.ct-a11y-labeled .ct-a11y-visible-label{
    display:none!important;
  }
}
