/* Personnel: list with search, editing in a dialog. */
#tab-personnel .sr-only,.pe-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
#tab-personnel .card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pe-count{font-size:13px;font-weight:600;color:var(--muted)}
.pe-add{margin-left:auto}
.pe-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.pe-toolbar select,.pe-toolbar input[type=search]{height:42px;padding:0 14px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);color:var(--slate);font:500 14px var(--font);outline:none;transition:border-color .15s,box-shadow .15s}
.pe-toolbar select:focus,.pe-toolbar input[type=search]:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(79,107,246,.2)}
#tab-personnel .pe-add{height:38px;padding:0 16px;border-radius:12px;font-size:13px}
.pe-actions .btn{border-radius:10px;padding:6px 14px}
.pe-table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}
.pe-table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}
.pe-filter{flex:0 1 260px;min-width:0}
.pe-filter select{width:100%}
.pe-search{flex:1 1 240px;min-width:0}
.pe-search input{width:100%}
.pe-inactive{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap;cursor:pointer}
.pe-table-wrap{overflow-x:auto}
.pe-table td{vertical-align:middle}
.pe-col-photo{width:56px}
.pe-col-actions{width:1%;white-space:nowrap}
.pe-row{cursor:pointer}
.pe-row:hover td{background:var(--blue-lt)}
.pe-row.is-inactive .pe-name,.pe-row.is-inactive .pe-mini{opacity:.6}
.pe-mini{width:40px;height:40px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--blue-lt);color:var(--blue);font-weight:800;font-size:14px}
.pe-name{font-weight:700;color:var(--slate)}
.pe-desig{font-size:12.5px;color:var(--muted);margin-top:2px}
.pe-status{display:inline-block;font-size:12px;font-weight:700;border-radius:99px;padding:3px 10px;background:#dcfce7;color:#166534}
.pe-status.off{background:var(--border);color:var(--muted)}
.pe-actions{display:flex;gap:6px;justify-content:flex-end}

/* Editor dialog */
.pe-dialog{
  --pe-radius:22px;--pe-field-radius:12px;
  --pe-field-bg:#f8fafc;--pe-field-border:#dbe3ee;--pe-field-hover:#c4cfdd;
  --pe-section-bg:#f8fafc;--pe-ring:rgba(79,107,246,.22);
}
html[data-theme="dark"] .pe-dialog{
  --pe-field-bg:#10142a;--pe-field-border:#2c3358;--pe-field-hover:#3a4270;
  --pe-section-bg:rgba(255,255,255,.025);--pe-ring:rgba(124,140,248,.3);
}
.pe-dialog[open]{margin:auto;animation:pe-in .18s ease-out}
.pe-dialog[open]::backdrop{animation:pe-fade .18s ease-out}
@keyframes pe-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pe-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.pe-dialog[open],.pe-dialog[open]::backdrop{animation:none}}
.pe-dialog [hidden],#tab-personnel [hidden]{display:none!important}
.pe-dialog{border:1px solid var(--border);border-radius:var(--pe-radius);padding:0;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);background:var(--card);color:var(--slate);box-shadow:0 30px 80px -20px rgba(15,23,42,.45),0 0 0 1px rgba(15,23,42,.03);overflow:hidden}
.pe-dialog::backdrop{background:rgba(15,23,42,.45);backdrop-filter:blur(3px)}
.pe-dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}

