/* ==========================================================================
   Painel da unidade (/unit), unidades/mudancas na admin e /space/unit.
   Prefixo ps-un-: tudo aqui e deste modulo. O resto vem do boffice.css.
   ========================================================================== */

/* ---------------------------------------------------------------- casca */
.ps-un-rail .ps-rail-top{ gap:.75rem; }
.ps-un-rail .ps-rail-nav{ overflow-y:auto; min-height:0; flex:1 1 auto; }
.ps-un-nav-h{
  display:block; margin:.9rem .7rem .3rem; font-size:.68rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ps-ink-3);
}
.ps-un-rail .ps-rail-bottom{ margin-top:.6rem; gap:.35rem; }

/* O cartao da unidade (e o seletor, quando ha mais de uma). */
.ps-un-switch{ position:relative; }
.ps-un-card{
  width:100%; display:flex; align-items:center; gap:.6rem; text-align:left;
  padding:.6rem .65rem; border-radius:12px; color:var(--ps-ink);
  background:var(--ps-grad-soft); border:1px solid var(--ps-border-strong);
}
button.ps-un-card{ cursor:pointer; }
button.ps-un-card:hover{ border-color:var(--ps-mid); }
.ps-un-card-ic{
  width:2.1rem; height:2.1rem; flex:none; border-radius:10px; display:grid; place-items:center;
  background:var(--ps-surface); color:var(--ps-mid);
}
.ps-un-card-ic svg{ width:18px; height:18px; }
.ps-un-card-txt{ display:flex; flex-direction:column; min-width:0; flex:1 1 auto; line-height:1.25; }
.ps-un-card-name{ font-weight:700; font-size:.95rem; }
.ps-un-card-sub{ font-size:.74rem; color:var(--ps-ink-3); }
.ps-un-menu{ max-height:60vh; overflow-y:auto; }
.ps-un-menu .dropdown-item svg{ width:16px; height:16px; flex:none; opacity:.7; }
.ps-un-menu .dropdown-item.active{ background:var(--ps-grad-soft); color:var(--ps-ink); font-weight:600; }
.ps-un-role{ display:flex; flex-wrap:wrap; gap:.3rem; }

/* Topo: titulo da pagina e, no celular, o nome da unidade embaixo. */
.ps-un-titles{ flex:1; min-width:0; display:flex; flex-direction:column; }
.ps-un-titles .ps-page-title{ flex:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ps-un-topunit{ font-size:.74rem; color:var(--ps-ink-3); line-height:1.2; }
@media (min-width:992px){ .ps-un-topunit{ display:none; } }
.ps-un-app .ps-topbar-actions .btn{ display:inline-flex; align-items:center; gap:.3rem; white-space:nowrap; }
.ps-un-app .ps-topbar-actions .btn svg{ width:16px; height:16px; flex:none; }
@media (max-width:575.98px){
  .ps-un-app .ps-topbar-actions .btn{ padding:.35rem .6rem; font-size:.82rem; }
}

.ps-un-content{ padding-bottom:3rem; }

/* No celular o painel do cliente troca a trilha por uma barra embaixo (e o
   boffice.css esconde trilha e hamburguer com !important). O menu da unidade
   tem ate dez itens — nao cabe numa barra: aqui a trilha vira gaveta, aberta
   pelo hamburguer (o panel.js ja faz o abre/fecha). */
@media (max-width:991.98px){
  .ps-un-app .ps-rail.ps-un-rail{ display:flex !important; overflow-y:auto; }
  .ps-un-app .ps-burger{ display:grid !important; flex:none; }
  .ps-un-app .ps-rail-veil:not([hidden]){ display:block !important; }
  .ps-un-app .ps-content{ padding-bottom:3rem !important; }
}
.ps-un-app .ps-stats{ grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); }
.ps-un-denied{ max-width:30rem; margin:2rem auto; }

/* ------------------------------------------------------------- comuns */
.ps-un-h3{ font-size:.86rem; font-weight:600; margin:1.2rem 0 .5rem; color:var(--ps-ink); }
.ps-un-back{
  display:inline-flex; align-items:center; gap:.35rem; margin:0 0 .9rem;
  font-size:.85rem; color:var(--ps-ink-2); text-decoration:none;
}
.ps-un-back:hover{ color:var(--ps-mid); }
.ps-un-back svg{ width:15px; height:15px; }
.ps-h2-inline svg{ width:18px; height:18px; vertical-align:-3px; color:var(--ps-mid); }
.ps-un-star{ color:var(--ps-late); }

