/* ══════════════════════════════════════
   KPI BAR
══════════════════════════════════════ */
.kpi-bar{
  height:var(--kpi-h);flex-shrink:0;
  background:var(--white);border-bottom:1px solid var(--line);
  display:flex;align-items:stretch;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.kpi-bar::-webkit-scrollbar{display:none;}

.kpi-cell{
  display:flex;align-items:center;gap:12px;
  padding:0 20px;border-right:1px solid var(--line);
  flex-shrink:0;min-width:0;
}
.kpi-cell:last-of-type{border-right:none;}
.kpi-icon{
  width:30px;height:30px;border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.kpi-icon svg{width:14px;height:14px;}
.kpi-num{
  font-family:'Instrument Sans',sans-serif;font-size:18px;font-weight:500;
  line-height:1;color:var(--ink);white-space:nowrap;
}
.kpi-lbl{
  font-size:9px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--muted);font-family:'Syne',sans-serif;font-weight:700;
  margin-top:1px;white-space:nowrap;
}
.kpi-sep{flex-shrink:0;margin-left:auto;}
.vert-pill{
  display:flex;align-items:center;gap:7px;
  padding:5px 12px;border-radius:100px;
  border:1px solid var(--line);white-space:nowrap;flex-shrink:0;
  margin:auto 16px;
}
.vert-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.vert-pill-name{font-family:'Syne',sans-serif;font-size:10px;font-weight:700;color:var(--ink);}

/* ══════════════════════════════════════
   FILTER BAR
══════════════════════════════════════ */
.filter-bar{
  display:flex;align-items:center;gap:4px;
  padding:6px 16px;flex-shrink:0;
}
.filter-btn{
  font-family:'Syne',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;
  padding:5px 14px;border-radius:100px;
  border:1px solid var(--line);background:transparent;
  color:var(--muted);cursor:pointer;transition:all .2s;
}
.filter-btn:hover{border-color:var(--amber);color:var(--amber);}
.filter-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}

/* ══════════════════════════════════════
   BOARD (COLUMNS)
══════════════════════════════════════ */
.board-wrap{
  flex:1;overflow-x:auto;overflow-y:hidden;
  padding:16px;display:flex;gap:12px;align-items:flex-start;
  -webkit-overflow-scrolling:touch;
}
.board-wrap::-webkit-scrollbar{height:16px;}
.board-wrap::-webkit-scrollbar-track{background:var(--bg2);border-radius:6px;}
.board-wrap::-webkit-scrollbar-thumb{background:var(--muted);border-radius:6px;border:2px solid var(--bg2);}
.board-wrap::-webkit-scrollbar-thumb:hover{background:var(--ink2);}

.col{
  width:264px;flex-shrink:0;
  display:flex;flex-direction:column;max-height:100%;
  background:var(--bg2);border-radius:var(--r);
  border:1px solid var(--line);overflow:hidden;
}
.col-head{
  padding:12px 14px 10px;display:flex;align-items:center;gap:8px;
  border-bottom:1px solid var(--line);flex-shrink:0;background:var(--bg2);
}
.col-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.col-name{
  font-family:'Syne',sans-serif;font-size:11px;font-weight:700;
  color:var(--ink2);letter-spacing:.3px;flex:1;
}
.col-count{
  font-family:'Syne',sans-serif;font-size:10px;font-weight:800;
  color:var(--muted);background:var(--white);
  padding:1px 7px;border-radius:100px;border:1px solid var(--line);
  min-width:20px;text-align:center;
}
.col-blocked .col-name{color:var(--red);}
.col-blocked .col-dot{background:var(--red)!important;}

.col-body{
  flex:1;overflow-y:auto;padding:8px;
  display:flex;flex-direction:column;gap:7px;min-height:72px;
}
.col-body::-webkit-scrollbar{width:3px;}
.col-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px;}
.col-body.drag-over{
  background:rgba(217,123,43,.05);border-radius:var(--r);
  outline:1.5px dashed rgba(217,123,43,.3);
}