/* Header: photo, title and photo actions */
.pe-head{position:relative;display:flex;align-items:center;gap:18px;padding:24px 64px 20px 26px;background:linear-gradient(180deg,var(--blue-lt),transparent)}
.pe-head-text{min-width:0;flex:1}
.pe-head h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.01em}
.pe-sub{margin:3px 0 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.pe-avatar{width:88px;height:88px;flex:0 0 88px;border-radius:50%;overflow:hidden;background:var(--card);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;box-shadow:0 0 0 4px var(--card),0 8px 24px -6px rgba(15,23,42,.35)}
.pe-avatar img{width:100%;height:100%;object-fit:cover}
.pe-photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pe-chip{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--pe-field-border);background:var(--card);color:var(--slate);font:600 12.5px var(--font);cursor:pointer;transition:border-color .15s,background .15s}
.pe-chip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pe-chip:hover{border-color:var(--blue);color:var(--blue)}
.pe-chip-quiet{color:var(--muted)}
.pe-chip-quiet:hover{border-color:var(--red);color:var(--red)}
.pe-file{overflow:hidden}
.pe-file input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.pe-file:focus-within{box-shadow:0 0 0 4px var(--pe-ring);border-color:var(--blue)}
.pe-hint{margin:8px 0 0;font-size:12px;color:var(--muted)}
.pe-hint.is-error{color:var(--red);font-weight:600}
.pe-x{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.pe-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.pe-x:hover{background:var(--blue-lt);color:var(--slate)}
.pe-x:focus-visible{outline:none;box-shadow:0 0 0 4px var(--pe-ring)}

/* Body: grouped sections */
.pe-body{padding:6px 26px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
.pe-error{padding:11px 14px;border-radius:14px;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:var(--red);font-size:13px;font-weight:600}
.pe-section{border:0;margin:0;padding:16px 18px 18px;border-radius:18px;background:var(--pe-section-bg);border:1px solid var(--border)}
.pe-section legend{float:left;width:100%;margin:0 0 12px;padding:0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pe-section legend+*{clear:both}
.pe-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.pe-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.pe-lbl{display:block;font-size:12.5px;font-weight:700;color:var(--slate)}
.pe-lbl .req{color:var(--red);margin-left:1px}
.pe-field small{font-size:11.5px;color:var(--muted)}
.pe-field input,.pe-field select{width:100%;height:44px;padding:0 14px;border-radius:var(--pe-field-radius);border:1.5px solid var(--pe-field-border);background:var(--pe-field-bg);color:var(--slate);font:500 14.5px var(--font);outline:none;transition:border-color .15s,box-shadow .15s,background .15s;-webkit-appearance:none;appearance:none}
.pe-field select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%2364748b' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
.pe-field input::placeholder{color:var(--muted);opacity:.65}
.pe-field input:hover,.pe-field select:hover{border-color:var(--pe-field-hover)}
.pe-field input:focus,.pe-field select:focus{border-color:var(--blue);background:var(--card);box-shadow:0 0 0 4px var(--pe-ring)}
.pe-field select:disabled{opacity:.75;cursor:not-allowed}
.pe-field .is-invalid,.pe-field .is-invalid:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(220,38,38,.15)}
.pe-span-1{grid-column:span 1}.pe-span-2{grid-column:span 2}.pe-span-3{grid-column:span 3}
.pe-span-4{grid-column:span 4}.pe-span-5{grid-column:span 5}.pe-span-6{grid-column:span 6}

/* Active switch */
.pe-switch{position:relative;display:flex;align-items:center;gap:12px;align-self:start;padding-top:22px;cursor:pointer}
.pe-switch input{position:absolute;opacity:0;width:1px;height:1px}
.pe-switch-track{position:relative;flex:0 0 44px;width:44px;height:26px;border-radius:999px;background:var(--pe-field-border);transition:background .2s}
.pe-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.pe-switch input:checked+.pe-switch-track{background:var(--green)}
.pe-switch input:checked+.pe-switch-track::after{transform:translateX(18px)}
.pe-switch input:focus-visible+.pe-switch-track{box-shadow:0 0 0 4px var(--pe-ring)}
.pe-switch-text{display:flex;flex-direction:column;font-size:14px;font-weight:700;color:var(--slate)}
.pe-switch-text small{font-size:12px;font-weight:500;color:var(--muted)}

/* Footer */
.pe-foot{display:flex;gap:10px;align-items:center;padding:14px 26px 18px;border-top:1px solid var(--border);background:var(--card)}
.pe-foot-gap{flex:1}
.pe-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border-radius:12px;border:1.5px solid transparent;font:700 14px var(--font);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s}
.pe-btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--pe-ring)}
.pe-btn-primary{min-width:112px;background:var(--blue);color:#fff;box-shadow:0 6px 16px -6px var(--blue)}
.pe-btn-primary:hover{background:var(--blue-dark)}
html[data-theme="dark"] .pe-btn-primary{color:#0c0f1f}
.pe-btn-ghost{background:transparent;border-color:var(--pe-field-border);color:var(--slate)}
.pe-btn-ghost:hover{background:var(--pe-field-bg)}
.pe-btn-danger{background:transparent;color:var(--red)}
.pe-btn-danger:hover{background:rgba(220,38,38,.08)}
.pe-btn:disabled{opacity:.6;cursor:progress}
.pe-btn .spinner-inline{width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:none}
.pe-btn.loading .spinner-inline{display:inline-block}

@media (max-width:640px){
  .pe-dialog{width:100%;max-width:none;max-height:calc(100dvh - 12px);margin:auto 0 0!important;border-radius:var(--pe-radius) var(--pe-radius) 0 0}
  .pe-dialog form{max-height:calc(100dvh - 12px)}
  @keyframes pe-in{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
  .pe-head{padding:20px 56px 16px 18px;gap:14px;align-items:flex-start}
  .pe-avatar{width:68px;height:68px;flex-basis:68px;font-size:22px}
  .pe-body{padding:4px 14px 18px}
  .pe-section{padding:14px}
  .pe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pe-span-1{grid-column:span 1}
  .pe-span-2,.pe-span-3,.pe-span-4,.pe-span-5,.pe-span-6{grid-column:span 2}
  .pe-switch{padding-top:0}
  .pe-field.pe-small{grid-column:span 1}
  .pe-foot{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
  .pe-btn{padding:0 16px}
  .pe-col-office,.pe-table th:nth-child(3){display:none}
}
