/* OpenDesign V8 — daily task workspace. Presentation only. */
body.bms-opendesign-v8 .task-panel.active { display:grid; gap:var(--bms-space-4); padding:var(--bms-space-4); border:1px solid var(--bms-border); border-radius:var(--bms-radius-3); background:var(--bms-surface); box-shadow:var(--bms-shadow-1); }
body.bms-opendesign-v8 .task-page-header { display:flex; align-items:end; justify-content:space-between; gap:var(--bms-space-4); padding:var(--bms-space-4); border:1px solid var(--bms-border); border-radius:var(--bms-radius-3); background:var(--bms-surface); box-shadow:var(--bms-shadow-1); }
body.bms-opendesign-v8 .task-page-header > div { min-width:0; }
body.bms-opendesign-v8 .task-page-header span { color:var(--bms-primary); font:750 10px/1 var(--bms-font-data); letter-spacing:.1em; }
body.bms-opendesign-v8 .task-page-header h2 { margin:var(--bms-space-2) 0 4px; color:var(--bms-text); font:750 28px/1.1 var(--bms-font-display); letter-spacing:-.03em; }
body.bms-opendesign-v8 .task-page-header p { margin:0; color:var(--bms-text-muted); font-size:12px; }
body.bms-opendesign-v8 .task-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--bms-space-3); }
body.bms-opendesign-v8 .task-metric { min-height:78px; padding:var(--bms-space-4); border:1px solid var(--bms-border); border-top:3px solid var(--bms-primary); border-radius:var(--bms-radius-2); background:var(--bms-surface); }
body.bms-opendesign-v8 .task-metric span, body.bms-opendesign-v8 .task-metric strong { display:block; }
body.bms-opendesign-v8 .task-metric span { color:var(--bms-text-muted); font-size:11px; }
body.bms-opendesign-v8 .task-metric strong { margin-top:var(--bms-space-2); color:var(--bms-text); font:750 24px/1 var(--bms-font-data); }
body.bms-opendesign-v8 .task-workspace-card { min-width:0; overflow:hidden; border:1px solid var(--bms-border); border-radius:var(--bms-radius-3); background:var(--bms-surface); box-shadow:var(--bms-shadow-1); }
body.bms-opendesign-v8 .task-toolbar { display:flex; align-items:center; justify-content:space-between; gap:var(--bms-space-4); padding:var(--bms-space-4); border-bottom:1px solid var(--bms-border); }
body.bms-opendesign-v8 .task-view-tabs, body.bms-opendesign-v8 .task-filters { display:flex; align-items:center; gap:4px; }
body.bms-opendesign-v8 .task-view-tabs button, body.bms-opendesign-v8 .task-filters button { min-height:34px; padding:0 var(--bms-space-3); border:0; border-radius:var(--bms-radius-1); color:var(--bms-text-muted); background:transparent; font-weight:700; cursor:pointer; }
body.bms-opendesign-v8 .task-view-tabs button.active { color:var(--bms-primary); background:var(--bms-primary-soft); }
body.bms-opendesign-v8 .task-filters { padding:var(--bms-space-3) var(--bms-space-4); border-bottom:1px solid var(--bms-border); }
body.bms-opendesign-v8 .task-filters button.active { color:var(--bms-text); background:var(--bms-surface-subtle); box-shadow:inset 0 0 0 1px var(--bms-border); }
body.bms-opendesign-v8 .task-search { display:flex; width:min(340px,42vw); align-items:center; gap:var(--bms-space-2); padding:0 var(--bms-space-3); border:1px solid var(--bms-border); border-radius:var(--bms-radius-round); }
body.bms-opendesign-v8 .task-search svg { width:17px; height:17px; fill:none; stroke:var(--bms-text-muted); stroke-width:1.8; }
body.bms-opendesign-v8 .task-panel .task-search > input[type="search"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="submit"]) { width:100%; min-height:38px; padding:0; border:0; border-radius:0; outline:0; background:transparent; box-shadow:none; }
body.bms-opendesign-v8 .task-list { display:grid; }
body.bms-opendesign-v8 .task-group + .task-group { border-top:1px solid var(--bms-border); }
body.bms-opendesign-v8 .task-group > header { display:flex; align-items:center; justify-content:space-between; padding:var(--bms-space-3) var(--bms-space-4); color:var(--bms-text-muted); background:var(--bms-surface-subtle); font-size:11px; }
body.bms-opendesign-v8 .task-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:var(--bms-space-3); padding:var(--bms-space-3) var(--bms-space-4); border-top:1px solid var(--bms-border); }
body.bms-opendesign-v8 .task-complete { display:grid; width:25px; height:25px; place-items:center; padding:0; border:1.5px solid var(--bms-border-strong); border-radius:var(--bms-radius-round); color:var(--bms-surface); background:var(--bms-surface); cursor:pointer; }
body.bms-opendesign-v8 .task-row.is-done .task-complete { border-color:var(--bms-success); background:var(--bms-success); }
body.bms-opendesign-v8 .task-row.is-done .task-row-main strong { color:var(--bms-text-muted); text-decoration:line-through; }
body.bms-opendesign-v8 .task-row-main { min-width:0; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; }
body.bms-opendesign-v8 .task-row-main strong { display:block; overflow:hidden; color:var(--bms-text); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
body.bms-opendesign-v8 .task-row-main small { display:block; margin-top:4px; color:var(--bms-text-muted); font-size:10px; }
body.bms-opendesign-v8 .task-row-meta { display:flex; align-items:center; justify-content:flex-end; gap:var(--bms-space-2); }
body.bms-opendesign-v8 .task-priority, body.bms-opendesign-v8 .task-due { padding:5px 8px; border-radius:var(--bms-radius-round); font-size:9px; font-weight:750; white-space:nowrap; }
body.bms-opendesign-v8 .task-priority { color:var(--bms-primary); background:var(--bms-primary-soft); }
body.bms-opendesign-v8 .task-priority.urgent { color:var(--bms-danger); background:var(--bms-danger-soft); }
body.bms-opendesign-v8 .task-priority.high { color:var(--bms-warning); background:var(--bms-warning-soft); }
body.bms-opendesign-v8 .task-due { color:var(--bms-text-muted); background:var(--bms-surface-subtle); }
body.bms-opendesign-v8 .task-due.overdue { color:var(--bms-danger); background:var(--bms-danger-soft); }
body.bms-opendesign-v8 .task-empty { margin:0; padding:var(--bms-space-8); color:var(--bms-text-muted); text-align:center; }
body.bms-opendesign-v8 .task-dialog { width:min(620px,calc(100vw - 32px)); padding:0; border:0; border-radius:var(--bms-radius-3); color:var(--bms-text); background:var(--bms-surface); box-shadow:var(--bms-shadow-overlay); }
body.bms-opendesign-v8 .task-dialog::backdrop { background:var(--bms-backdrop); }
body.bms-opendesign-v8 .task-dialog form { display:grid; gap:var(--bms-space-4); padding:var(--bms-space-5); }
body.bms-opendesign-v8 .task-dialog header, body.bms-opendesign-v8 .task-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:var(--bms-space-3); }
body.bms-opendesign-v8 .task-dialog header span { color:var(--bms-primary); font:750 9px/1 var(--bms-font-data); letter-spacing:.1em; }
body.bms-opendesign-v8 .task-dialog h3 { margin:5px 0 0; font:750 20px/1.2 var(--bms-font-display); }
body.bms-opendesign-v8 .task-dialog header > button { width:34px; height:34px; padding:0; border:0; border-radius:var(--bms-radius-round); color:var(--bms-text-muted); background:var(--bms-surface-subtle); font-size:22px; }
body.bms-opendesign-v8 .task-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--bms-space-3); }
body.bms-opendesign-v8 .task-dialog label { display:grid; gap:6px; color:var(--bms-text-muted); font-size:11px; font-weight:700; }
body.bms-opendesign-v8 .task-dialog :is(input,select,textarea) { width:100%; border:1px solid var(--bms-border); border-radius:var(--bms-radius-2); color:var(--bms-text); background:var(--bms-surface); }
body.bms-opendesign-v8 .task-dialog :is(input,select,textarea):disabled { color:var(--bms-text-muted); background:var(--bms-surface-subtle); cursor:not-allowed; opacity:1; }
body.bms-opendesign-v8 .task-report-section { display:grid; gap:var(--bms-space-3); padding-top:var(--bms-space-4); border-top:1px solid var(--bms-border); }
body.bms-opendesign-v8 .task-report-heading strong,body.bms-opendesign-v8 .task-report-heading small { display:block; }
body.bms-opendesign-v8 .task-report-heading strong { font-size:14px; }
body.bms-opendesign-v8 .task-report-heading small { margin-top:3px; color:var(--bms-text-muted); font-size:10px; }
body.bms-opendesign-v8 .task-report-list { display:grid; gap:8px; max-height:210px; overflow:auto; }
body.bms-opendesign-v8 .task-report-list article { padding:10px 12px; border:1px solid var(--bms-border); border-radius:var(--bms-radius-2); background:var(--bms-surface-subtle); }
body.bms-opendesign-v8 .task-report-list article>div:first-child { display:flex; justify-content:space-between; gap:10px; font-size:10px; }
body.bms-opendesign-v8 .task-report-list time { color:var(--bms-text-muted); }
body.bms-opendesign-v8 .task-report-list p { margin:7px 0 0; white-space:pre-wrap; font-size:12px; }
body.bms-opendesign-v8 .task-report-attachments { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
body.bms-opendesign-v8 .task-report-attachments button { padding:5px 8px; border:1px solid var(--bms-border); border-radius:var(--bms-radius-round); color:var(--bms-primary); background:var(--bms-surface); font-size:10px; cursor:pointer; }
body.bms-opendesign-v8 .task-report-composer { display:grid; gap:10px; padding:12px; border:1px solid var(--bms-border); border-radius:var(--bms-radius-2); }
body.bms-opendesign-v8 .task-report-composer>.btn { justify-self:end; }
body.bms-opendesign-v8 .task-report-files small { color:var(--bms-text-muted); font-size:9px; font-weight:500; }
body.bms-opendesign-v8 .task-report-empty { margin:0; padding:16px; color:var(--bms-text-muted); text-align:center; }
body.bms-opendesign-v8 .task-dialog footer { justify-content:flex-end; padding-top:var(--bms-space-2); }
@media (max-width:760px) {
  body.bms-opendesign-v8 .task-panel.active { padding:var(--bms-space-3); }
  body.bms-opendesign-v8 .task-page-header, body.bms-opendesign-v8 .task-toolbar { align-items:stretch; flex-direction:column; }
  body.bms-opendesign-v8 .task-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.bms-opendesign-v8 .task-search { width:100%; min-height:var(--bms-control-touch); }
  body.bms-opendesign-v8 .task-panel .task-search > input[type="search"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  body.bms-opendesign-v8 .task-page-header .btn,
  body.bms-opendesign-v8 .task-view-tabs button,
  body.bms-opendesign-v8 .task-filters button,
  body.bms-opendesign-v8 .task-report-heading > button,
  body.bms-opendesign-v8 .task-report-attachments button,
  body.bms-opendesign-v8 .task-report-actions button { min-height:var(--bms-control-touch); }
  body.bms-opendesign-v8 .task-row { grid-template-columns:var(--bms-control-touch) minmax(0,1fr); }
  body.bms-opendesign-v8 .task-complete,
  body.bms-opendesign-v8 .task-dialog header > button {
    width:var(--bms-control-touch);
    min-width:var(--bms-control-touch);
    height:var(--bms-control-touch);
    min-height:var(--bms-control-touch);
  }
  body.bms-opendesign-v8 .task-row-meta { grid-column:2; justify-content:flex-start; flex-wrap:wrap; }
  body.bms-opendesign-v8 .task-form-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { body.bms-opendesign-v8 .task-panel * { scroll-behavior:auto; transition:none; } }

/* Task reports reuse the approved Compact Field Note event language. */
body.bms-opendesign-v8 .task-row.is-unread { background:color-mix(in srgb,var(--bms-danger) 4%,var(--bms-surface)); }
body.bms-opendesign-v8 .task-row-main { position:relative; }
body.bms-opendesign-v8 .task-unread-dot { position:absolute; top:1px; right:0; width:8px; height:8px; border:2px solid var(--bms-surface); border-radius:var(--bms-radius-round); background:var(--bms-danger); box-shadow:0 0 0 1px color-mix(in srgb,var(--bms-danger) 35%,transparent); }
body.bms-opendesign-v8 .task-report-section { gap:var(--bms-space-3); }
body.bms-opendesign-v8 .task-report-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--bms-space-3); }
body.bms-opendesign-v8 .task-report-heading>button { min-height:36px; padding:0 13px; border:1px solid color-mix(in srgb,var(--bms-primary) 35%,var(--bms-border)); border-radius:var(--bms-radius-2); color:var(--bms-primary); background:var(--bms-primary-soft); font:700 11px/1 var(--bms-font-ui); cursor:pointer; }
body.bms-opendesign-v8 .task-report-stream { position:relative; }
body.bms-opendesign-v8 .task-report-stream::before { content:""; position:absolute; top:8px; bottom:18px; left:6px; width:1px; background:var(--bms-border); }
body.bms-opendesign-v8 .task-report-list { display:block; max-height:none; overflow:visible; }
body.bms-opendesign-v8 .task-report-event { position:relative; padding:0 0 20px 25px; border:0; border-radius:0; background:transparent; }
body.bms-opendesign-v8 .task-report-event:last-child { padding-bottom:0; }
body.bms-opendesign-v8 .task-report-dot { position:absolute; z-index:2; top:4px; left:0; width:13px; height:13px; border:3px solid var(--bms-surface); border-radius:var(--bms-radius-round); background:var(--bms-border-strong); box-shadow:0 0 0 1px var(--bms-border-strong); }
body.bms-opendesign-v8 .task-report-dot.is-latest,body.bms-opendesign-v8 .task-report-composer .task-report-dot { background:var(--bms-primary); box-shadow:0 0 0 1px var(--bms-primary); }
body.bms-opendesign-v8 .task-report-event>time { display:block; margin:0 0 7px; color:var(--bms-text-muted); font:700 10px/1.4 var(--bms-font-ui); letter-spacing:.03em; }
body.bms-opendesign-v8 .task-report-card { overflow:hidden; border:1px solid var(--bms-border); border-radius:var(--bms-radius-2); background:var(--bms-surface); box-shadow:0 1px 4px color-mix(in srgb,var(--bms-text) 5%,transparent); }
body.bms-opendesign-v8 .task-report-copy { padding:12px; }
body.bms-opendesign-v8 .task-report-copy p { margin:0; color:var(--bms-text); white-space:pre-wrap; font-size:12px; line-height:1.55; }
body.bms-opendesign-v8 .task-report-meta { display:flex; justify-content:space-between; gap:10px; margin-top:9px; color:var(--bms-text-muted); font-size:10px; }
body.bms-opendesign-v8 .task-report-attachments { margin-top:9px; }
body.bms-opendesign-v8 .task-report-composer { display:block; margin:0; padding:0 0 20px 25px; border:0; border-radius:0; }
body.bms-opendesign-v8 .task-report-composer[hidden] { display:none; }
body.bms-opendesign-v8 .task-report-media { display:grid; width:100%; min-height:158px; place-items:center; padding:12px; border:0; border-bottom:1px solid var(--bms-border); border-radius:0; color:var(--bms-surface); background:var(--bms-text); text-align:center; cursor:pointer; }
body.bms-opendesign-v8 .task-report-media b,body.bms-opendesign-v8 .task-report-media strong,body.bms-opendesign-v8 .task-report-media small { display:block; }
body.bms-opendesign-v8 .task-report-media b { font-size:22px; line-height:1; }
body.bms-opendesign-v8 .task-report-media strong { margin-top:5px; font-size:12px; }
body.bms-opendesign-v8 .task-report-media small { margin-top:5px; color:var(--bms-border); font-size:9px; }
body.bms-opendesign-v8 .task-report-file-preview { display:flex; max-width:100%; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:12px; }
body.bms-opendesign-v8 .task-report-file-preview[hidden] { display:none; }
body.bms-opendesign-v8 .task-report-file-preview span { max-width:100%; padding:4px 7px; overflow:hidden; border:1px solid var(--bms-border-strong); border-radius:var(--bms-radius-round); color:var(--bms-surface); text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
body.bms-opendesign-v8 .task-report-native-file { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.bms-opendesign-v8 .task-report-card>textarea { display:block; width:100%; min-height:68px; max-height:180px; padding:11px 12px; border:0; border-bottom:1px solid var(--bms-border); border-radius:0; outline:0; color:var(--bms-text); background:var(--bms-surface); resize:none; font:12px/1.55 var(--bms-font-ui); }
body.bms-opendesign-v8 .task-report-card>textarea:focus { box-shadow:inset 3px 0 0 var(--bms-primary); }
body.bms-opendesign-v8 .task-report-actions { display:flex; justify-content:flex-end; gap:7px; padding:9px 10px; background:var(--bms-surface-subtle); }
body.bms-opendesign-v8 .task-report-actions button { min-height:32px; padding:0 11px; border:1px solid var(--bms-border); border-radius:var(--bms-radius-2); background:var(--bms-surface); font:700 11px/1 var(--bms-font-ui); cursor:pointer; }
body.bms-opendesign-v8 .task-report-actions #taskReportSubmit { border-color:var(--bms-primary); color:var(--bms-surface); background:var(--bms-primary); }
body.bms-opendesign-v8 .task-report-empty { margin-left:25px; border:1px solid var(--bms-border); border-radius:var(--bms-radius-2); background:var(--bms-surface-subtle); }

@media (max-width:900px), (max-width:960px) and (max-height:480px) {
  body.bms-opendesign-v8 .task-panel .task-search,
  body.bms-opendesign-v8 .task-panel .task-search > input[type="search"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  body.bms-opendesign-v8 .task-page-header .btn,
  body.bms-opendesign-v8 .task-view-tabs button,
  body.bms-opendesign-v8 .task-filters button,
  body.bms-opendesign-v8 .task-report-heading > button,
  body.bms-opendesign-v8 .task-report-attachments button,
  body.bms-opendesign-v8 .task-report-actions button {
    min-height:var(--bms-control-touch);
  }

  body.bms-opendesign-v8 .task-complete,
  body.bms-opendesign-v8 .task-dialog header > button {
    width:var(--bms-control-touch);
    min-width:var(--bms-control-touch);
    height:var(--bms-control-touch);
    min-height:var(--bms-control-touch);
  }
}

body.bms-opendesign-v8 .tasks-hub-tabs { display:flex; gap:var(--bms-space-1); margin:0; padding:0; border:0; border-bottom:1px solid var(--bms-border); overflow-x:auto; scrollbar-width:thin; }
body.bms-opendesign-v8 .tasks-hub-tabs button { position:relative; flex:0 0 auto; min-height:var(--bms-control-standard); padding:var(--bms-space-2) var(--bms-space-4); border:0; border-radius:var(--bms-radius-2) var(--bms-radius-2) 0 0; color:var(--bms-text-muted); background:transparent; box-shadow:none; font:700 12px/1.2 var(--bms-font-ui); white-space:nowrap; cursor:pointer; }
body.bms-opendesign-v8 .tasks-hub-tabs button:hover { color:var(--bms-text); background:var(--bms-surface-subtle); }
body.bms-opendesign-v8 .tasks-hub-tabs button:focus-visible { outline:2px solid var(--bms-focus); outline-offset:-2px; }
body.bms-opendesign-v8 .tasks-hub-tabs button.active { color:var(--bms-primary); background:var(--bms-primary-soft); box-shadow:inset 0 -2px var(--bms-primary); }
body.bms-opendesign-v8 .tasks-hub-pane { display:grid; gap:var(--bms-space-4); min-width:0; }
body.bms-opendesign-v8 .tasks-hub-pane[hidden] { display:none; }
body.bms-opendesign-v8 .task-section-header { display:flex; align-items:end; justify-content:space-between; gap:var(--bms-space-4); }
body.bms-opendesign-v8 .task-section-header h3 { margin:0; color:var(--bms-text); font:750 18px/1.2 var(--bms-font-display); }
body.bms-opendesign-v8 .task-section-header p { margin:4px 0 0; color:var(--bms-text-muted); font-size:11px; }
body.bms-opendesign-v8 .task-approvals-content { --hrm:var(--bms-primary); --hrm-strong:var(--bms-primary); --hrm-soft:var(--bms-primary-soft); --hrm-line:var(--bms-border-strong); display:grid; gap:var(--bms-space-4); min-width:0; }
body.bms-opendesign-v8 .task-approvals-content .hrm-section-heading { align-items:end; margin:0; }
body.bms-opendesign-v8 .task-approvals-content .hrm-section-heading h3 { color:var(--bms-text); font:750 18px/1.2 var(--bms-font-display); }
body.bms-opendesign-v8 .task-approvals-content .hrm-grid { align-items:start; gap:var(--bms-space-4); margin:0; }
body.bms-opendesign-v8 .task-approvals-content .hrm-card { border-color:var(--bms-border); border-radius:var(--bms-radius-3); background:var(--bms-surface); box-shadow:var(--bms-shadow-1); }
body.bms-opendesign-v8 .task-approvals-content .hrm-card-heading { align-items:center; padding-bottom:var(--bms-space-3); border-bottom:1px solid var(--bms-border); }
body.bms-opendesign-v8 .task-approvals-content .hrm-request-card:first-of-type { margin-top:var(--bms-space-3); }
body.bms-opendesign-v8 .task-approvals-content .hrm-request-card:last-child { margin-bottom:0; }
body.bms-opendesign-v8 .task-approvals-content .hrm-empty { min-height:116px; display:grid; place-items:center; padding:var(--bms-space-5); }
@media (max-width:760px) {
  body.bms-opendesign-v8 .task-section-header { align-items:stretch; flex-direction:column; }
  body.bms-opendesign-v8 .task-section-header .btn { min-height:var(--bms-control-touch); }
  body.bms-opendesign-v8 .tasks-hub-tabs button { flex:1 0 auto; min-height:var(--bms-control-touch); }
  body.bms-opendesign-v8 .task-approvals-content .hrm-section-heading { align-items:stretch; }
}
