/* ============================================================================
   TASKFLOW CLIENT FINAL V12 — FINAL CASCADE / CONTRAST / RESPONSIVE QA LAYER
   Loaded last. The goal is deterministic rendering on desktop/tablet/mobile
   without changing any application behavior.
   ============================================================================ */
:root{
  --tf12-bg:#f6f8fc;
  --tf12-surface:#ffffff;
  --tf12-surface-soft:#f8faff;
  --tf12-border:#e3e8f1;
  --tf12-border-strong:#d6deea;
  --tf12-text:#18243b;
  --tf12-muted:#66758d;
  --tf12-subtle:#8591a5;
  --tf12-primary:#5a5cf2;
  --tf12-primary-2:#477cf5;
  --tf12-shadow-sm:0 5px 18px rgba(20,39,74,.055);
  --tf12-shadow:0 14px 38px rgba(20,39,74,.09);
  --tf12-shadow-pop:0 18px 48px rgba(15,30,58,.18);

  /* AA contrast pairs for the full-surface task lifecycle colors. */
  --tf-stage-important-bg:#b4232f;
  --tf-stage-important-fg:#ffffff;
  --tf-stage-accepted-bg:#225ec9;
  --tf-stage-accepted-fg:#ffffff;
  --tf-stage-working-bg:#f2c94c;
  --tf-stage-working-fg:#182230;
  --tf-stage-halfway-bg:#e97a1d;
  --tf-stage-halfway-fg:#182230;
  --tf-stage-ready-bg:#137a47;
  --tf-stage-ready-fg:#ffffff;
}

