/* RedData — casca do aplicativo (redesenho, etapa 1): menu lateral com ícones, recolhível, e topo enxuto.
   Só estrutura e acabamento; cores vêm dos tokens e o vermelho do produto continua #CE343D. */
:root{--sidebar:240px}

/* topo */
.topbar{background:var(--surface-raised);border-bottom:1px solid var(--border);gap:12px}
.shell-icon-btn{width:36px;height:36px;min-width:36px;padding:0;border-radius:10px;border:0;background:transparent;color:var(--ink-2);display:grid;place-items:center}
.shell-icon-btn:hover{background:var(--page);color:var(--ink)}
.shell-icon-btn svg,.top-search svg,#author-entry svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
#nav-collapse{display:none}
.top-search{flex:1;max-width:420px;min-width:0;height:38px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:10px;background:var(--page);border:1px solid var(--border);color:var(--ink-muted);font-weight:500;text-align:left}
.top-search:hover{background:var(--surface);color:var(--ink-2)}
.top-search span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-search kbd{font:500 11px var(--font);border:1px solid var(--border);border-radius:6px;padding:1px 6px;background:var(--surface-raised);color:var(--ink-muted)}
.topbar .user #author-entry{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:10px;background:var(--brand);border:1px solid var(--brand);color:#fff;font-weight:600;text-decoration:none}
.topbar .user #author-entry:hover{filter:brightness(.94);text-decoration:none}
.topbar #screen-help{width:36px;height:36px;min-width:36px;padding:0;border-radius:10px;border:0;background:transparent;color:var(--ink-2);font-weight:600}
.topbar #screen-help:hover{background:var(--page);color:var(--ink)}
.topbar .workspace{font-size:13px}

/* menu lateral */
.sidebar{background:var(--surface-raised);border-right:1px solid var(--border)}
.navigation-body{padding:12px 10px}
.nav-link{gap:12px;padding:9px 10px;border-radius:10px;font-size:13.5px;font-weight:500;color:var(--ink-2);margin:2px 0;transition:background .15s,color .15s}
.nav-link:hover{background:var(--page);color:var(--ink)}
.nav-link.active{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--red-dark,#a9232d);font-weight:600;border-left:0;padding-left:10px}
.nav-icon{width:18px;height:18px;display:grid;place-items:center;font-size:14px;flex:none}
.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-task>summary,.nav-advanced>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px 10px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}
.nav-task>summary::-webkit-details-marker,.nav-advanced>summary::-webkit-details-marker{display:none}
.nav-task>summary::after,.nav-advanced>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s;margin-right:4px}
.nav-task[open]>summary::after,.nav-advanced[open]>summary::after{transform:rotate(45deg)}
.nav-task .nav-link{padding-inline-start:10px}
.nav-task[open]{margin-bottom:4px}
.nav-group{margin:14px 10px 6px;font-size:11px;letter-spacing:.08em;color:var(--ink-muted);font-weight:600}
.navigation-footer{background:var(--surface-raised)}

@media (prefers-color-scheme:dark){html:not([data-theme=light]) .nav-link.active{color:#ff8a90;background:#35181b}}
html[data-theme=dark] .nav-link.active{color:#ff8a90;background:#35181b}

@media(min-width:768px){
  #nav-collapse{display:grid}
  .navigation-tools{display:none}
  .sidebar{transition:width .18s ease}
  .main{transition:margin-left .18s ease}
  html.nav-mini{--sidebar:68px}
  html.nav-mini .nav-label,html.nav-mini .nav-task>summary,html.nav-mini .nav-advanced,html.nav-mini .nav-group,html.nav-mini .navigation-footer,html.nav-mini #assigned-navigation{display:none}
  html.nav-mini .nav-link{justify-content:center;padding:10px 0}
  html.nav-mini .nav-task{margin:0}
}
@media(max-width:767px){.top-search{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar,.main,.nav-link{transition:none}}