.col-add{padding:6px 8px 8px;flex-shrink:0;}
.add-card-btn{
  width:100%;display:flex;align-items:center;gap:7px;
  padding:9px 11px;border-radius:var(--r);
  border:1px dashed rgba(14,14,12,.12);background:transparent;
  font-family:'Syne',sans-serif;font-size:10px;font-weight:700;
  color:var(--muted);letter-spacing:.5px;cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
  min-height:36px;-webkit-appearance:none;
}
.add-card-btn:hover,.add-card-btn:active{border-color:var(--amber);color:var(--amber);background:var(--amber-bg);}
.add-card-btn svg{width:12px;height:12px;flex-shrink:0;}

/* ══════════════════════════════════════
   CARD
══════════════════════════════════════ */
.card{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--r);padding:12px 12px 10px;
  cursor:pointer;position:relative;overflow:hidden;
  user-select:none;-webkit-user-select:none;
  transition:box-shadow .2s,border-color .2s;
}
.card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  border-radius:3px 0 0 3px;
}
.card.dragging{opacity:.5;box-shadow:0 8px 24px rgba(14,14,12,.18);}
.card:active{box-shadow:0 2px 8px rgba(14,14,12,.08);}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:8px;}
.card-title{
  font-family:'Syne',sans-serif;font-size:12px;font-weight:700;
  color:var(--ink);letter-spacing:-.2px;line-height:1.3;flex:1;
}

.card-desc{font-size:11px;font-weight:300;color:var(--muted);line-height:1.5;margin-bottom:9px;}
.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;}
.card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.meta-due{
  display:flex;align-items:center;gap:3px;
  font-size:10px;color:var(--muted);font-family:'Syne',sans-serif;font-weight:600;
}
.meta-due.overdue{color:var(--red);}
.meta-due svg{width:10px;height:10px;}
.meta-assign{margin-left:auto;}
.meta-cost{
  font-family:'Instrument Sans',sans-serif;font-size:10px;font-weight:500;
  color:var(--green);background:rgba(58,122,82,.08);padding:2px 7px;border-radius:100px;
}
.vote-strip{
  margin-top:8px;padding-top:8px;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:7px;
}
.vote-label{
  font-family:'Syne',sans-serif;font-size:8px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--amber);flex-shrink:0;
}
.vote-bar-wrap{flex:1;height:3px;background:var(--line);border-radius:2px;overflow:hidden;}
.vote-bar-fill{height:100%;border-radius:2px;transition:width .5s;}
.vote-pct{font-family:'Instrument Sans',sans-serif;font-size:9px;font-weight:500;color:var(--amber);}

/* ══════════════════════════════════════
   ACTIVITY STRIP (desktop only)
══════════════════════════════════════ */
.activity-strip{
  height:32px;flex-shrink:0;background:var(--ink);
  border-top:1px solid rgba(255,255,255,.05);
  display:flex;align-items:center;padding:0 20px;gap:20px;
  overflow:hidden;position:relative;
}
.activity-strip::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:80px;
  background:linear-gradient(to left,var(--ink),transparent);pointer-events:none;
}
.activity-item{
  font-size:10px;color:rgba(247,246,242,.3);
  font-family:'Instrument Sans',sans-serif;
  white-space:nowrap;display:flex;align-items:center;gap:5px;
}
.activity-item strong{color:rgba(247,246,242,.6);font-weight:500;}
.activity-dot{width:3px;height:3px;border-radius:50%;background:var(--amber);flex-shrink:0;}
.activity-lbl{
  font-family:'Syne',sans-serif;font-size:7px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:rgba(247,246,242,.2);flex-shrink:0;
}

