/* Tasks (Task Allocation Register) upgrades — pairs with tasks-plus.js */

/* Overdue / due-soon rows: a coloured edge instead of a filled row */
body .dashboard-screen .alloc-table tr.ops-row-overdue,
body .dashboard-screen .alloc-table tr.ops-row-today,
body .dashboard-screen .alloc-table tr.ops-row-near{background:transparent!important}
body .dashboard-screen .alloc-table tr.ops-row-overdue td,
body .dashboard-screen .alloc-table tr.ops-row-today td,
body .dashboard-screen .alloc-table tr.ops-row-near td{background:transparent!important}
body .dashboard-screen .alloc-table tr td:first-child{border-left:3px solid transparent!important;padding-left:8px!important}
body .dashboard-screen .alloc-table tr.ops-row-overdue td:first-child{border-left-color:#c0392b!important}
body .dashboard-screen .alloc-table tr.ops-row-today td:first-child{border-left-color:#d9822b!important}
body .dashboard-screen .alloc-table tr.ops-row-near td:first-child{border-left-color:#e3b341!important}
body .dashboard-screen .alloc-table tbody tr:hover td{background:var(--row-hover,rgba(26,62,47,.05))!important}

/* Quieter cells: dropdowns and dates read as plain text until hovered or focused */
#tasksSection .alloc-table .alloc-inline-select,
#tasksSection .alloc-table .alloc-inline-date{
  border-color:transparent!important;background:transparent!important;color:inherit!important;
  -webkit-appearance:none;appearance:none;padding:3px 4px!important;cursor:pointer;width:auto;
  max-width:150px;border-radius:6px!important;
}
#tasksSection .alloc-table .alloc-inline-date::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}
#tasksSection .alloc-table tr:hover .alloc-inline-select,
#tasksSection .alloc-table tr:hover .alloc-inline-date,
#tasksSection .alloc-table .alloc-inline-select:focus,
#tasksSection .alloc-table .alloc-inline-date:focus{
  border-color:var(--border,#d0c9c0)!important;background:var(--input-bg,#fff)!important;
}
#tasksSection .alloc-table tr:hover .alloc-inline-date::-webkit-calendar-picker-indicator{opacity:.6}
#tasksSection .alloc-table td.tp-selcol,#tasksSection .alloc-table th.tp-selcol{
  width:36px!important;min-width:36px!important;max-width:36px!important;padding-left:8px!important;padding-right:4px!important;
}
#tasksSection .alloc-table td:nth-child(2){min-width:150px;max-width:200px;white-space:normal}

/* Colour-coded status */
#tasksSection .alloc-table .tp-pill,
.tp-pill{
  width:auto!important;max-width:none!important;background-image:none!important;
  display:inline-block;border-radius:999px!important;padding:3px 10px!important;font-size:.72rem!important;
  font-weight:700!important;border:1px solid transparent!important;white-space:nowrap;
  -webkit-appearance:none;appearance:none;cursor:pointer;
}
span.tp-pill{cursor:default}
#tasksSection .tp-pill[data-status="Received"],.tp-pill[data-status="Received"]{background:#ececec!important;color:#4a4a4a!important}
#tasksSection .tp-pill[data-status="Allocated"],.tp-pill[data-status="Allocated"]{background:#e6e3f5!important;color:#463a8c!important}
#tasksSection .tp-pill[data-status="In Progress"],.tp-pill[data-status="In Progress"]{background:#dceafa!important;color:#1d4f8a!important}
#tasksSection .tp-pill[data-status="Under Check"],.tp-pill[data-status="Under Check"]{background:#fbefd5!important;color:#8a5a00!important}
#tasksSection .tp-pill[data-status="Pending Approval"],.tp-pill[data-status="Pending Approval"]{background:#f7e2c4!important;color:#8a4b08!important}
#tasksSection .tp-pill[data-status="Delivered"],.tp-pill[data-status="Delivered"]{background:#dcf0e3!important;color:#1d6b44!important}
#tasksSection .tp-pill[data-status="On Hold"],.tp-pill[data-status="On Hold"]{background:#f8dcdc!important;color:#9b2c2c!important}
.tp-pill option{background:#fff;color:#1e1b18}

/* Task description and remarks: up to two lines, no hard cut */
.alloc-table .tp-desc{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  white-space:normal;min-width:180px;max-width:340px;line-height:1.35;
}

/* Client name opens the side panel */
.tp-client{border:0;background:none;padding:0;font:inherit;font-weight:700;color:inherit;text-align:left;cursor:pointer}
.tp-client:hover{text-decoration:underline}
.tp-open-btn{
  border:1px solid var(--border,#d0c9c0);background:var(--input-bg,#fff);color:var(--text,#1e1b18);
  border-radius:8px;padding:4px 12px;font-size:.75rem;font-weight:700;cursor:pointer;
}
.tp-open-btn:hover{background:var(--soft-bg,#eeeae3)}
.tp-selcol{width:30px;text-align:center}

/* Sortable headers */
.alloc-table th.tp-sortable{cursor:pointer;user-select:none;white-space:nowrap}
.alloc-table th.tp-sortable:hover{color:var(--accent,#1a3e2f)}
.alloc-table th.tp-sorted{color:var(--accent,#1a3e2f)}
.tp-arrow{font-size:.7em}

/* Toolbar */
.tp-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 8px}
.tp-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.tp-chip{
  border:1px solid var(--border,#d0c9c0);background:var(--input-bg,#fff);color:var(--text,#1e1b18);
  border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:600;cursor:pointer;
}
.tp-chip:hover{background:var(--soft-bg,#eeeae3)}
.tp-chip--on{background:var(--accent,#1a3e2f)!important;border-color:var(--accent,#1a3e2f);color:#fff!important}
.tp-export{
  border:1px solid var(--border,#d0c9c0);background:var(--input-bg,#fff);color:var(--text,#1e1b18);
  border-radius:8px;padding:5px 12px;font-size:.78rem;font-weight:700;cursor:pointer;
}
.tp-bulk{
  flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;
  background:var(--soft-bg,#eeeae3);border:1px solid var(--border,#d0c9c0);border-radius:10px;padding:8px 12px;font-size:.8rem;
}
.tp-bulk[hidden]{display:none}
.tp-bulk label{display:flex;align-items:center;gap:6px;font-weight:600}
.tp-bulk select{padding:4px 6px;border-radius:6px;border:1px solid var(--border,#d0c9c0);background:var(--input-bg,#fff);color:var(--text,#1e1b18)}
.tp-bulk button{border:1px solid var(--accent,#1a3e2f);background:var(--accent,#1a3e2f);color:#fff;border-radius:6px;padding:4px 12px;font-weight:700;cursor:pointer}
.tp-bulk button:disabled{opacity:.45;cursor:not-allowed}
.tp-bulk .tp-linkbtn{background:none;border:0;color:var(--accent,#1a3e2f);text-decoration:underline}

/* Pagination */
.tp-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.tp-pageinfo{font-size:.78rem;color:var(--muted,#5c5651);margin-right:auto}
.tp-pagesize{padding:4px 6px;border-radius:6px;border:1px solid var(--border,#d0c9c0);background:var(--input-bg,#fff);color:var(--text,#1e1b18);font-size:.78rem}
.tp-gap{padding:0 4px;color:var(--muted,#5c5651)}

/* Side panel */
.tp-drawer-wrap[hidden]{display:none}
.tp-drawer-backdrop{position:fixed;inset:0;background:rgba(15,20,18,.35);z-index:900}
.tp-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(480px,100%);z-index:901;overflow-y:auto;
  background:var(--mo-panel-bg,#fbf9f5);color:#1e1b18;box-shadow:-12px 0 32px rgba(0,0,0,.18);
  padding:22px 24px 30px;
}
.tp-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.tp-drawer-client{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9e6e1a}
.tp-drawer-title{margin:4px 0 0;font-family:"Fraunces","Cormorant Garamond",Georgia,serif;font-size:1.35rem;line-height:1.25}
.tp-x{border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:#5c5651}
.tp-drawer-status{display:flex;gap:8px;align-items:center;margin:12px 0 16px}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;border-top:1px solid #e2dcd2;border-bottom:1px solid #e2dcd2;padding:14px 0}
.tp-kv span{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5c5651}
.tp-kv div{font-size:.9rem;margin-top:2px}
.tp-actions{display:flex;gap:8px;margin:16px 0 6px}
.tp-actions button,.tp-delete{
  border:1px solid #d0c9c0;background:#fff;color:#1e1b18;border-radius:8px;padding:7px 14px;font-weight:700;cursor:pointer;font-size:.82rem;
}
.tp-actions .tp-primary{background:#1a3e2f;border-color:#1a3e2f;color:#fff}
.tp-h{margin:18px 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#5c5651}
.tp-notes,.tp-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tp-notes li,.tp-history li{background:#fff;border:1px solid #e8e2d8;border-radius:8px;padding:8px 10px;font-size:.85rem}
.tp-note-meta{font-size:.72rem;color:#5c5651;margin-bottom:2px}
.tp-muted{color:#5c5651;font-size:.85rem}
.tp-danger-zone{margin-top:24px;padding-top:14px;border-top:1px solid #e2dcd2}
.tp-delete{color:#b83232;border-color:#e8b4b4}
.tp-delete:hover{background:#fbeaea}

/* ── Compact header area: tabs + stats on one row, filters + quick filters + buttons on one row ── */
@media (min-width:1200px){
  #tasksSection{grid-template-columns:auto minmax(0,1fr) auto;column-gap:14px;row-gap:8px;align-items:center}
  #tasksSection>*{grid-column:1/-1}
  #tasksSection>.alloc-subtab-bar{grid-column:1;margin:0}
  #tasksSection>.alloc-summary-grid{grid-column:2/-1}
  #tasksSection>.alloc-filters-row:not([style*="none"]){grid-column:1/3}
  #tasksSection>.tp-toolbar{grid-column:1/3;grid-row:auto}
  #tasksSection>.mo-colbar{grid-column:3;margin:0;align-self:center}
  #tasksSection>.tp-toolbar{grid-column:1/3}
}
#tasksSection>.tasks-header{margin:0}
#tasksSection .tasks-title-block p{margin:0}

/* Stats become a slim strip */
#tasksSection .alloc-summary-grid{display:flex;gap:8px;margin:0}
body .dashboard-screen #tasksSection .alloc-summary-card.alloc-summary-card{
  display:flex;align-items:center;gap:10px;padding:6px 14px!important;min-height:0;border-radius:10px!important;
}
#tasksSection .alloc-summary-label{font-size:.68rem;letter-spacing:.04em;white-space:nowrap;margin:0}
#tasksSection .alloc-summary-value{font-size:1.15rem;line-height:1.2;margin:0}
#tasksSection .alloc-sc-person{flex:1;min-width:0}
#tasksSection .alloc-sc-person .alloc-summary-value{
  display:flex;gap:6px;overflow-x:auto;white-space:nowrap;font-size:.78rem;scrollbar-width:thin;
}
#tasksSection .alloc-per-person-row{
  display:inline-flex;gap:6px;align-items:center;flex:none;
  background:var(--soft-bg,#eeeae3);border-radius:999px;padding:2px 10px;
}
#tasksSection .alloc-per-person-row span:last-child{font-weight:800;color:var(--text,#1e1b18)}

/* Filters: one compact line, labels shown as the first option instead */
#tasksSection>.alloc-filters-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
#tasksSection>.alloc-filters-row label{font-size:0;gap:0;margin:0;display:block}
#tasksSection>.alloc-filters-row select,
#tasksSection>.alloc-filters-row input{
  font-size:.8rem;height:32px;padding:4px 10px;border:1px solid var(--border,#d0c9c0);border-radius:8px;
  background:var(--input-bg,#fff);color:var(--text,#1e1b18);width:170px;max-width:220px;
}
#tasksSection>.alloc-filters-row input{width:200px}

/* Quick filters row sits tight */
#tasksSection .tp-toolbar{margin:0}
#tasksSection .tp-chip{padding:4px 12px;font-size:.76rem}

/* Table gets the room */
#tasksSection .alloc-table-wrap{max-height:calc(100vh - 250px)!important}
#tasksSection .tasks-pagination{margin:4px 0 0;padding:0}
body .dashboard-screen #tasksSection .alloc-sc-person .alloc-summary-value{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;max-height:none!important;overflow-y:hidden!important;
}
body .dashboard-screen #tasksSection .alloc-per-person-row{width:auto!important;border:0!important;margin:0!important}
#tasksSection .alloc-table-wrap{max-height:calc(100vh - 340px)!important;min-height:260px}
#tasksSection .tasks-pagination.tp-pager{min-height:0!important;height:auto!important;padding:2px 0!important;margin:0!important;flex-wrap:nowrap}
#tasksSection .tp-pager button{padding:3px 10px!important;min-width:0!important;height:28px;font-size:.75rem!important;margin:0!important}
#tasksSection .alloc-table-wrap{max-height:calc(100vh - 372px)!important}

/* "Open items by person" removed from the Tasks stats strip */
body .dashboard-screen #tasksSection .alloc-summary-card.alloc-sc-person{display:none!important}
