  /* ---- Planificación: tableros, tabs, tablero de columnas, tarjetas ---- */
  .plan-toolbar{display:flex; align-items:center; justify-content:space-between; gap:.8rem; flex-wrap:wrap; margin-bottom:1.1rem;}
  .plan-board-tabs{display:flex; gap:.4rem; flex-wrap:wrap;}
  .plan-actor{display:flex; align-items:center; gap:.5rem; font-size:12.5px; color:var(--text-dim);}
  .plan-actor select{height:32px; border-radius:var(--radius-s); border:1px solid var(--border); background:var(--bg); color:var(--text); padding:0 .5rem; font-size:12.5px; font-family:inherit;}
  .kanban-board{display:flex; gap:.9rem; overflow-x:auto; padding-bottom:.6rem; align-items:flex-start;}
  .kanban-column{
    flex:none; width:270px; background:var(--bg-sunken); border:1px solid var(--border-soft);
    border-radius:var(--radius-m); display:flex; flex-direction:column; max-height:calc(100vh - 260px);
  }
  .kanban-column-head{display:flex; align-items:center; gap:.4rem; padding:.7rem .8rem .5rem;}
  .kanban-column-head .col-name{font-weight:600; font-size:13px; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .kanban-column-head .col-count{font-size:11.5px; color:var(--text-faint); background:var(--bg-elev); border-radius:var(--radius-s); padding:.05rem .4rem;}
  .kanban-column-actions{display:flex; gap:.15rem;}
  .kanban-column-actions button{
    width:22px; height:22px; border:none; background:none; color:var(--text-faint); cursor:pointer;
    display:flex; align-items:center; justify-content:center; border-radius:4px;
  }
  .kanban-column-actions button:hover{background:var(--bg-elev); color:var(--text);}
  .kanban-column-body{flex:1; overflow-y:auto; padding:.2rem .7rem .7rem; display:flex; flex-direction:column; gap:.55rem; min-height:40px;}
  .kanban-column-body.drag-over{background:var(--accent-soft); border-radius:var(--radius-s);}
  .kanban-card{
    background:var(--bg-elev); border:1px solid var(--border-soft); border-radius:var(--radius-s);
    padding:.65rem .7rem; cursor:grab; display:flex; flex-direction:column; gap:.4rem; box-shadow:0 1px 3px rgba(20,15,9,.08);
  }
  .kanban-card:hover{border-color:var(--accent);}
  .kanban-card.dragging{opacity:.4;}
  .kanban-card-title{font-size:13px; font-weight:600; color:var(--text); line-height:1.35;}
  .kanban-card-meta{display:flex; align-items:center; gap:.4rem; flex-wrap:wrap;}
  .kanban-card-footer{display:flex; align-items:center; gap:.7rem; font-size:11px; color:var(--text-faint);}
  .kanban-card-footer span{display:flex; align-items:center; gap:.2rem;}
  .kanban-add-card{
    border:1px dashed var(--border); background:none; color:var(--text-faint); border-radius:var(--radius-s);
    padding:.5rem; font-size:12.5px; text-align:left; cursor:pointer;
  }
  .kanban-add-card:hover{border-color:var(--accent); color:var(--accent-dark);}
  .kanban-add-column{
    flex:none; width:230px; border:1px dashed var(--border); background:none; color:var(--text-faint);
    border-radius:var(--radius-m); padding:.8rem; font-size:12.5px; align-self:flex-start; cursor:pointer;
  }
  .kanban-add-column:hover{border-color:var(--accent); color:var(--accent-dark);}
  .avatar-sm{
    width:22px; height:22px; border-radius:50%; background:var(--accent-soft); color:var(--accent-dark);
    font-size:9.5px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none;
  }
  .priority-dot{width:7px; height:7px; border-radius:50%; flex:none;}
  .priority-dot.p-baja{background:var(--good);}
  .priority-dot.p-media{background:var(--text-faint);}
  .priority-dot.p-alta{background:var(--warn);}
  .priority-dot.p-urgente{background:var(--bad);}
  .due-badge{font-size:11px; border-radius:var(--radius-s); padding:.05rem .4rem;}
  .due-normal{background:var(--bg-sunken); color:var(--text-dim);}
  .due-soon{background:var(--warn-soft); color:var(--warn);}
  .due-late{background:var(--bad-soft); color:var(--bad);}
  .plan-section{display:flex; flex-direction:column; gap:.55rem;}
  .plan-section h4{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--text-faint);}
  .plan-section-divider{border:none; border-top:1px solid var(--border-soft); margin:.2rem 0;}
  .checklist-item{display:flex; align-items:center; gap:.5rem; font-size:13px;}
  .checklist-item.done span{text-decoration:line-through; color:var(--text-faint);}
  .checklist-item button, .comment-item button, .attachment-item button, .link-item button{
    margin-left:auto; border:none; background:none; color:var(--text-faint); cursor:pointer; flex:none;
  }
  .checklist-item button:hover, .comment-item button:hover, .attachment-item button:hover, .link-item button:hover{color:var(--bad);}
  .checklist-progress{font-size:11.5px; color:var(--text-faint);}
  .inline-add-row{display:flex; gap:.5rem;}
  .inline-add-row input{flex:1; height:34px; border-radius:var(--radius-s); border:1px solid var(--border); background:var(--bg); padding:0 .6rem; font-size:13px; font-family:inherit; color:var(--text);}
  .comment-item, .attachment-item, .link-item, .historial-item{
    display:flex; gap:.5rem; align-items:flex-start; font-size:12.5px; padding:.5rem .6rem;
    background:var(--bg-sunken); border-radius:var(--radius-s);
  }
  .comment-item .meta, .attachment-item .meta, .historial-item .meta{color:var(--text-faint); font-size:11px;}
  .comment-item .who, .attachment-item .name{font-weight:600; color:var(--text);}
  .link-item a{color:var(--accent-dark); text-decoration:none;}
  .link-item a:hover{text-decoration:underline;}
  .historial-track{display:flex; flex-direction:column; gap:.4rem; max-height:220px; overflow-y:auto;}

  /* ---- Planificación: pantalla selectora de tablero ---- */
  .plan-page-head .plan-back-link{
    background:none; border:none; color:var(--text-faint); font-size:12.5px; display:flex; align-items:center;
    gap:.35rem; cursor:pointer; padding:0; margin-bottom:.5rem; font-family:inherit;
  }
  .plan-page-head .plan-back-link:hover{color:var(--accent-dark);}
  .plan-board-grid{display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:center; padding:2.5rem 0;}
  .plan-board-card{
    width:230px; min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:1rem; text-align:center; cursor:pointer;
  }
  .plan-board-card:hover{border-color:var(--accent);}
  .plan-board-icon{
    width:58px; height:58px; border-radius:50%; background:var(--accent-soft); color:var(--accent-dark);
    display:flex; align-items:center; justify-content:center;
  }
  .plan-board-card h3{font-family:var(--font-display); font-size:16px; letter-spacing:.04em; font-weight:600;}

  /* ---- Planificación: layout de trabajo (tablero + panel de filtros) ---- */
  .plan-workspace{display:flex; gap:1.1rem; align-items:flex-start;}
  .plan-workspace .kanban-board{flex:1; min-width:0;}
  .plan-filters-panel{
    flex:none; width:250px; background:var(--bg-elev); border:1px solid var(--border-soft);
    border-radius:var(--radius-m); padding:1rem; display:flex; flex-direction:column; gap:1rem;
  }
  .plan-filter-head{display:flex; align-items:center; justify-content:space-between; gap:.5rem;}
  .plan-filter-head h4{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--text-faint);}
  .plan-filtro-badge{font-size:10px; background:var(--accent-soft); color:var(--accent-dark); border-radius:var(--radius-s); padding:.15rem .5rem; white-space:nowrap;}
  .plan-filters-panel input[type="text"]{
    width:100%; height:34px; border-radius:var(--radius-s); border:1px solid var(--border); background:var(--bg);
    padding:0 .6rem; font-size:13px; font-family:inherit; color:var(--text); box-sizing:border-box;
  }
  .plan-stat{background:var(--bg-sunken); border-radius:var(--radius-s); padding:.7rem; text-align:center;}
  .plan-stat-value{font-family:var(--font-display); font-size:26px; font-weight:600; color:var(--accent-dark); line-height:1.1;}
  .plan-stat-label{font-size:11px; color:var(--text-faint); text-transform:uppercase; letter-spacing:.04em; margin-top:.15rem;}
  .col-final-tag{color:var(--good); display:flex; align-items:center; flex:none;}
  @media (max-width: 900px){
    .plan-workspace{flex-direction:column;}
    .plan-filters-panel{width:100%;}
  }

  /* Focus visibility */
  a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible{
    outline:2px solid var(--accent); outline-offset:2px;
  }
  @media (prefers-reduced-motion:reduce){ *{transition:none !important;} }
