/* ============================================================
   Contador One — Rail de ferramentas (navegação global)
   Injetada por toolrail.js. Tema preto (em teste).
   ============================================================ */
.toolrail{--rail-bg:#0d0d0d;--rail-line:#262626;--rail-fly:#161616;--rail-muted:#8a8a8a;position:fixed;left:0;top:0;bottom:0;z-index:120;width:64px;background:var(--rail-bg);border-right:1px solid var(--rail-line);display:flex;flex-direction:column;transition:width .26s cubic-bezier(.2,.8,.2,1),transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:2px 0 30px -14px rgba(0,0,0,.6)}
.toolrail:hover,.toolrail:focus-within,.toolrail.open{width:256px}
.toolrail .tr-top{display:flex;align-items:center;gap:12px;height:72px;padding:0 17px;border-bottom:1px solid var(--rail-line);flex:none;text-decoration:none}
.toolrail .tr-top img{width:30px;height:30px;flex:none}
.toolrail .tr-top .tt{display:flex;flex-direction:column;white-space:nowrap;opacity:0;transition:opacity .2s .04s}
.toolrail:hover .tr-top .tt,.toolrail:focus-within .tr-top .tt,.toolrail.open .tr-top .tt{opacity:1}
.toolrail .tr-top .tt b{color:#fff;font-size:14px;font-weight:700;line-height:1.1}
.toolrail .tr-top .tt span{color:var(--c1-laranja-300);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.tr-label{padding:16px 17px 6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#5c5c5c;white-space:nowrap;opacity:0;transition:opacity .2s}
.toolrail:hover .tr-label,.toolrail:focus-within .tr-label,.toolrail.open .tr-label{opacity:1}

.tr-list{list-style:none;margin:0;padding:4px 0 8px;display:flex;flex-direction:column;gap:1px;overflow:visible;flex:1;min-height:0}

.tr-cat{position:relative}
.tr-cat>.cat-row{display:flex;align-items:center;gap:14px;padding:11px 17px;color:rgba(255,255,255,.74);cursor:default;position:relative;transition:background .16s,color .16s}
.tr-cat:hover>.cat-row,.tr-cat:focus-within>.cat-row{background:rgba(255,255,255,.06);color:#fff}
.cat-row .ic{width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center}
.cat-row .ic svg{width:21px;height:21px}
.cat-row .nm{white-space:nowrap;opacity:0;transition:opacity .2s;font-size:13.5px;font-weight:600;flex:1}
.cat-row .chev{margin-left:auto;opacity:0;transition:opacity .2s,transform .16s;color:var(--rail-muted);display:flex}
.cat-row .chev svg{width:15px;height:15px}
.toolrail:hover .cat-row .nm,.toolrail:focus-within .cat-row .nm,.toolrail.open .cat-row .nm,
.toolrail:hover .cat-row .chev,.toolrail:focus-within .cat-row .chev,.toolrail.open .cat-row .chev{opacity:1}
.tr-cat:hover>.cat-row .chev,.tr-cat:focus-within>.cat-row .chev{color:var(--brand);transform:translateX(2px)}
.cat-row::after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand);transform:scaleY(0);transition:transform .16s}
.tr-cat:hover>.cat-row::after,.tr-cat:focus-within>.cat-row::after{transform:scaleY(1)}
/* categoria com o módulo atual */
.tr-cat.is-active>.cat-row{color:#fff}
.tr-cat.is-active>.cat-row .ic{color:var(--brand)}
.tr-cat.is-active>.cat-row::after{transform:scaleY(1)}
.fly-item.is-active{background:rgba(250,100,0,.14)}
.fly-item.is-active .fic{color:var(--brand)}
.fly-item.is-active .ftx b{color:#fff}

.tr-fly{position:absolute;left:100%;top:-6px;width:296px;background:var(--rail-fly);border:1px solid var(--rail-line);border-radius:12px;padding:8px;box-shadow:0 24px 60px -18px rgba(0,0,0,.75);opacity:0;visibility:hidden;transform:translateX(-8px);transition:opacity .16s,transform .16s,visibility .16s;pointer-events:none;z-index:130}
.tr-fly::before{content:"";position:absolute;right:100%;top:0;width:16px;height:100%}
.tr-cat:hover>.tr-fly,.tr-cat:focus-within>.tr-fly{opacity:1;visibility:visible;transform:translateX(6px);pointer-events:auto}
.fly-head{padding:8px 12px 10px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--c1-laranja-300);border-bottom:1px solid var(--rail-line);margin-bottom:4px}
.fly-item{display:flex;align-items:flex-start;gap:12px;padding:9px 12px;border-radius:8px;text-decoration:none;color:#eaeaea;transition:background .14s}
.fly-item:hover{background:rgba(255,255,255,.07)}
.fly-item .fic{width:20px;height:20px;flex:none;margin-top:1px;color:var(--rail-muted);display:flex;transition:color .14s}
.fly-item:hover .fic{color:var(--brand)}
.fly-item .fic svg{width:19px;height:19px}
.fly-item .ftx{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.fly-item .ftx b{font-size:13.5px;font-weight:600;color:#fff}
.fly-item .ftx small{font-size:11.5px;color:var(--rail-muted);line-height:1.3}

/* rodapé: login / usuário */
.tr-foot{flex:none;padding:12px 13px;border-top:1px solid var(--rail-line)}
/* modo shell: botões tema/densidade acima do usuário */
.tr-tools{display:flex;gap:7px;margin-bottom:9px}
.tr-tb{width:34px;height:34px;flex:none;border-radius:8px;border:1px solid var(--rail-line);background:transparent;color:var(--rail-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s,color .16s}
.tr-tb:hover{background:rgba(255,255,255,.06);color:var(--brand)}
.tr-tb svg{width:17px;height:17px}
.tr-tb .sun{display:none}
[data-theme=dark] .tr-tb .sun{display:block}
[data-theme=dark] .tr-tb .moon{display:none}
.tr-cta{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;background:var(--brand);color:#fff;text-decoration:none;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;transition:background .18s}
.tr-cta:hover{background:var(--brand-hover)}
.tr-cta .ic{flex:none;display:flex}
.tr-cta .tx{opacity:0;transition:opacity .2s}
.toolrail:hover .tr-cta .tx,.toolrail:focus-within .tr-cta .tx,.toolrail.open .tr-cta .tx{opacity:1}

.tr-user{position:relative}
.tr-user-btn{display:flex;align-items:center;gap:11px;width:100%;padding:8px 9px;border:0;background:transparent;border-radius:8px;cursor:pointer;color:#fff;text-align:left;transition:background .16s}
.tr-user-btn:hover{background:rgba(255,255,255,.06)}
.tr-av{width:34px;height:34px;flex:none;border-radius:50%;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:#fff;background-color:var(--brand)}
.tr-user-tx{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap;overflow:hidden;opacity:0;transition:opacity .2s;flex:1;min-width:0}
.tr-user-tx b{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis}
.tr-user-tx small{font-size:11px;color:var(--rail-muted)}
.tr-user-car{margin-left:auto;color:var(--rail-muted);opacity:0;transition:opacity .2s;flex:none}
.toolrail:hover .tr-user-tx,.toolrail:focus-within .tr-user-tx,.toolrail.open .tr-user-tx,
.toolrail:hover .tr-user-car,.toolrail:focus-within .tr-user-car,.toolrail.open .tr-user-car{opacity:1}
.tr-user-menu{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);background:var(--rail-fly);border:1px solid var(--rail-line);border-radius:12px;padding:6px;box-shadow:0 24px 60px -18px rgba(0,0,0,.75);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s;z-index:131}
.tr-user.open .tr-user-menu{opacity:1;visibility:visible;transform:translateY(0)}
.tr-user-menu a,.tr-user-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:0;background:transparent;border-radius:8px;color:#eaeaea;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;text-align:left;transition:background .14s}
.tr-user-menu a:hover,.tr-user-menu button:hover{background:rgba(255,255,255,.07)}
.tr-user-menu svg{width:17px;height:17px;flex:none;color:var(--rail-muted)}
.tr-user-menu .div{height:1px;background:var(--rail-line);margin:4px 6px}

.tr-hintdots{display:flex;gap:4px;justify-content:center;padding:10px 0 2px}
.tr-hintdots i{width:4px;height:4px;border-radius:50%;background:#4a4a4a;display:block}
.toolrail:hover .tr-hintdots,.toolrail:focus-within .tr-hintdots,.toolrail.open .tr-hintdots{display:none}

/* desloca a página pra não ficar sob a rail fechada */
body.c1-rail-on{padding-left:64px}

/* rail é a navegação de usuário canônica: remove o login redundante do header do site */
body.c1-rail-on .hdr-portal,body.c1-rail-on .portal-cta{display:none!important}
/* seletor de módulo (app-switcher) e login/usuário flutuantes legados → agora vivem no rail */
body.c1-rail-on .c1-float,body.c1-rail-on .c1-navgrp,body.c1-rail-on .c1-appsw{display:none!important}

/* desktop: centraliza o avatar/CTA na coluna quando a rail está fechada */
@media (min-width:821px){
  .toolrail:not(:hover):not(.open) .tr-foot{padding-left:0;padding-right:0}
  .toolrail:not(:hover):not(.open) .tr-user-btn,
  .toolrail:not(:hover):not(.open) .tr-cta{justify-content:center;padding-left:0;padding-right:0}
  .toolrail:not(:hover):not(.open) .tr-user-tx,
  .toolrail:not(:hover):not(.open) .tr-user-car,
  .toolrail:not(:hover):not(.open) .tr-cta .tx{display:none}
  .toolrail:not(:hover):not(.open) .tr-tools{display:none}
}

/* botão mobile (abrir/fechar) + overlay */
.tr-toggle{display:none;position:fixed;left:12px;top:12px;z-index:140;width:44px;height:44px;border-radius:10px;border:1px solid var(--rail-line,#262626);background:#0d0d0d;color:#fff;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px -8px rgba(0,0,0,.5)}
.tr-toggle svg{width:22px;height:22px}
.tr-toggle .x{display:none}
body.c1-rail-open .tr-toggle .x{display:block}
body.c1-rail-open .tr-toggle .bars{display:none}
.tr-overlay{display:none;position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.5);opacity:0;transition:opacity .28s}

@media (max-width:820px){
  body.c1-rail-on{padding-left:0}
  .tr-toggle{display:flex}
  .toolrail{width:256px;transform:translateX(-100%);box-shadow:none}
  .toolrail .tr-top .tt,.tr-label,.cat-row .nm,.cat-row .chev,.tr-cta .tx,.tr-user-tx,.tr-user-car{opacity:1}
  body.c1-rail-open .toolrail{transform:translateX(0);box-shadow:2px 0 40px -8px rgba(0,0,0,.6)}
  body.c1-rail-open .tr-overlay{display:block;opacity:1}
  .tr-hintdots{display:none}
  /* no mobile o flyout abre embaixo da categoria (acordeão simples via hover/focus mantido) */
  .tr-fly{position:static;width:auto;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;border:0;background:transparent;padding:0 0 6px 30px}
  .tr-fly::before{display:none}
  .fly-head{display:none}
}
