/* screen-home.css — Sprint 9.1
   Sidebar + layout mobile — usado só em screen-home dentro de index.html
   (dashboard-auditoria.html/cadastro.html/importar-base.html têm sua
   própria cópia deste bloco inline, não compartilham este arquivo). */

.home-screen{flex-direction:column;background:var(--bg)}
.sb-layout{display:flex;flex:1;overflow:hidden;min-height:0}
.sidebar{width:220px;background:var(--s1);border-right:1px solid var(--b);display:flex;flex-direction:column;flex-shrink:0;height:100%;transition:transform .25s ease;z-index:50}
.sb-brand{padding:16px 16px 14px;border-bottom:1px solid var(--b);display:flex;align-items:center;gap:8px;flex-shrink:0}
.sb-bolt{font-size:18px;line-height:1;flex-shrink:0;color:var(--orange)}
.sb-brand-line1{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);line-height:1}
.sb-brand-line2{font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);margin-top:2px}
.sb-nav{flex:1;overflow-y:auto;padding:6px 8px}
.sb-group-label{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:12px 8px 4px}
.sb-item{display:flex;align-items:center;gap:9px;padding:8px 10px;cursor:pointer;color:var(--muted2);font-size:13px;font-weight:500;border:none;background:transparent;width:100%;text-align:left;text-decoration:none;border-radius:3px;transition:background .12s,color .12s;font-family:var(--font);position:relative}
.sb-item:hover{background:var(--s2);color:var(--text)}
.sb-item.active{background:var(--s3);color:var(--text)}
.sb-item.active::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--orange);border-radius:0 2px 2px 0}
.sb-icon{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;opacity:.75}
.sb-item.active .sb-icon,.sb-item:hover .sb-icon{opacity:1}
.sb-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--b);flex-shrink:0}
.sb-user-row{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.sb-avatar{width:32px;height:32px;border-radius:50%;background:rgba(238,77,45,.10);border:1px solid rgba(238,77,45,.25);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:15px;font-weight:700;color:var(--orange);flex-shrink:0;text-transform:uppercase}
.sb-uinfo{flex:1;min-width:0}
.sb-uname{font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-urole{font-family:var(--display);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.sb-logout{width:100%;padding:8px;background:transparent;border:1px solid var(--b);border-radius:3px;font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}
.sb-logout:hover{border-color:var(--err);color:var(--err)}
.sb-main{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg)}
.mob-bar{display:none;height:48px;background:var(--s1);border-bottom:1px solid var(--b);align-items:center;padding:0 14px;gap:12px;flex-shrink:0}
.mob-hamburger{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text);display:flex;align-items:center;width:32px;height:32px;justify-content:center;flex-shrink:0}
.mob-hamburger svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.mob-brand{font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);flex:1}
.sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:49;cursor:pointer}
.sb-overlay.show{display:block}
@media(max-width:768px){
  .mob-bar{display:flex}
  .sidebar{position:fixed;top:0;left:0;bottom:0;transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0);box-shadow:4px 0 24px rgba(27,35,48,.18)}
}