/* ══════════════════════════════════════
   DETAIL PANEL OVERLAY
══════════════════════════════════════ */
.overlay{
  position:fixed;inset:0;background:rgba(14,14,12,.5);
  z-index:500;display:none;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.overlay.open{display:block;}
.overlay-bg{position:absolute;inset:0;}

.detail-panel{
  position:absolute;right:0;top:0;bottom:0;
  width:min(480px,100vw);
  background:var(--white);
  border-left:1px solid var(--line);
  display:flex;flex-direction:column;
  overflow:hidden;
  animation:slideInR .28s cubic-bezier(.4,0,.2,1);
}
@keyframes slideInR{from{transform:translateX(100%);}to{transform:translateX(0);}}

.dp-head{
  padding:16px 20px 14px;border-bottom:1px solid var(--line);flex-shrink:0;
  position:relative;
}
.dp-eye{
  font-family:'Syne',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--amber);
  display:flex;align-items:center;gap:7px;margin-bottom:8px;
}
.dp-eye::before{content:'';width:12px;height:2px;background:var(--amber);}
.dp-title{
  font-family:'Syne',sans-serif;font-size:19px;font-weight:800;
  letter-spacing:-.6px;color:var(--ink);margin-bottom:10px;line-height:1.2;
  padding-right:36px;
}
.dp-meta-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.dp-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;border-radius:var(--r);
  background:var(--bg2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.dp-close svg{width:14px;height:14px;stroke:var(--muted);}

.dp-body{flex:1;overflow-y:auto;padding:16px 20px;-webkit-overflow-scrolling:touch;}
.dp-body::-webkit-scrollbar{width:3px;}
.dp-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px;}

.dp-section{margin-bottom:20px;}
.dp-lbl{
  font-family:'Syne',sans-serif;font-size:8px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;
}
.dp-desc{
  font-size:13px;font-weight:300;color:var(--ink2);line-height:1.7;
  background:var(--bg2);border-radius:var(--r);padding:12px 14px;border:1px solid var(--line);
}
.dp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.dp-field{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;}
.dp-field-k{font-family:'Syne',sans-serif;font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}
.dp-field-v{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:500;color:var(--ink);}
.dp-field-v.amber{color:var(--amber);}
.dp-field-v.green{color:var(--green);}

/* Vote panel */
.vote-panel{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:14px;}
.vote-panel-title{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:10px;}
.vote-prog-wrap{margin-bottom:12px;}
.vote-prog-row{display:flex;justify-content:space-between;margin-bottom:5px;}
.vote-prog-row span{font-family:'Instrument Sans',sans-serif;font-size:9px;font-weight:500;color:var(--muted);}
.vote-prog-track{height:5px;background:var(--line);border-radius:3px;overflow:hidden;}
.vote-prog-fill{height:100%;border-radius:3px;transition:width .5s;}
.vote-btns{display:flex;gap:6px;}
.vote-btn{
  flex:1;padding:10px 6px;border-radius:var(--r);
  border:1px solid var(--line);background:var(--white);
  font-family:'Syne',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.3px;cursor:pointer;transition:all .2s;min-height:40px;
  -webkit-appearance:none;
}
.vote-btn.approve:active,.vote-btn.approve.selected{background:var(--green);border-color:var(--green);color:var(--white);}
.vote-btn.reject:active,.vote-btn.reject.selected{background:var(--red);border-color:var(--red);color:var(--white);}
.vote-btn.abstain:active,.vote-btn.abstain.selected{background:var(--muted);border-color:var(--muted);color:var(--white);}
.vote-cast-msg{margin-top:8px;font-size:11px;color:var(--muted);font-family:'Syne',sans-serif;font-weight:600;text-align:center;}