/* Campo numerico com a unidade de medida ao lado (min, h, dias). */
.ps-un-num{ position:relative; }
.ps-un-num .ps-input{ padding-right:3.6rem; font-variant-numeric:tabular-nums; }
.ps-un-num-u{
  position:absolute; right:.85rem; top:50%; transform:translateY(-50%);
  font-size:.8rem; color:var(--ps-ink-3); pointer-events:none;
}
.ps-un-range{ white-space:nowrap; }

/* Etiquetas embaixo do nome numa lista. */
.ps-un-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:.3rem; margin-top:.3rem; font-size:.74rem; }
.ps-un-row-acts{ display:inline-flex; gap:.35rem; align-items:center; justify-content:flex-end; }
.ps-un-table tr.is-archived .ps-tx-desc{ color:var(--ps-ink-3); }
.ps-un-table tr.is-editing{ background:var(--ps-grad-soft); }
@media (max-width:767px){
  .ps-un-table td.num:last-child{ grid-column:1 / -1; text-align:left; }
  .ps-un-row-acts{ justify-content:flex-start; margin-top:.35rem; }
}

/* Lista de dados (endereco, fuso...). */
.ps-un-dl{ display:grid; grid-template-columns:minmax(6.5rem, max-content) 1fr; gap:.45rem 1rem; margin:0 0 .8rem; font-size:.88rem; }
.ps-un-dl dt{ color:var(--ps-ink-3); font-weight:500; }
.ps-un-dl dd{ margin:0; min-width:0; overflow-wrap:anywhere; }
@media (max-width:420px){ .ps-un-dl{ grid-template-columns:1fr; gap:.1rem; } .ps-un-dl dd{ margin-bottom:.45rem; } }

/* Zona de perigo (arquivar, desconectar). */
.ps-un-danger{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  padding:1rem 1.15rem; border:1px dashed rgba(245,71,107,.4); border-radius:var(--ps-r-lg);
}
.btn-ps-ghost.is-danger{ color:var(--ps-out); border-color:rgba(245,71,107,.4); }
.btn-ps-ghost.is-danger:hover{ color:#fff; background:var(--ps-out); border-color:var(--ps-out); }

/* --------------------------------------------------------------- inicio */
.ps-un-todo{ border-color:rgba(245,158,11,.45); }
.ps-un-todo h2 svg{ color:var(--ps-late); }
.ps-un-todo-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem; }
.ps-un-todo-list li{
  display:flex; align-items:center; justify-content:space-between; gap:.8rem; flex-wrap:wrap;
  padding:.65rem .8rem; border-radius:10px; background:var(--ps-surface-2); font-size:.88rem;
}
.ps-un-stat{ text-decoration:none; color:var(--ps-ink); transition:border-color .15s, transform .15s; }
a.ps-un-stat:hover{ border-color:var(--ps-border-strong); transform:translateY(-2px); color:var(--ps-ink); }
.ps-un-agenda{ list-style:none; padding:0; margin:0; }
.ps-un-agenda li{ display:flex; align-items:center; gap:.8rem; padding:.55rem 0; border-bottom:1px solid var(--ps-border); }
.ps-un-agenda li:last-child{ border-bottom:0; }
.ps-un-agenda-h{ font-weight:600; font-size:.86rem; min-width:6.4rem; color:var(--ps-ink-2); }
.ps-un-agenda-t{ display:flex; flex-direction:column; min-width:0; flex:1; font-size:.88rem; line-height:1.3; }

/* -------------------------------------------------------------- horarios */
.ps-un-week{ display:flex; flex-direction:column; gap:.35rem; }
.ps-un-week-head, .ps-un-week-row{
  display:grid; grid-template-columns:minmax(7.5rem, 10rem) 1fr 1fr; gap:.4rem 1rem; align-items:center;
}
.ps-un-week-head{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ps-ink-3); }
.ps-un-week-row{ padding:.45rem .55rem; border-radius:10px; }
.ps-un-week-row:nth-child(even){ background:var(--ps-surface-2); }
.ps-un-week-day{ display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; font-size:.9rem; }
.ps-un-shift{ display:flex; align-items:center; gap:.35rem; color:var(--ps-ink-3); }
/* Largura para "08:00 AM" + o icone do relogio (navegador em 12 h). */
.ps-un-shift .ps-input-sm{ width:8.9rem; height:38px; padding:.3rem .5rem; font-variant-numeric:tabular-nums; }
/* No celular: um turno por linha, com o rotulo na frente. Duas colunas de
   turno nao cabem — o campo de hora nao encolhe abaixo do proprio conteudo. */
