/* ===== LIST VIEW ===== */
#view-list{flex-direction:column;overflow:hidden}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--c-border);flex-shrink:0;gap:12px;flex-wrap:wrap;background:var(--c-surface)}
.list-toolbar-left{display:flex;align-items:center;gap:10px}
.list-toolbar-right{display:flex;align-items:center;gap:8px}

/* Shared column grid: name | client | assigned | due | hours */
.list-col-grid{display:grid;grid-template-columns:minmax(220px,1fr) 180px 110px 110px 80px;align-items:center}

/* Sticky column header */
.list-col-header{position:sticky;top:0;z-index:10;background:var(--c-surface);border-bottom:1px solid var(--c-border);flex-shrink:0}
.list-col-header-inner{padding:0 20px}
.list-col-header .list-col-grid{padding:7px 0}
.list-col-label{font-size:11px;font-weight:600;color:var(--c-text3);text-transform:uppercase;letter-spacing:0.05em}

/* Scrollable body */
.list-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}

/* Group */
.list-group{border-bottom:1px solid var(--c-border)}
.list-group-header{display:flex;align-items:center;gap:8px;padding:8px 20px;background:var(--c-surface);cursor:pointer;user-select:none;border-bottom:1px solid var(--c-border)}
.list-group-header:hover{background:var(--c-surface2)}
.list-group-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px}
.list-group-name{font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:white;white-space:nowrap}
.list-group-count{font-size:11px;font-weight:600;color:white;background:rgba(255,255,255,0.25);border-radius:10px;padding:0 6px;flex-shrink:0}
.list-group-toggle{display:flex;align-items:center;color:var(--c-text3);transition:transform var(--tr);margin-left:auto;flex-shrink:0}
.list-group-toggle.collapsed{transform:rotate(-90deg)}

/* Rows */
.list-row{padding:0 20px;cursor:pointer;transition:background var(--tr);background:var(--c-surface)}
.list-row:hover{background:#F5F4FF}
.list-row-inner{border-bottom:1px solid var(--c-border);padding:6px 0}
.list-row-last .list-row-inner{border-bottom:none}

/* Cell content */
.list-cell-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.list-title{font-size:14px;font-weight:500;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-jobcode{font-family:var(--font-mono);font-size:11px;color:var(--c-text3)}
.list-client{font-size:13px;color:var(--c-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-assignees{display:flex}
.list-av{width:22px;height:22px;border-radius:50%;border:2px solid var(--c-surface);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:white;margin-left:-5px}
.list-av:first-child{margin-left:0}
.list-due{font-size:12px;color:var(--c-text3);white-space:nowrap}
.list-due.overdue{color:var(--c-red)}
.list-hours{font-family:var(--font-mono);font-size:12px;color:var(--c-text2)}

/* Add row */
.list-add-row{display:flex;align-items:center;gap:8px;padding:7px 20px;font-size:12px;color:var(--c-text3);cursor:pointer;transition:all var(--tr);background:var(--c-surface)}
.list-add-row:hover{background:var(--c-surface2);color:var(--c-text2)}