/* ------------------------------ global polish ------------------------------ */
html,body{max-width:100%;}
body.taskflow-app{
  background:var(--tf12-bg)!important;
  color:var(--tf12-text)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.taskflow-app .layout-page,
body.taskflow-app .content-wrapper,
body.taskflow-app main,
body.taskflow-app .container,
body.taskflow-app .container-fluid,
body.taskflow-app .container-xxl,
body.taskflow-app .row,
body.taskflow-app [class*="col-"]{min-width:0;}
body.taskflow-app .content-wrapper{overflow-x:clip!important;}
body.taskflow-app h1,
body.taskflow-app h2,
body.taskflow-app h3,
body.taskflow-app h4,
body.taskflow-app h5,
body.taskflow-app h6{color:var(--tf12-text);letter-spacing:-.015em;}
body.taskflow-app .text-muted,
body.taskflow-app .form-text{color:var(--tf12-muted)!important;}
body.taskflow-app .card:not(.taskflow-ref-task-card):not(.tcard):not(.wg-task-row){
  border-color:var(--tf12-border)!important;
  box-shadow:var(--tf12-shadow-sm)!important;
}

/* Forms: never allow low-contrast placeholder / disabled states. */
body.taskflow-app .form-control,
body.taskflow-app .form-select,
body.taskflow-app textarea,
body.taskflow-app .ts-control,
body.taskflow-app .select2-selection{
  color:var(--tf12-text)!important;
}
body.taskflow-app .form-control::placeholder,
body.taskflow-app textarea::placeholder{color:#8a96aa!important;opacity:1!important;}
body.taskflow-app .form-control:disabled,
body.taskflow-app .form-select:disabled,
body.taskflow-app .form-control[readonly]{
  background:#f2f4f8!important;
  color:#59677d!important;
  opacity:1!important;
}

/* All light popovers/dropdowns/select menus own their foreground color. */
body.taskflow-app .dropdown-menu,
body.taskflow-app .popover,
body.taskflow-app .select2-dropdown,
body.taskflow-app .ts-dropdown,
body.taskflow-app .flatpickr-calendar,
body.taskflow-app .daterangepicker{
  color:var(--tf12-text)!important;
  background:#fff!important;
  border-color:var(--tf12-border)!important;
  box-shadow:var(--tf12-shadow-pop)!important;
}
body.taskflow-app .dropdown-menu .dropdown-item,
body.taskflow-app .dropdown-menu .dropdown-item span,
body.taskflow-app .dropdown-menu .dropdown-item strong,
body.taskflow-app .dropdown-menu .dropdown-item i,
body.taskflow-app .popover *,
body.taskflow-app .select2-dropdown *,
body.taskflow-app .ts-dropdown *{color:var(--tf12-text)!important;}
body.taskflow-app .dropdown-menu .dropdown-item{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:7px;
  border-radius:8px!important;
}
body.taskflow-app .dropdown-menu .dropdown-item:hover,
body.taskflow-app .dropdown-menu .dropdown-item:focus{
  color:#4547ca!important;
  background:#f1f2ff!important;
}
body.taskflow-app .dropdown-menu .dropdown-item.text-danger,
body.taskflow-app .dropdown-menu .dropdown-item.text-danger *{color:#b4232f!important;}
body.taskflow-app .dropdown-menu .dropdown-item.text-success,
body.taskflow-app .dropdown-menu .dropdown-item.text-success *{color:#126b40!important;}

/* --------------------------- Create/Edit Task UI --------------------------- */
body.taskflow-app #create_task_offcanvas.task-ref-create{
  --bs-offcanvas-width:min(980px,calc(100vw - 32px))!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--bs-offcanvas-width)!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 28px)!important;
  border:1px solid var(--tf12-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 28px 90px rgba(12,28,58,.24)!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-create-form{
  width:100%!important;
  height:auto!important;
  max-height:calc(100dvh - 28px)!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-create-header{
  position:relative!important;
  top:auto!important;
  flex:0 0 auto!important;
  grid-template-columns:42px 42px minmax(0,1fr) 40px!important;
  gap:10px!important;
  padding:13px 16px!important;
  border-bottom:1px solid #edf0f5!important;
  background:linear-gradient(100deg,#f8fbff 0%,#fff 52%,#fbfaff 100%)!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-back,
body.taskflow-app #create_task_offcanvas .task-ref-close,
body.taskflow-app #create_task_offcanvas .task-ref-icon-button{
  width:40px!important;height:40px!important;border-radius:11px!important;font-size:20px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-create-heading-icon{
  width:40px!important;height:40px!important;border-radius:11px!important;font-size:20px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-create-heading-copy{min-width:0!important;}
body.taskflow-app #create_task_offcanvas .task-ref-create-heading-copy h2{
  margin:0!important;font-size:21px!important;line-height:1.2!important;color:var(--tf12-text)!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-create-heading-copy p{
  margin:3px 0 0!important;font-size:12px!important;line-height:1.35!important;color:var(--tf12-muted)!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-create-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 150px)!important;
  padding:17px 18px 20px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body.taskflow-app #create_task_offcanvas .task-ref-form-grid{gap:18px 22px!important;}
body.taskflow-app #create_task_offcanvas .task-ref-field>label,
body.taskflow-app #create_task_offcanvas .task-ref-field>h3{
  margin-bottom:7px!important;font-size:12.5px!important;line-height:1.25!important;color:#26334a!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-input-wrap,
body.taskflow-app #create_task_offcanvas .task-ref-select-shell,
body.taskflow-app #create_task_offcanvas .task-ref-date-input{
  height:48px!important;min-height:48px!important;border-radius:11px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-project-field,
body.taskflow-app #create_task_offcanvas .task-ref-description-field{margin-top:17px!important;}
body.taskflow-app #create_task_offcanvas .task-ref-editor-toolbar{
  min-height:48px!important;padding:6px 8px!important;gap:4px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-editor-toolbar>button{
  width:34px!important;height:34px!important;font-size:18px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-editor-textarea{
  min-height:118px!important;max-height:210px!important;padding:14px 16px!important;font-size:13.5px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-split-row{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:22px!important;margin-top:18px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-priority-cards{gap:7px!important;}
body.taskflow-app #create_task_offcanvas .task-ref-priority-card{
  min-height:78px!important;padding:8px 5px!important;gap:5px!important;border-radius:11px!important;font-size:11px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-priority-card i{font-size:21px!important;}
body.taskflow-app #create_task_offcanvas .taskflow-important-control{
  margin-top:8px!important;min-height:54px!important;padding:8px 9px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-deadline-field,
body.taskflow-app #create_task_offcanvas .task-ref-attachments-field{margin-top:18px!important;}
body.taskflow-app #create_task_offcanvas .task-ref-attachments-box{padding:13px!important;}
body.taskflow-app #create_task_offcanvas .task-ref-upload-button,
body.taskflow-app #create_task_offcanvas .task-ref-file-chip{min-height:40px!important;padding:0 12px!important;font-size:11.5px!important;}
body.taskflow-app #create_task_offcanvas .task-ref-create-footer{
  position:relative!important;
  bottom:auto!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:11px 16px!important;
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  border-top:1px solid #e8edf4!important;
  background:#fff!important;
  box-shadow:0 -8px 25px rgba(18,35,66,.035)!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-secondary-btn,
body.taskflow-app #create_task_offcanvas .task-ref-draft-btn,
body.taskflow-app #create_task_offcanvas .task-ref-primary-btn{
  min-height:42px!important;height:42px!important;padding:0 16px!important;border-radius:10px!important;font-size:12.5px!important;
}
body.taskflow-app #create_task_offcanvas .task-ref-primary-btn{justify-self:end!important;min-width:150px!important;}
@media(max-width:991.98px){
  body.taskflow-app #create_task_offcanvas.task-ref-create{
    top:12px!important;left:12px!important;right:12px!important;bottom:12px!important;
    width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important;
    max-width:none!important;max-height:calc(100dvh - 24px)!important;
    transform:translateX(110vw)!important;border-radius:16px!important;
  }
  body.taskflow-app #create_task_offcanvas.task-ref-create.show,
  body.taskflow-app #create_task_offcanvas.task-ref-create.showing{transform:none!important;}
  body.taskflow-app #create_task_offcanvas.task-ref-create.hiding{transform:translateX(110vw)!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-create-form{height:100%!important;max-height:100%!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-form-grid,
  body.taskflow-app #create_task_offcanvas .task-ref-split-row{grid-template-columns:1fr!important;}
}
@media(max-width:767.98px){
  body.taskflow-app #create_task_offcanvas.task-ref-create{
    top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;
    max-width:100vw!important;max-height:100dvh!important;border:0!important;border-radius:0!important;
    transform:translateX(100%)!important;
    transition:transform .24s ease!important;
  }
  body.taskflow-app #create_task_offcanvas.task-ref-create.show,
  body.taskflow-app #create_task_offcanvas.task-ref-create.showing{transform:none!important;}
  body.taskflow-app #create_task_offcanvas.task-ref-create.hiding{transform:translateX(100%)!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-create-form{height:100dvh!important;max-height:100dvh!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-create-header{grid-template-columns:38px minmax(0,1fr) 38px!important;padding:9px 10px!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-create-heading-icon{display:none!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-create-body{max-height:none!important;padding:12px 10px 14px!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-create-footer{grid-template-columns:1fr 1fr!important;padding:9px 10px!important;}
  body.taskflow-app #create_task_offcanvas .task-ref-primary-btn{grid-column:1/-1!important;width:100%!important;min-width:0!important;}
}

/* ----------------------- lifecycle full-surface contrast ----------------------- */
.taskflow-stage-important{--task-stage-bg:var(--tf-stage-important-bg)!important;--task-stage-fg:var(--tf-stage-important-fg)!important;}
.taskflow-stage-accepted{--task-stage-bg:var(--tf-stage-accepted-bg)!important;--task-stage-fg:var(--tf-stage-accepted-fg)!important;}
.taskflow-stage-working{--task-stage-bg:var(--tf-stage-working-bg)!important;--task-stage-fg:var(--tf-stage-working-fg)!important;}
.taskflow-stage-halfway{--task-stage-bg:var(--tf-stage-halfway-bg)!important;--task-stage-fg:var(--tf-stage-halfway-fg)!important;}
.taskflow-stage-ready{--task-stage-bg:var(--tf-stage-ready-bg)!important;--task-stage-fg:var(--tf-stage-ready-fg)!important;}

/* Reset overlays inside colored tasks so white-on-white can never occur. */
body.taskflow-app .taskflow-ref-task-card[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown),
body.taskflow-app .tcard[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown),
body.taskflow-app .wg-task-row[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown),
body.taskflow-app tr.taskflow-stage-row[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown){
  --task-stage-fg:var(--tf12-text)!important;
  background:#fff!important;
  color:var(--tf12-text)!important;
  border-color:var(--tf12-border)!important;
}
body.taskflow-app .taskflow-ref-task-card[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown) *,
body.taskflow-app .tcard[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown) *,
body.taskflow-app .wg-task-row[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown) *,
body.taskflow-app tr.taskflow-stage-row[class*="taskflow-stage-"]:not(.taskflow-stage-new) :is(.dropdown-menu,.popover,.ts-dropdown,.select2-dropdown) *{
  color:var(--tf12-text)!important;
}
body.taskflow-app :is(.tcard,.taskflow-ref-task-card,.wg-task-row,tr.taskflow-stage-row) .dropdown-menu{
  width:max-content!important;min-width:174px!important;max-width:min(250px,calc(100vw - 20px))!important;
  height:auto!important;min-height:0!important;padding:6px!important;border-radius:12px!important;
  box-shadow:var(--tf12-shadow-pop)!important;overflow:visible!important;z-index:1095!important;
}

/* ---------------------------- task table / list ---------------------------- */
body.taskflow-app.taskflow-module-tasks .bootstrap-table{overflow:visible!important;}
body.taskflow-app.taskflow-module-tasks .bootstrap-table .fixed-table-container{
  border:1px solid var(--tf12-border)!important;border-radius:14px!important;background:#fff!important;overflow:visible!important;
}
body.taskflow-app.taskflow-module-tasks .bootstrap-table .fixed-table-body{
  border-radius:0 0 14px 14px!important;overflow-x:auto!important;overflow-y:visible!important;
}
body.taskflow-app.taskflow-module-tasks #task_table{margin:0!important;min-width:860px;}
body.taskflow-app.taskflow-module-tasks #task_table thead th{
  height:46px!important;padding:9px 10px!important;background:#f8faff!important;color:#627087!important;
}
body.taskflow-app.taskflow-module-tasks #task_table tbody td{padding:10px!important;font-size:12px!important;}
body.taskflow-app.taskflow-module-tasks #task_table tbody tr.taskflow-stage-row>td{background:var(--task-stage-bg)!important;color:var(--task-stage-fg)!important;}
body.taskflow-app.taskflow-module-tasks #task_table tbody tr.taskflow-stage-row .dropdown{position:relative!important;z-index:8!important;}
body.taskflow-app.taskflow-module-tasks #task_table tbody tr.taskflow-stage-row .dropdown-menu{z-index:1100!important;}
body.taskflow-app.taskflow-module-tasks #task_table .dropdown-toggle::after{display:none!important;}
body.taskflow-app.taskflow-module-tasks #task_table .btn.p-0{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;border-radius:8px!important;}
body.taskflow-app.taskflow-module-tasks #task_table tbody tr.taskflow-stage-row .btn.p-0:hover{background:color-mix(in srgb,var(--task-stage-fg) 16%,transparent)!important;}

/* ------------------------------ draggable/kanban ------------------------------ */
body.taskflow-app.taskflow-module-tasks .tk-kanban,
body.taskflow-app.taskflow-module-tasks .kanban-board{
  width:100%!important;max-width:100%!important;display:flex!important;gap:13px!important;
  padding:3px 2px 14px!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:thin;
}
body.taskflow-app.taskflow-module-tasks .tk-kanban .kcol,
body.taskflow-app.taskflow-module-tasks .kanban-board .kcol{
  flex:0 0 292px!important;width:292px!important;min-width:292px!important;max-width:292px!important;
  min-height:250px!important;border:1px solid var(--tf12-border)!important;border-radius:15px!important;
  background:#f8faff!important;overflow:visible!important;box-shadow:none!important;
}
body.taskflow-app.taskflow-module-tasks .kcol-head{min-height:56px!important;padding:11px 13px!important;border-bottom:1px solid #e8edf4!important;}
body.taskflow-app.taskflow-module-tasks .kanban-tasks{min-height:145px!important;padding:9px!important;display:grid!important;align-content:start!important;gap:8px!important;}
body.taskflow-app.taskflow-module-tasks .tcard{
  position:relative!important;width:100%!important;min-width:0!important;min-height:132px!important;margin:0!important;
  padding:11px!important;border-radius:13px!important;overflow:visible!important;box-shadow:0 8px 19px rgba(20,39,74,.08)!important;
}
body.taskflow-app.taskflow-module-tasks .tcard-title,
body.taskflow-app.taskflow-module-tasks .tcard-meta,
body.taskflow-app.taskflow-module-tasks .tcard-foot{min-width:0!important;}
body.taskflow-app.taskflow-module-tasks .tcard-title a{
  display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:13px!important;font-weight:800!important;
}
body.taskflow-app.taskflow-module-tasks .tcard-tags{display:flex!important;flex-wrap:wrap!important;gap:5px!important;min-width:0!important;}
body.taskflow-app.taskflow-module-tasks .tcard .tag{max-width:100%!important;min-height:23px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:9px!important;}
body.taskflow-app.taskflow-module-tasks .tcard-actions{position:relative!important;z-index:9!important;}
body.taskflow-app.taskflow-module-tasks .tcard .dropdown-menu{z-index:1100!important;}
@media(max-width:575.98px){
  body.taskflow-app.taskflow-module-tasks .tk-kanban .kcol,
  body.taskflow-app.taskflow-module-tasks .kanban-board .kcol{
    flex-basis:min(86vw,300px)!important;width:min(86vw,300px)!important;min-width:min(86vw,300px)!important;
  }
}

/* ---------------------------- group by task list ---------------------------- */
body.taskflow-app.taskflow-module-tasks #taskListsContainer{padding:12px!important;}
body.taskflow-app.taskflow-module-tasks #taskListsContainer>.task-list-header{
  margin-top:10px!important;border:1px solid var(--tf12-border)!important;border-bottom:0!important;
  border-radius:14px 14px 0 0!important;background:#f8faff!important;
}
body.taskflow-app.taskflow-module-tasks #taskListsContainer>.task-list-header:first-child{margin-top:0!important;}
body.taskflow-app.taskflow-module-tasks #taskListsContainer>.task-list-header .p-3{min-height:52px!important;padding:10px 12px!important;}
body.taskflow-app.taskflow-module-tasks #taskListsContainer>.task-group{
  margin-bottom:12px!important;border:1px solid var(--tf12-border)!important;border-top:0!important;
  border-radius:0 0 14px 14px!important;background:#fff!important;overflow:auto!important;
}
body.taskflow-app.taskflow-module-tasks #taskListsContainer>.task-group table{margin:0!important;min-width:760px;}
.taskflow-v11-empty{min-height:220px!important;padding:28px!important;}
.taskflow-v11-empty i{background:#eef0ff!important;color:#5653e4!important;}

/* -------------------------------- calendar -------------------------------- */
body.taskflow-app.taskflow-module-calendar .calendar-wrapper{
  display:grid!important;grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;gap:14px!important;align-items:start!important;
}
body.taskflow-app.taskflow-module-calendar .calendar-sidebar,
body.taskflow-app.taskflow-module-calendar .calendar-main{
  border:1px solid var(--tf12-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--tf12-shadow-sm)!important;
}
body.taskflow-app.taskflow-module-calendar .calendar-sidebar{width:auto!important;min-width:0!important;overflow:hidden!important;}
body.taskflow-app.taskflow-module-calendar .calendar-sidebar .offcanvas-header{min-height:60px!important;padding:13px 15px!important;border-bottom:1px solid #edf0f5!important;}
body.taskflow-app.taskflow-module-calendar .calendar-sidebar .offcanvas-body{padding:12px!important;}
body.taskflow-app.taskflow-module-calendar .calendar-sidebar .filter-section{padding:11px!important;margin-bottom:9px!important;border:1px solid #edf0f5!important;border-radius:11px!important;background:#fbfcff!important;}
body.taskflow-app.taskflow-module-calendar .calendar-main{min-width:0!important;padding:16px!important;overflow:hidden!important;}
body.taskflow-app.taskflow-module-calendar .fc{min-width:0!important;color:var(--tf12-text)!important;}
body.taskflow-app.taskflow-module-calendar .fc-toolbar{gap:9px!important;margin-bottom:14px!important;}
body.taskflow-app.taskflow-module-calendar .fc-toolbar h2{font-size:21px!important;font-weight:800!important;color:var(--tf12-text)!important;}
body.taskflow-app.taskflow-module-calendar .fc-button{min-height:36px!important;padding:0 11px!important;border:1px solid var(--tf12-border)!important;border-radius:9px!important;background:#fff!important;color:#56647b!important;box-shadow:none!important;}
body.taskflow-app.taskflow-module-calendar .fc-button:hover{background:#f3f5fb!important;color:#4547ca!important;}
body.taskflow-app.taskflow-module-calendar .fc-head-container,
body.taskflow-app.taskflow-module-calendar .fc-widget-header,
body.taskflow-app.taskflow-module-calendar .fc-widget-content{border-color:#e6ebf2!important;}
body.taskflow-app.taskflow-module-calendar .fc-day-header{padding:8px 4px!important;background:#fafbfe!important;color:#627087!important;font-size:11px!important;font-weight:750!important;}
body.taskflow-app.taskflow-module-calendar .fc-today{background:#fff8d9!important;}
@media(max-width:991.98px){
  body.taskflow-app.taskflow-module-calendar .calendar-wrapper{display:block!important;}
  body.taskflow-app.taskflow-module-calendar .calendar-main{padding:11px!important;}
  body.taskflow-app.taskflow-module-calendar .fc-toolbar{flex-wrap:wrap!important;}
  body.taskflow-app.taskflow-module-calendar .fc-toolbar h2{font-size:18px!important;}
}

/* -------------------------------- dashboard -------------------------------- */
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-task-list{gap:9px!important;}
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-task-card{
  min-height:112px!important;grid-template-columns:88px minmax(0,1fr)!important;gap:11px!important;
  padding:10px 13px 10px 9px!important;border-radius:15px!important;
}
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-due-ring{width:58px!important;height:58px!important;background:rgba(255,255,255,.96)!important;color:#17233b!important;}
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-due-ring *{color:#17233b!important;}
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-task-title{font-size:13.5px!important;font-weight:800!important;}
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-task-copy p{font-size:10.5px!important;line-height:1.4!important;}
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-priority-label{max-width:84px!important;font-size:8.5px!important;}
body.taskflow-app.taskflow-module-dashboard .taskflow-ref-task-main{gap:7px!important;}
@media(max-width:575.98px){
  body.taskflow-app.taskflow-module-dashboard .taskflow-ref-task-card{grid-template-columns:68px minmax(0,1fr)!important;padding:9px 9px 9px 7px!important;}
  body.taskflow-app.taskflow-module-dashboard .taskflow-ref-due-ring{width:50px!important;height:50px!important;}
}

/* -------------------------- work groups / messages -------------------------- */
body.taskflow-app.taskflow-module-groups .wg-card,
body.taskflow-app.taskflow-module-groups .wg-chat,
body.taskflow-app.taskflow-module-groups .wg-panel{
  border-color:var(--tf12-border)!important;box-shadow:var(--tf12-shadow-sm)!important;
}
body.taskflow-app.taskflow-module-groups .wg-msg{max-width:min(78%,720px)!important;overflow-wrap:anywhere;}
body.taskflow-app.taskflow-module-groups .wg-msg-file,
body.taskflow-app.taskflow-module-groups .wg-attachment{color:var(--tf12-text)!important;}

/* ----------------------- tables/cards across old screens ----------------------- */
body.taskflow-app .table-responsive{max-width:100%;overflow-x:auto!important;}
body.taskflow-app table.table thead th,
body.taskflow-app .bootstrap-table thead th{color:#5c6980!important;background:#f8faff!important;}
body.taskflow-app table.table tbody td,
body.taskflow-app .bootstrap-table tbody td{overflow-wrap:anywhere;}
body.taskflow-app .btn-light,
body.taskflow-app .btn-outline-secondary{color:#4d5b72!important;background:#fff!important;border-color:var(--tf12-border)!important;}
body.taskflow-app .btn-light:hover,
body.taskflow-app .btn-outline-secondary:hover{color:#343f53!important;background:#f4f6fa!important;}

/* ----------------------------- RTL correctness ----------------------------- */
html[dir="rtl"] body.taskflow-app #create_task_offcanvas.task-ref-create{left:50%!important;right:auto!important;}
html[dir="rtl"] body.taskflow-app .dropdown-menu{text-align:right;}

/* ------------------------------ dark mode --------------------------------- */
html[data-theme="dark"]{
  --tf12-bg:#0f1724;--tf12-surface:#111c2d;--tf12-surface-soft:#142033;
  --tf12-border:#2a3850;--tf12-border-strong:#34445f;--tf12-text:#edf3fb;--tf12-muted:#aab6c8;
}
html[data-theme="dark"] body.taskflow-app{background:var(--tf12-bg)!important;color:var(--tf12-text)!important;}
html[data-theme="dark"] body.taskflow-app :is(.dropdown-menu,.popover,.select2-dropdown,.ts-dropdown),
html[data-theme="dark"] body.taskflow-app #create_task_offcanvas .task-ref-create-form,
html[data-theme="dark"] body.taskflow-app #create_task_offcanvas .task-ref-create-body,
html[data-theme="dark"] body.taskflow-app #create_task_offcanvas .task-ref-create-footer{
  background:#111c2d!important;color:#edf3fb!important;border-color:#2a3850!important;
}
html[data-theme="dark"] body.taskflow-app :is(.dropdown-menu,.popover,.select2-dropdown,.ts-dropdown) *{color:#edf3fb!important;}
html[data-theme="dark"] body.taskflow-app .dropdown-menu .dropdown-item:hover{background:#1b2a42!important;color:#fff!important;}

/* motion accessibility */
@media(prefers-reduced-motion:reduce){
  body.taskflow-app *,body.taskflow-app *::before,body.taskflow-app *::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;}
}
