/* ── BARRA LATERAL (partials/sidebar.php, assets/js/sidebar.js) ── */
:root{--sd-w:232px}
#side{position:fixed;top:0;left:0;bottom:0;width:var(--sd-w);background:var(--bg2);border-right:1px solid var(--b);display:flex;flex-direction:column;z-index:300}
#main{top:0!important;left:var(--sd-w)!important}
.sd-brand{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--b)}
#sd-x{display:none;background:none;border:none;color:var(--t3);font-size:20px;cursor:pointer;line-height:1}
#sd-nav{flex:1;overflow-y:auto;padding:10px 10px 14px}
.sd-sep{height:1px;background:var(--b);margin:8px 6px}
.sd-g{margin-bottom:2px}
.sd-h{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;border-radius:9px;background:none;color:var(--t2);font-family:var(--f);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background .12s,color .12s}
.sd-h:hover{background:var(--bg3);color:var(--t)}
.sd-i{width:20px;text-align:center;font-size:15px;flex-shrink:0}
.sd-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-ch{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.6;transition:transform .18s;margin-right:3px}
.sd-g.open .sd-ch{transform:rotate(45deg)}
.sd-g.on>.sd-h{background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);font-weight:600}
.sd-subs{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}
.sd-subs>*{overflow:hidden}
.sd-g.open .sd-subs{grid-template-rows:1fr}
.sd-subs-in{min-height:0;margin:2px 0 6px 20px;padding-left:10px;border-left:1.5px solid var(--b2)}
.sd-s{display:block;width:100%;padding:7px 10px;margin:1px 0;border:none;border-radius:7px;background:none;color:var(--t3);font-family:var(--f);font-size:12.5px;cursor:pointer;text-align:left}
.sd-s:hover{background:var(--bg3);color:var(--t)}
.sd-s.on{color:var(--c);font-weight:600;background:color-mix(in srgb,var(--c) 10%,transparent)}
.sd-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding:12px;border-top:1px solid var(--b)}
.sd-f{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;background:var(--bg3);border:1px solid var(--b2);border-radius:8px;color:var(--t2);font-family:var(--f);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}
.sd-f:hover{background:var(--bg);color:var(--t)}
/* Quem está dentro (assets/js/equipa.js): um por linha; tocar = PIN para dar saída */
#sd-fat .sd-g{margin-bottom:0}
#ponto-dentro{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow-y:auto}
#ponto-dentro:empty{display:none}
.pd-f{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:1px solid var(--b2);border-left:3px solid var(--gr);border-radius:8px;background:var(--bg3);color:var(--t);font-family:var(--f);cursor:pointer;text-align:left}
.pd-f:hover{background:var(--bg);border-color:var(--am);border-left-color:var(--am)}
.pd-av{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}
.pd-nome{flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-av.op{box-shadow:0 0 0 2px var(--bg3),0 0 0 4px var(--ac)}
.pd-h{font-size:11px;color:var(--gr);font-family:var(--fm,monospace);flex-shrink:0}
/* Só administradores */
html:not([data-avnew-role="admin"]):not([data-avnew-role="dono"]):not([data-avnew-role="owner"]) .sb-own{display:none!important}

/* Telemóvel: barra lateral em gaveta, com uma barra fina em cima */
#mbar,#sb-ov{display:none}
@media(max-width:860px){
  #mbar{display:flex;position:fixed;top:0;left:0;right:0;height:52px;align-items:center;gap:10px;padding:0 10px;background:var(--bg2);border-bottom:1px solid var(--b);z-index:200}
  #mbar-btn{background:none;border:none;color:var(--t2);font-size:22px;line-height:1;padding:6px 8px;border-radius:8px;cursor:pointer}
  #mbar-t{margin-left:auto;font-size:13px;font-weight:600;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #main{top:52px!important;left:0!important}
  #side{width:min(290px,85vw);transform:translateX(-102%);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:500}
  #side.open{transform:none;box-shadow:4px 0 24px rgba(0,0,0,.45)}
  #sd-x{display:block}
  #sb-ov{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:450;opacity:0;pointer-events:none;transition:opacity .2s}
  #sb-ov.on{opacity:1;pointer-events:all}
  .sd-h{padding:11px 10px;font-size:14px}
  .sd-s{padding:10px;font-size:13.5px}
}
.sd-logo{display:block;width:150px;height:46px;object-fit:cover}

/* Computador: botão « esconde a barra lateral para a esquerda; a aba » volta a mostrá-la */
#sd-rec{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:none;border:1px solid var(--b2);border-radius:7px;color:var(--t3);font-size:16px;line-height:1;cursor:pointer}
#sd-rec:hover{background:var(--bg3);color:var(--t)}
#sd-abrir{display:none}
@media(min-width:861px){
  #side{transition:transform .25s cubic-bezier(.4,0,.2,1)}
  #main{transition:left .25s cubic-bezier(.4,0,.2,1)}
  html.sb-fechada #side{transform:translateX(-100%)}
  html.sb-fechada #main{left:0!important}
  html.sb-fechada #sd-abrir{display:flex;align-items:center;justify-content:center;position:fixed;top:14px;left:0;z-index:310;width:22px;height:34px;padding:0;background:var(--bg2);border:1px solid var(--b2);border-left:none;border-radius:0 8px 8px 0;color:var(--t2);font-size:16px;cursor:pointer;box-shadow:2px 0 8px rgba(0,0,0,.15)}
  html.sb-fechada #sd-abrir:hover{width:28px;color:var(--t)}
}
@media(max-width:860px){#sd-rec{display:none}}
