/* ===================== DETAIL PANEL ===================== */
.det{
  position:fixed;bottom:28px;left:186px;right:300px;
  background:var(--bg2);border:1px solid var(--bdr);border-top:2px solid var(--purple);
  border-radius:0 0 10px 10px;padding:14px 18px;display:flex;gap:14px;align-items:flex-start;
  transform:translateY(calc(100% + 28px));transition:transform .3s;z-index:80
}
.det.vis{transform:translateY(0)}
@media(max-width:900px){.det{left:0;right:0;border-radius:0;bottom:28px}}
@media(max-width:768px){.det{bottom:52px}}
.det-spr{flex-shrink:0;image-rendering:pixelated}
.det-info{flex:1;min-width:0}
.det-name{font-size:15px;font-weight:800;margin-bottom:2px}
.det-pos{font-size:11px;color:var(--cyan);margin-bottom:8px;font-family:'Noto Sans Lao',sans-serif}
.duties{display:flex;flex-wrap:wrap;gap:5px}
.duty{font-size:9px;padding:3px 8px;border-radius:10px;background:var(--bg3);
  border:1px solid var(--bdr);color:var(--txt1);font-family:'Noto Sans Lao',sans-serif}
.det-acts{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
.da{padding:7px 14px;border-radius:7px;border:none;font-size:11px;cursor:pointer;transition:.2s;font-weight:600}
.da-chat{background:var(--purple);color:#fff}.da-chat:hover{background:var(--purple2)}
.da-ai{background:var(--cyan);color:#000}.da-ai:hover{filter:brightness(1.1)}
.da-close{background:var(--bg3);color:var(--txt1);border:1px solid var(--bdr)}.da-close:hover{background:var(--bg4)}

/* ===================== NOTIFICATION ===================== */
.notif{
  position:fixed;top:58px;right:12px;background:var(--bg2);border:1px solid var(--bdr);
  border-left:3px solid var(--cyan);border-radius:8px;padding:9px 14px;font-size:11px;
  z-index:800;animation:nin .3s ease;max-width:280px;pointer-events:none
}
@keyframes nin{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes nout{from{opacity:1}to{opacity:0;transform:translateX(110%)}}

/* ===================== PERSON PANEL ===================== */
.person-panel{
  position:fixed;right:0;top:50px;bottom:28px;width:360px;
  background:var(--bg1);border-left:2px solid var(--purple);
  display:flex;flex-direction:column;z-index:200;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:-8px 0 32px rgba(0,0,0,.5);
}
.person-panel.open{transform:translateX(0)}
@media(max-width:768px){
  .person-panel{width:100%;left:0;top:50px;border-left:none;border-top:2px solid var(--purple)}
}
.pp-hdr{
  padding:12px 14px;border-bottom:1px solid var(--bdr);
  display:flex;align-items:flex-start;gap:10px;flex-shrink:0;
  background:var(--bg2);
}
.pp-emoji{font-size:28px;line-height:1}
.pp-info{flex:1;min-width:0}
.pp-name{font-size:13px;font-weight:800;color:var(--txt0)}
.pp-lao{font-size:10px;color:var(--cyan);font-family:'Noto Sans Lao',sans-serif;margin-top:1px}
.pp-status{font-size:9px;font-weight:700;margin-top:4px}
.pp-close-btn{
  background:none;border:none;color:var(--txt2);cursor:pointer;
  font-size:18px;padding:2px;line-height:1;transition:.2s;flex-shrink:0;
}
.pp-close-btn:hover{color:var(--orange)}
.pp-tabs{
  display:flex;border-bottom:1px solid var(--bdr);flex-shrink:0;background:var(--bg1);
}
.pp-tab{
  flex:1;padding:8px 4px;text-align:center;font-size:10px;font-weight:600;
  color:var(--txt2);cursor:pointer;transition:.2s;border:none;background:none;
  border-bottom:2px solid transparent;
}
.pp-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}
.pp-tab:hover:not(.active){color:var(--txt0);background:var(--bg2)}
.pp-tab-content{display:none;flex:1;overflow-y:auto;flex-direction:column}
.pp-tab-content.active{display:flex}

/* Task tab */
.task-form{padding:12px;border-bottom:1px solid var(--bdr);background:var(--bg2);flex-shrink:0}
.task-form-title{font-size:10px;font-weight:700;color:var(--txt1);margin-bottom:8px;
  font-family:'Press Start 2P';font-size:8px}
.task-inp{
  width:100%;background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;
  padding:8px 10px;color:var(--txt0);font-size:12px;outline:none;
  font-family:'Noto Sans Lao','Inter',sans-serif;margin-bottom:6px;transition:.2s;
}
.task-inp:focus{border-color:var(--purple)}
.task-inp-textarea{min-height:50px;resize:vertical}
.task-form-row{display:flex;gap:6px}
.task-select{
  background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;
  padding:7px 10px;color:var(--txt0);font-size:11px;outline:none;flex:1;
}
.task-assign-btn{
  background:var(--purple);border:none;color:#fff;border-radius:7px;
  padding:7px 14px;font-size:11px;font-weight:700;cursor:pointer;transition:.2s;
  white-space:nowrap;
}
.task-assign-btn:hover{background:var(--purple2)}
.task-assign-btn:disabled{opacity:.5;cursor:not-allowed}
.task-list-wrap{flex:1;overflow-y:auto;padding:8px}
.task-card{
  background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;
  padding:10px 12px;margin-bottom:6px;border-left-width:3px;border-left-style:solid;
  transition:.2s;
}
.task-card:hover{border-color:var(--bdr2);background:var(--bg3)}
.task-card-title{font-size:12px;font-weight:700;color:var(--txt0);margin-bottom:4px;
  line-height:1.4;word-break:break-word}
.task-card-desc{font-size:10px;color:var(--txt1);margin-bottom:6px;
  font-family:'Noto Sans Lao',sans-serif;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.task-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.task-badge{
  font-size:9px;padding:2px 7px;border-radius:10px;
  border:1px solid;font-weight:600;white-space:nowrap;
}
.task-by{font-size:9px;color:var(--txt2);margin-left:auto}
.task-card-actions{display:flex;gap:4px;margin-top:7px}
.task-btn{
  font-size:9px;padding:3px 10px;border-radius:5px;border:1px solid var(--bdr);
  background:var(--bg3);color:var(--txt1);cursor:pointer;transition:.2s;
}
.task-btn:hover{background:var(--bg4);color:var(--txt0)}
.task-btn.done-btn{background:rgba(34,197,94,.1);border-color:#22c55e;color:#22c55e}
.task-btn.done-btn:hover{background:rgba(34,197,94,.2)}

/* WhatsApp tab */
.wa-panel{padding:14px;flex:1}
.wa-title{font-family:'Press Start 2P';font-size:8px;color:var(--cyan);margin-bottom:10px}
.wa-current{
  background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;
  padding:10px 12px;margin-bottom:12px;font-size:12px;
}
.wa-desc{
  font-size:10px;color:var(--txt2);line-height:1.6;margin-bottom:14px;
  font-family:'Noto Sans Lao',sans-serif;
  background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;padding:10px;
}
.wa-inp-label{font-size:10px;color:var(--txt2);margin-bottom:4px;display:block}
.wa-save-btn{
  width:100%;background:var(--green);border:none;color:#fff;border-radius:8px;
  padding:10px;font-size:12px;font-weight:700;cursor:pointer;transition:.2s;margin-top:10px;
}
.wa-save-btn:hover{filter:brightness(1.1)}
.wa-save-btn:disabled{opacity:.5;cursor:not-allowed}
.wa-badge{
  display:inline-flex;align-items:center;gap:5px;background:rgba(37,211,102,.1);
  border:1px solid rgba(37,211,102,.3);color:#25d166;border-radius:6px;
  padding:4px 10px;font-size:10px;font-weight:600;margin-top:6px;
}

/* DM in person panel */
.pp-chat-wrap{display:flex;flex-direction:column;flex:1;overflow:hidden}
.pp-chat-msgs{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px}
.pp-chat-inp-row{padding:8px;border-top:1px solid var(--bdr);display:flex;gap:6px;flex-shrink:0}

/* ─── Dept Room Chat Buttons ──────────────────────────────── */
.dept-room-btn{
  background:var(--bg3);border:1.5px solid var(--bdr);border-radius:7px;
  font-size:14px;width:32px;height:32px;cursor:pointer;transition:.15s;
  display:flex;align-items:center;justify-content:center;
}
.dept-room-btn:hover{background:var(--bg4);border-color:var(--bdr2)}
.dept-room-btn.act{
  background:rgba(124,58,237,.15);border-color:var(--purple);
  box-shadow:0 0 8px rgba(124,58,237,.3);
}