/* Move-to selector (mobile tap-to-move) */
.move-to-wrap{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;}
.move-to-label{font-family:'Syne',sans-serif;font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.move-to-grid{display:flex;flex-wrap:wrap;gap:6px;}
.move-to-btn{
  font-family:'Syne',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:.5px;padding:7px 12px;border-radius:100px;
  border:1px solid var(--line);background:var(--white);
  cursor:pointer;transition:all .2s;-webkit-appearance:none;
  min-height:32px;
}
.move-to-btn:active,.move-to-btn.current-col{background:var(--amber);border-color:var(--amber);color:var(--white);}

/* Comments */
.comment-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.comment-item{display:flex;gap:8px;align-items:flex-start;}
.comment-body{flex:1;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;}
.comment-author{font-family:'Syne',sans-serif;font-size:10px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.comment-text{font-size:12px;font-weight:300;color:var(--ink2);line-height:1.5;}
.comment-time{font-size:9px;color:var(--muted);margin-top:2px;font-family:'Syne',sans-serif;}
.comment-input-row{display:flex;gap:7px;}
.comment-input{
  flex:1;padding:10px 12px;
  background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);
  font-family:'Instrument Sans',sans-serif;font-size:14px;color:var(--ink);
  outline:none;transition:border-color .2s;
}
.comment-input:focus{border-color:var(--amber);}
.comment-submit{
  padding:10px 14px;border-radius:var(--r);
  background:var(--ink);border:none;cursor:pointer;
  font-family:'Syne',sans-serif;font-size:10px;font-weight:700;
  color:var(--bg);letter-spacing:.5px;transition:background .2s;
  min-height:40px;-webkit-appearance:none;
}
.comment-submit:active{background:var(--amber);}

/* ══════════════════════════════════════
   CREATE CARD — BOTTOM SHEET on mobile, centered modal on desktop
══════════════════════════════════════ */
.create-overlay{
  position:fixed;inset:0;background:rgba(14,14,12,.5);
  z-index:600;display:none;align-items:flex-end;justify-content:center;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.create-overlay.open{display:flex;}
.create-modal{
  background:var(--white);width:100%;
  max-height:92dvh;overflow-y:auto;
  border-radius:12px 12px 0 0;
  animation:sheetUp .28s cubic-bezier(.4,0,.2,1);
  position:relative;-webkit-overflow-scrolling:touch;
  padding-bottom:var(--safe-b);
}
@keyframes sheetUp{from{transform:translateY(100%);}to{transform:translateY(0);}}

.cm-drag-handle{
  width:36px;height:4px;border-radius:2px;
  background:var(--line);margin:10px auto 0;
}
.cm-head{padding:16px 20px 14px;border-bottom:1px solid var(--line);}
.cm-title{font-family:'Syne',sans-serif;font-size:17px;font-weight:800;letter-spacing:-.5px;margin-bottom:3px;}
.cm-sub{font-size:12px;color:var(--muted);font-weight:300;}
.cm-close{
  position:absolute;top:14px;right:14px;
  width:30px;height:30px;border-radius:var(--r);
  background:var(--bg2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.cm-close svg{width:13px;height:13px;stroke:var(--muted);}
.cm-body{padding:16px 20px;}
.cm-field{margin-bottom:14px;}
.cm-label{
  font-family:'Syne',sans-serif;font-size:8px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--muted);
  margin-bottom:6px;display:block;
}
.cm-label .req{color:var(--amber);}
.cm-input,.cm-select,.cm-textarea{
  width:100%;padding:11px 14px;
  background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);
  font-family:'Instrument Sans',sans-serif;font-size:16px;color:var(--ink);
  outline:none;transition:border-color .2s;appearance:none;-webkit-appearance:none;
}
.cm-input:focus,.cm-select:focus,.cm-textarea:focus{border-color:var(--amber);}
.cm-textarea{resize:none;min-height:72px;line-height:1.6;}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cm-footer{
  padding:14px 20px;border-top:1px solid var(--line);
  display:flex;gap:8px;
}
.cm-cancel{
  flex:1;padding:12px;border-radius:var(--r);
  border:1px solid var(--line);background:transparent;
  font-family:'Syne',sans-serif;font-size:11px;font-weight:700;
  color:var(--muted);cursor:pointer;letter-spacing:.5px;
  -webkit-appearance:none;
}
.cm-create{
  flex:2;padding:12px;border-radius:var(--r);
  background:var(--ink);border:none;
  font-family:'Syne',sans-serif;font-size:11px;font-weight:700;
  color:var(--bg);cursor:pointer;letter-spacing:.5px;
  transition:background .2s;-webkit-appearance:none;
}
.cm-create:active{background:var(--amber);}

/* ══════════════════════════════════════
   LIST VIEW
══════════════════════════════════════ */
.list-view{
  padding:16px;overflow-x:auto;
}
.list-table{
  width:100%;border-collapse:collapse;
  font-size:13px;
}
.list-table thead{
  position:sticky;top:0;z-index:2;
}
.list-table th{
  font-family:'Syne',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;color:var(--muted);
  padding:10px 12px;text-align:left;
  background:var(--bg2);border-bottom:1px solid var(--line);
  white-space:nowrap;user-select:none;
}
.lt-sortable{ cursor:pointer; }
.lt-sortable:hover{ color:var(--ink); }
.lt-sort-icon{ font-size:10px;opacity:.4;margin-left:2px; }
.list-table td{
  padding:12px;border-bottom:1px solid var(--line);
  vertical-align:middle;
}
.list-table tbody tr{
  cursor:pointer;transition:background .15s;
}
.list-table tbody tr:hover{ background:rgba(14,14,12,.02); }
.lt-title{
  font-weight:500;color:var(--ink);max-width:280px;
}
.lt-desc{
  font-size:11px;color:var(--muted);margin-top:2px;
  max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lt-col-badge{
  font-family:'Syne',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:.5px;padding:4px 10px;border-radius:100px;
  display:inline-block;white-space:nowrap;
}
.lt-prio{
  font-family:'Syne',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:.5px;padding:4px 8px;border-radius:4px;
  display:inline-block;
}
.lt-cost{ font-weight:500;color:#3a7a52;white-space:nowrap; }
.lt-roi{ color:var(--amber);font-weight:500; }
.lt-date{ white-space:nowrap;font-size:12px;color:var(--muted); }
.lt-date.overdue{ color:var(--red);font-weight:500; }
.lt-empty{
  text-align:center;padding:60px 20px;color:var(--muted);font-size:14px;
}

/* ══════════════════════════════════════
   MOBILE BREAKPOINT  <= 768px
══════════════════════════════════════ */
@media(max-width:768px){
  /* nav */
  .hamburger{display:flex;}
  .nav-bread{display:none;}
  .user-menu{display:none;}
  .notif-panel{ width:calc(100vw - 32px);right:-40px; }
  .btn-new-label{display:none;}
  .btn-new{padding:8px 10px;}

  /* sidebar hidden, drawer takes over */
  .sidebar{display:none;}

  /* kpi bar — compact, horizontal scroll */
  .kpi-bar{height:52px;}
  .kpi-cell{padding:0 14px;}
  .kpi-num{font-size:16px;}
  .kpi-lbl{font-size:8px;}
  .vert-pill{display:none;}

  /* columns narrower on mobile */
  .col{width:82vw;max-width:300px;}

  /* detail panel — full width */
  .detail-panel{
    width:100%;border-left:none;border-top:1px solid var(--line);
    position:absolute;left:0;right:0;top:0;bottom:0;
    animation:slideInR .28s cubic-bezier(.4,0,.2,1);
  }

  /* create modal — already bottom sheet */
  .create-modal{border-radius:12px 12px 0 0;}

  /* hide activity strip */
  .activity-strip{display:none;}

  /* show bottom nav */
  .bottom-nav{display:flex;}

  /* toast above bottom nav */
  .toast-wrap{bottom:calc(var(--bot-h) + 12px + var(--safe-b));}

  /* board padding */
  .board-wrap{padding:12px;}

  /* cm-row stacks on very small screens */
}
@media(max-width:380px){
  .cm-row{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════
   DESKTOP OVERRIDES  > 768px
══════════════════════════════════════ */
@media(min-width:769px){
  .topnav{padding:0 24px;}
  .create-overlay{align-items:center;}
  .create-modal{
    width:480px;max-height:90vh;border-radius:8px;
    animation:popIn .22s cubic-bezier(.4,0,.2,1);
    padding-bottom:0;
  }
  @keyframes popIn{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:scale(1);}}
  .cm-drag-handle{display:none;}
  .vote-btn:hover{opacity:.9;}
  .vote-btn.approve:hover{background:var(--green);border-color:var(--green);color:var(--white);}
  .vote-btn.reject:hover{background:var(--red);border-color:var(--red);color:var(--white);}
  .vote-btn.abstain:hover{background:var(--muted);border-color:var(--muted);color:var(--white);}
  .card{cursor:grab;}
  .card.dragging{cursor:grabbing;}
  .card:hover{border-color:rgba(14,14,12,.18);box-shadow:0 3px 10px rgba(14,14,12,.06);}
}