@media (max-width:640px){
  .ps-un-week-head{ display:none; }
  .ps-un-week-row{ grid-template-columns:minmax(0, 1fr); gap:.35rem; }
  .ps-un-shift{ min-width:0; }
  .ps-un-shift .ps-input-sm{ flex:1 1 0; width:auto; min-width:0; }
  /* Rotulo EM CIMA, nao ao lado: com relogio de 12 h, "01:00 PM" precisa da
     largura inteira, ou o AM/PM e cortado e o horario fica ambiguo. */
  .ps-un-week-row .ps-un-shift{ flex-wrap:wrap; row-gap:.15rem; }
  .ps-un-week-row .ps-un-shift::before{
    content:attr(data-label); flex:0 0 100%; font-size:.72rem; color:var(--ps-ink-3);
  }
}
.ps-un-content .ps-section-h{ flex-wrap:wrap; }
.ps-un-hol-form{ padding-bottom:1rem; border-bottom:1px solid var(--ps-border); margin-bottom:.5rem; }

/* ------------------------------------------------------------ adicionais */
.ps-un-extras{ display:flex; flex-direction:column; gap:.4rem; }
.ps-un-extra{
  display:flex; align-items:center; justify-content:space-between; gap:.6rem 1rem; flex-wrap:wrap;
  padding:.55rem .75rem; border:1px solid var(--ps-border); border-radius:10px;
  transition:border-color .15s, background .15s;
}
.ps-un-extra.is-on{ border-color:var(--ps-mid); background:var(--ps-grad-soft); }
.ps-un-extra-name{ font-weight:500; }
.ps-un-extra-name .ps-pill{ margin-left:.25rem; }
.ps-un-extra-q{ display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; font-size:.8rem; color:var(--ps-ink-3); }
.ps-un-extra-q label{ display:inline-flex; align-items:center; gap:.35rem; }
.ps-un-extra-q .ps-input-sm{ width:4.6rem; height:34px; }
.ps-un-extra:not(.is-on) .ps-un-extra-q{ opacity:.55; }

/* --------------------------------------------------------------- clientes */
.ps-un-search{ display:flex; gap:.5rem; flex-wrap:wrap; }
.ps-un-search .ps-input{ flex:1 1 16rem; min-width:0; }

/* ----------------------------------------------------------------- equipe */
.ps-un-member{ border:1px solid var(--ps-border); border-radius:12px; margin-bottom:.5rem; }
.ps-un-member:last-child{ margin-bottom:0; }
.ps-un-member.is-off .ps-edit-name{ color:var(--ps-ink-3); }
.ps-un-member .ps-edit-sum{ flex-wrap:wrap; }
.ps-un-member-id{ display:flex; flex-direction:column; min-width:0; flex:1 1 12rem; line-height:1.3; }
.ps-un-member-id .ps-edit-name, .ps-un-member-id .ps-edit-dim{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ps-un-member-tags{ display:flex; flex-wrap:wrap; gap:.3rem; }
.ps-un-member .ps-acoes-linha{ padding-top:.8rem; border-top:1px solid var(--ps-border); }

/* ------------------------------------------------------------------ admin */
.ps-un-editing{ border-color:var(--ps-mid); }
.ps-un-adm-h{ font-size:.95rem; font-weight:600; margin:0 0 .8rem; }
.ps-un-route{ display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; font-size:.92rem; }
.ps-un-route svg{ width:15px; height:15px; color:var(--ps-ink-3); }
.ps-un-quote{ font-size:.86rem; padding:.5rem .7rem; border-left:3px solid var(--ps-border-strong); background:var(--ps-surface-2); border-radius:0 8px 8px 0; }
.ps-un-decide{ display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.ps-un-decide .ps-input{ flex:1 1 16rem; min-width:0; }

/* ------------------------------------------------- unidade do espaco */
.ps-un-su-name{ font-size:1.15rem; font-weight:700; margin:0 0 .7rem; display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
