/* Design System visual oficial do TerapiaBinaural®.
 * Escopo progressivo: somente telas do plugin marcadas pelo módulo TypeScript.
 * Não adiciona ícones, não remove HTML legado e não altera dados/permissões.
*/
html[data-tb-react-designsystem="ready"] .tb-ds-scope{
  --tb-ds-primary:#253263;
  --tb-ds-primary-2:#3150a8;
  --tb-ds-accent:#2f7cff;
  --tb-ds-success:#16a34a;
  --tb-ds-warning:#f59e0b;
  --tb-ds-danger:#ef4444;
  --tb-ds-ink:#172033;
  --tb-ds-muted:#667085;
  --tb-ds-line:rgba(37,50,99,.14);
  --tb-ds-soft:#f8fbff;
  --tb-ds-panel:#ffffff;
  --tb-ds-shadow:0 18px 45px rgba(37,50,99,.10);
  color:var(--tb-ds-ink);
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope,
html[data-tb-react-designsystem="ready"] .tb-ds-scope *{
  box-sizing:border-box;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-card{
  border:1px solid var(--tb-ds-line);
  background:linear-gradient(180deg,#fff 0%, var(--tb-ds-soft) 100%);
  box-shadow:var(--tb-ds-shadow);
  border-radius:24px;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-card :where(h1,h2,h3,h4,strong){
  color:var(--tb-ds-ink);
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-card :where(p,small,.description,.tb-muted){
  color:var(--tb-ds-muted);
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button{
  border-radius:18px;
  min-height:44px;
  gap:10px;
  border-color:var(--tb-ds-line);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  touch-action:manipulation;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(37,50,99,.10);
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button:focus-visible,
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-field:focus{
  outline:3px solid rgba(47,124,255,.22);
  outline-offset:2px;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button[data-tb-ds-action="primary"],
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button.is-active,
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button.active{
  border-color:rgba(47,124,255,.34);
  background:linear-gradient(135deg, rgba(47,124,255,.13), rgba(37,50,99,.08));
  color:var(--tb-ds-primary);
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button[data-tb-ds-action="success"]{
  border-color:rgba(22,163,74,.30);
  background:linear-gradient(135deg, rgba(22,163,74,.12), rgba(22,163,74,.05));
  color:#116b34;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button[data-tb-ds-action="warning"]{
  border-color:rgba(245,158,11,.34);
  background:linear-gradient(135deg, rgba(245,158,11,.14), rgba(245,158,11,.06));
  color:#8a5200;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button[data-tb-ds-action="danger"]{
  border-color:rgba(239,68,68,.32);
  background:linear-gradient(135deg, rgba(239,68,68,.12), rgba(239,68,68,.05));
  color:#9f1d1d;
}

/* Ícones nativos: apenas dimensiona e alinha o que já existe. Não injeta ícone novo.*/
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button :where(.dashicons,.tb-icon,.tb-tab-icon,.tb-journey-tab-icon,.tb-client-menu-tab-icon,svg,img,i){
  flex:0 0 auto;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-field{
  width:100%;
  max-width:100%;
  border:1px solid var(--tb-ds-line);
  border-radius:16px;
  background:#fff;
  color:var(--tb-ds-ink);
  min-height:44px;
  padding:10px 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope textarea.tb-ds-field{
  min-height:112px;
  line-height:1.5;
  resize:vertical;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-field:focus{
  border-color:rgba(47,124,255,.55);
  box-shadow:0 0 0 4px rgba(47,124,255,.08);
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-badge{
  border-radius:999px;
  font-weight:700;
  letter-spacing:.01em;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-modal-card{
  width:min(860px, calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(15,23,42,.22);
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-modal-card :where(.tb-modal-body,.tb-modal-content,.tb-modal-card-body,.tb-goal-builder-modal-body,.tb-journey-modal-body,.tb-push-modal-body){
  max-height:calc(100dvh - 144px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope :where(.tb-tabs,.tb-client-tabs-modern,.tb-client-menu-actions,.tb-client-workspace-menu){
  align-items:stretch;
}

html[data-tb-react-designsystem="ready"] .tb-ds-scope :where(.tb-tab,.tb-client-menu-tab,.tb-sidebtn,.tb-client-workspace-menu-btn){
  overflow:hidden;
}

@media (max-width:980px){
  html[data-tb-react-designsystem="ready"] .tb-ds-scope{
    --tb-ds-shadow:0 10px 24px rgba(37,50,99,.08);
  }
  html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-card{
    border-radius:18px;
    box-shadow:var(--tb-ds-shadow);
  }
  html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button{
    min-height:50px;
    border-radius:16px;
    padding-inline:10px;
  }
  html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-field{
    min-height:48px;
    border-radius:14px;
    font-size:16px;
  }
  html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-modal-card{
    width:100dvw;
    max-width:100dvw;
    max-height:100dvh;
    border-radius:0;
  }
  html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-modal-card :where(.tb-modal-body,.tb-modal-content,.tb-modal-card-body,.tb-goal-builder-modal-body,.tb-journey-modal-body,.tb-push-modal-body){
    max-height:calc(100dvh - 118px);
  }
}

@media (prefers-reduced-motion: reduce){
  html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button{
    transition:none;
  }
  html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button:hover{
    transform:none;
  }
}

/* Botões de salvar/confirmar com cor verde consistente.*/
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button[data-tb-ds-action="success"],
html[data-tb-react-designsystem="ready"] .tb-ds-scope #tbSavePre.tb-ds-button,
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-btn-primary.tb-ds-button[data-tb-ds-action="success"]{
  background:#16a34a!important;
  border-color:#16a34a!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(22,163,74,.22)!important;
}
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-ds-button[data-tb-ds-action="success"]:hover,
html[data-tb-react-designsystem="ready"] .tb-ds-scope #tbSavePre.tb-ds-button:hover,
html[data-tb-react-designsystem="ready"] .tb-ds-scope .tb-btn-primary.tb-ds-button[data-tb-ds-action="success"]:hover{
  background:#15803d!important;
  border-color:#15803d!important;
  color:#fff!important;
}
