/* board.css — Agiles Board (Spalten, Ticket-Karten) + Ticket-Detail-Modal
   (Kommentare, Aktivität, Likes, Tags). Gehört zu static/app_board.js. */

#boardView .bv-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
#boardView .bv-toolbar select{width:auto;min-width:160px;}
#boardView .bv-toolbar input{max-width:260px;}

/* Fällige System-Aufgaben (dieselbe Quelle wie die Kalender-Sidebar-Karte, hier
   vollständig, nach Event gruppiert) — collapsible, standardmäßig eingeklappt. */
.bv-tasks{border:1px solid var(--warn);border-radius:12px;margin-bottom:14px;overflow:hidden;
          background:var(--warn-bg);}
.bv-tasks-head{width:100%;display:flex;align-items:center;gap:9px;padding:10px 14px;
               background:transparent;border:none;box-shadow:none;font-weight:700;font-size:13px;
               color:var(--warn);text-align:left;}
.bv-tasks-head .badge{background:var(--warn);color:#1a1400;}
.bv-tasks-chevron{margin-left:auto;transition:transform .15s;}
.bv-tasks.open .bv-tasks-chevron{transform:rotate(180deg);}
.bv-tasks-body{display:none;padding:0 14px 12px;gap:12px;flex-wrap:wrap;}
.bv-tasks.open .bv-tasks-body{display:flex;}
.bv-tg{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 11px;
       min-width:180px;flex:1 1 200px;}
.bv-tg-title{font-weight:700;font-size:12.5px;margin-bottom:4px;}
.bv-tg ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;}
.bv-tg li{font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;}
.bv-tg-due{font-family:var(--mono);font-size:9.5px;color:var(--faint);white-space:nowrap;}
#boardView .bv-cols{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:10px;
                    scroll-snap-type:x proximity;}
.bv-col{background:var(--panel);border:1px solid var(--line);border-radius:14px;
        width:280px;flex:none;display:flex;flex-direction:column;max-height:calc(100vh - 220px);
        scroll-snap-align:start;}
.bv-col.dragover{border-color:var(--accent);background:var(--accent-weak);}
.bv-col-head{display:flex;align-items:center;gap:7px;padding:12px 12px 8px;}
.bv-col-head .n{font-weight:700;font-size:13px;}
.bv-col-head .c{font-family:var(--mono);font-size:10.5px;color:var(--faint);
                background:var(--bg);border-radius:999px;padding:1px 7px;}
.bv-col-head .menu{margin-left:auto;background:none;border:none;box-shadow:none;color:var(--faint);
                   font-size:15px;padding:2px 6px;line-height:1;}
.bv-col-body{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px;overflow-y:auto;min-height:40px;flex:1;}
.bv-add-card{border:1px dashed var(--line);border-radius:10px;background:none;color:var(--faint);
             font-size:12px;padding:8px;margin:0 10px 10px;text-align:left;}
.bv-add-card:hover{border-color:var(--accent);color:var(--accent);}
.bv-add-col{background:none;border:1px dashed var(--line);border-radius:14px;width:200px;flex:none;
           color:var(--faint);font-size:13px;align-self:flex-start;padding:12px;min-height:60px;}
.bv-add-col:hover{border-color:var(--accent);color:var(--accent);}
@media (max-width:640px){
  .bv-col{width:86vw;}
  .bv-add-col{width:60vw;}
}

.tcard{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 10px;
      cursor:grab;text-align:left;}
.tcard:hover{border-color:var(--accent);}
.tcard:active{cursor:grabbing;}
.tcard .tid{font-family:var(--mono);font-size:10.5px;color:var(--faint);}
.tcard .ttitle{font-size:13px;font-weight:600;margin:3px 0 7px;line-height:1.35;}
.tcard .tmeta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.tbadge{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;
       padding:2px 7px;border-radius:999px;background:var(--line2);color:var(--muted);}
.tprio{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--muted);}
.tprio .dot{width:7px;height:7px;border-radius:50%;flex:none;}
.tprio.p-niedrig .dot{background:var(--faint);}
.tprio.p-normal .dot{background:var(--accent);}
.tprio.p-hoch .dot{background:var(--warn);}
.tprio.p-kritisch .dot{background:var(--crit);}
.tavatar{width:19px;height:19px;border-radius:50%;background:var(--accent2-weak);color:var(--accent2);
         font-size:9.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;
         font-family:var(--mono);flex:none;}
.tcounts{margin-left:auto;display:flex;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--faint);}
.ttags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;}
.ttag{font-family:var(--mono);font-size:9.5px;color:var(--accent);background:var(--accent-weak);
     padding:1px 7px;border-radius:999px;}
.tevbadge{font-size:10px;color:var(--muted);background:var(--line2);border-radius:999px;padding:1px 7px;
         font-family:var(--mono);}
.tc-locked{font-size:11.5px;color:var(--warn);background:var(--warn-bg);border-radius:8px;
          padding:7px 10px;margin:10px 0;}
.tc-audit{font-size:11px;color:var(--faint);margin:6px 0 2px;}
.tc-likebar{display:flex;align-items:center;gap:10px;margin:12px 0;}
.tc-likebar.hide{display:none;}
.tc-like{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:6px 11px;}
.tc-like.on{border-color:var(--crit);color:var(--crit);}
.tc-tageditor{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;}
.tc-tageditor .ttag{display:inline-flex;align-items:center;gap:5px;}
.tc-tageditor .ttag button{background:none;border:none;box-shadow:none;color:inherit;padding:0;
                            font-size:12px;line-height:1;}
.tc-tageditor input{width:120px;padding:5px 8px;font-size:12px;}
#ticketComments{margin-top:16px;border-top:1px solid var(--line2);padding-top:14px;}
#ticketComments h4,#ticketActivity h4{margin:0 0 8px;font-size:.95rem;font-weight:700;}
.tcomment{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:7px;font-size:12.5px;}
.tcomment .who{font-weight:600;margin-right:6px;}
.tcomment .when{font-family:var(--mono);font-size:10px;color:var(--faint);}
.tcomment .body{margin-top:4px;white-space:pre-wrap;}
.tc-addcomment{display:flex;gap:8px;margin-top:8px;align-items:flex-end;}
.tc-addcomment textarea{min-height:38px;}
#ticketActivity{margin-top:14px;}
#ticketActivity ul{margin:6px 0 0;padding-left:18px;font-size:11.5px;color:var(--muted);}
#ticketActivity li{margin-bottom:3px;}
