/* WOTTT 04.55.2 r7 — Task Workspace Visual Enhancement ONLY.
   All task lifecycle, RLS, due dates, assignment, history and controller logic remain frozen.
   This stylesheet is scoped to .tasks-shell and .tw-detail; no dynamic status inference. */
.tasks-shell,.tw-detail{
 --tk-ink:var(--ui-ink,#28364f);--tk-muted:var(--ui-muted,#71829c);
 --tk-line:color-mix(in srgb,var(--ui-line,#e2e8f1) 84%,#bfd0eb);
 --tk-blue:#5279d9;--tk-teal:#159798;--tk-orange:#c48627;
 --tk-red:#d25268;--tk-violet:#8165cb;--tk-green:#239070;
 --tk-shadow:0 10px 28px rgba(42,72,116,.065);
 color:var(--tk-ink);font-family:Inter,'Segoe UI',system-ui,sans-serif;
}
.tasks-shell .tw-main{background:var(--ui-bg)}
.tasks-shell .tw-sidebar{width:184px;min-width:184px;background:color-mix(in srgb,var(--ui-surface) 91%,#ecf1fc);border-right:1px solid var(--tk-line)}
.tasks-shell .tw-sidebar>header{height:81px;min-height:81px;gap:10px;font-weight:750;border-bottom-color:var(--tk-line)}
.tasks-shell .tw-sidebar>header>.ui-icon{width:33px;height:33px;flex-shrink:0;padding:8px;color:var(--tk-green);background:color-mix(in srgb,var(--ui-surface) 58%,#daf6e9);border-radius:11px;box-shadow:0 4px 12px #48ac8015}
.tasks-shell .tw-nav-item{min-height:41px;margin:4px 0;border-radius:11px;font-weight:680;transition:background-color .15s,color .15s}
.tasks-shell .tw-nav-item .ui-icon{color:var(--tk-blue)}
.tasks-shell .tw-nav-item[data-value=overdue] .ui-icon{color:var(--tk-red)}
.tasks-shell .tw-nav-item[data-value=due_today] .ui-icon{color:var(--tk-orange)}
.tasks-shell .tw-nav-item[data-value=completed] .ui-icon{color:var(--tk-green)}
.tasks-shell .tw-nav-item.active,.tasks-shell .tw-nav-item.active-owner{background:color-mix(in srgb,var(--ui-surface) 58%,#e0eaff);color:var(--tk-blue);box-shadow:inset 3px 0 var(--tk-blue)}
.tasks-shell .tw-nav-item[data-value=overdue].active{color:var(--tk-red);box-shadow:inset 3px 0 var(--tk-red)}
.tasks-shell .tw-nav-item[data-value=completed].active{color:var(--tk-green);box-shadow:inset 3px 0 var(--tk-green)}
.tasks-shell .tw-nav-count{border-radius:99px;background:color-mix(in srgb,var(--ui-surface) 73%,#e5edfc);padding:2px 6px;color:var(--tk-blue);font-variant-numeric:tabular-nums}
.tasks-shell .tw-sidebar-note{border-color:var(--tk-line);line-height:1.65}
.tasks-shell .tw-head{height:auto;min-height:100px;gap:16px;padding:18px clamp(17px,2.5vw,38px);background:radial-gradient(ellipse 34% 150% at 90% -10%,color-mix(in srgb,#b8aff4 18%,transparent),transparent),linear-gradient(110deg,color-mix(in srgb,var(--ui-surface) 78%,#e3f0ff),color-mix(in srgb,var(--ui-surface) 89%,#f0edff));border-bottom:1px solid var(--tk-line)}
.tasks-shell .tw-head .eyebrow{letter-spacing:.17em;font-weight:810;color:var(--tk-blue);font-size:10px}
.tasks-shell .tw-head h1{font-size:clamp(21px,2vw,28px);font-weight:810;letter-spacing:-.6px;gap:12px}
.tasks-shell .tw-head h1::before{content:"";width:41px;height:41px;display:inline-block;flex:none;border-radius:13px;border:1px solid #bce3d6;background:#e4f9ed url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23128b6b' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='17' rx='2'/%3E%3Cpath d='M9 4V2m6 2V2M4 9h16M8 14l3 3 5-5'/%3E%3C/svg%3E") center/23px no-repeat;box-shadow:0 6px 14px #318b6617}
.tasks-shell .tw-head-actions :is(select,.icon-button){border-radius:11px;border:1px solid var(--tk-line);background:var(--ui-surface);box-shadow:0 3px 12px #405c850a}
.tasks-shell .tw-scroll{padding:24px clamp(17px,2.5vw,38px) 32px;background:radial-gradient(ellipse 39% 25% at 96% 2%,#8ba6ed0b,transparent),var(--ui-bg)}
/* Existing live task summaries. No invented KPIs. */
.tasks-shell .tw-kpis{gap:14px}
.tasks-shell .tw-kpi{--tk-tone:var(--tk-blue);position:relative;overflow:hidden;min-height:118px;padding:19px 20px 17px;gap:11px;border-radius:16px;border:1px solid color-mix(in srgb,var(--tk-tone) 22%,var(--tk-line));border-top:3px solid var(--tk-tone);background:linear-gradient(125deg,color-mix(in srgb,var(--ui-surface) 90%,var(--tk-tone)),var(--ui-surface) 85%);box-shadow:var(--tk-shadow);transition:transform .15s,box-shadow .15s}
.tasks-shell .tw-kpi:nth-child(1){--tk-tone:var(--tk-red)}
.tasks-shell .tw-kpi:nth-child(2){--tk-tone:var(--tk-orange)}
.tasks-shell .tw-kpi:nth-child(3){--tk-tone:var(--tk-teal)}
.tasks-shell .tw-kpi::after{content:"";position:absolute;right:-21px;top:-23px;width:100px;height:100px;border-radius:50%;background:color-mix(in srgb,var(--tk-tone) 6%,transparent);pointer-events:none}
.tasks-shell .tw-kpi>span{font-size:12px;font-weight:760;color:var(--tk-ink);gap:10px;line-height:1.4}
.tasks-shell .tw-kpi .ui-icon{width:32px;height:32px;padding:8px;background:color-mix(in srgb,var(--tk-tone) 11%,var(--ui-surface));color:var(--tk-tone);border-radius:11px;flex-shrink:0}
.tasks-shell .tw-kpi strong{font-size:31px;font-weight:800;color:var(--tk-tone);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.tasks-shell .tw-kpi.selected{border-color:var(--tk-tone);outline:2px solid color-mix(in srgb,var(--tk-tone) 18%,transparent);outline-offset:1px}
.tasks-shell .tw-kpi:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 29px #52669019}
.tasks-shell .tw-scope{margin:12px 0 22px;padding:9px 13px;font-size:11px;line-height:1.55;border-left:3px solid #9ab6e7;border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--ui-surface) 79%,#e9f1ff)}
.tasks-shell .tw-filters{background:var(--ui-surface);border:1px solid var(--tk-line);padding:16px;border-radius:15px;box-shadow:var(--tk-shadow);gap:13px;margin-bottom:19px}
.tasks-shell .tw-filter>span:first-child{font-size:10px;font-weight:750;color:var(--tk-muted)}
.tasks-shell .tw-filter select,.tasks-shell .tw-search-box{border-radius:10px;border:1px solid var(--tk-line);min-height:41px;background:color-mix(in srgb,var(--ui-surface) 96%,#e6efff)}
.tasks-shell .tw-search-box input{color:var(--tk-ink)}
.tasks-shell .tw-filter select:focus-visible,.tasks-shell .tw-search-box:focus-within{outline:2px solid #86abef;outline-offset:1px}
.tasks-shell .tw-results-head{border-top:none;margin-top:1px;padding:17px 2px;font-size:11px}
.tasks-shell .tw-results-head strong{font-size:13px;font-weight:830;color:var(--tk-blue)}
.tasks-shell .tw-table-wrap{border:1px solid var(--tk-line);border-radius:16px;background:var(--ui-surface);box-shadow:var(--tk-shadow);overflow:hidden}
.tasks-shell .tw-table th{background:color-mix(in srgb,var(--ui-surface) 53%,#e5edff);font-weight:780;color:var(--tk-muted);letter-spacing:.03em;padding:14px 12px}
.tasks-shell .tw-table td{padding:16px 12px;border-color:var(--tk-line)}
.tasks-shell .tw-table tbody tr:hover td{background:color-mix(in srgb,var(--ui-surface) 84%,#e9f2ff)}
.tasks-shell .tw-identity strong{font-size:12px;font-weight:770}
.tasks-shell .tw-task-link:hover .tw-identity strong{color:var(--tk-blue)}
.tasks-shell .tw-due[data-due=overdue]{color:var(--tk-red)}
.tasks-shell .tw-due[data-due=overdue] .ui-icon{color:var(--tk-red)}
.tasks-shell .tw-status,.tw-detail .tw-status{border-radius:999px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--tk-blue) 17%,var(--tk-line));background:color-mix(in srgb,var(--ui-surface) 61%,#e0ebff);color:#416ac0;font-weight:750}
.tasks-shell .tw-status[data-status=done],.tw-detail .tw-status[data-status=done]{background:color-mix(in srgb,var(--ui-surface) 47%,#d8f6e8);border-color:#9ddcc2;color:#197e5a}
.tasks-shell .tw-status[data-status=cancelled],.tw-detail .tw-status[data-status=cancelled]{background:color-mix(in srgb,var(--ui-surface) 48%,#ffe0e3);border-color:#efb4bd;color:#a93a53}
.tasks-shell .tw-status[data-status=in_progress],.tw-detail .tw-status[data-status=in_progress]{background:color-mix(in srgb,var(--ui-surface) 55%,#fff0d5);border-color:#f0cea0;color:#a26819}
.tasks-shell .tw-priority,.tw-detail .tw-priority{border-radius:999px;padding:5px 9px;border:1px solid var(--tk-line);background:var(--ui-surface);font-weight:710}
.tasks-shell .tw-priority[data-priority=urgent],.tw-detail .tw-priority[data-priority=urgent]{color:var(--tk-red);border-color:#e5adba;background:color-mix(in srgb,var(--ui-surface) 72%,#ffe2e8)}
.tasks-shell .tw-priority[data-priority=high],.tw-detail .tw-priority[data-priority=high]{color:#ac7626;border-color:#ead2a0;background:color-mix(in srgb,var(--ui-surface) 72%,#fff0d4)}
.tasks-shell .tw-empty{border:1px dashed var(--tk-line);background:var(--ui-surface);border-radius:16px;min-height:230px;margin-top:4px}
.tasks-shell .tw-empty>.ui-icon{color:var(--tk-blue);background:color-mix(in srgb,var(--ui-surface) 55%,#e4ecff);padding:8px;width:46px;height:46px;border-radius:14px}
.tasks-shell .tw-footer{background:var(--ui-surface);border-color:var(--tk-line)}
/* Task drawer/dialog remains the existing component and retains all live controls. */
.tw-detail .tw-detail-heading{gap:12px}
.tw-detail .tw-detail-heading .eyebrow{color:var(--tk-violet);letter-spacing:.12em;font-weight:790}
.tw-detail>h2{font-size:clamp(20px,2.1vw,24px);font-weight:800;letter-spacing:-.3px}
.tw-detail .tw-detail-summary{border:1px solid var(--tk-line);border-top:3px solid var(--tk-blue);background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface) 87%,#e6efff),var(--ui-surface));border-radius:13px;padding:10px 16px}
.tw-detail .tw-detail-summary>div{border-color:var(--tk-line);padding:12px 0}
.tw-detail .tw-detail-summary strong{font-weight:730;color:var(--tk-ink)}
.tw-detail .tw-detail-actions{gap:9px;margin:19px 0}
.tw-detail .tw-detail-actions button{border-radius:10px}
.tw-detail .tw-action-form{border:1px solid var(--tk-line);border-top:3px solid var(--tk-violet);border-radius:13px;background:var(--ui-surface);box-shadow:var(--tk-shadow)}
.tw-detail .tw-action-form h3{font-weight:800;color:var(--tk-ink)}
.tw-detail .tw-action-form input,.tw-detail .tw-action-form select{border-radius:10px}
.tw-detail .tw-linked{border-color:var(--tk-line)}
.tw-detail .tw-linked h3,.tw-detail .tw-history summary{color:var(--tk-blue);font-weight:780}
.tw-detail .tw-link-card{padding:13px 12px;border:1px solid var(--tk-line);border-left:3px solid var(--tk-teal);border-radius:10px;margin:9px 0;background:color-mix(in srgb,var(--ui-surface) 91%,#e8f6f5)}
.tw-detail .tw-link-card>span{font-weight:760;color:var(--tk-teal)}
.tw-detail .tw-history{border-color:var(--tk-line)}
.tw-detail .tw-history article{border-left:3px solid var(--tk-violet);border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--ui-surface) 88%,#eeeafa)}
.tw-detail .tw-error,.tw-detail .tw-warning{border-left-color:var(--tk-red)}
.tw-detail .tw-notice{border-radius:10px}
/* Dark mode, explicit rather than hardcoded light backgrounds. */
:root[data-theme=dark] .tasks-shell,:root[data-theme=dark] .tw-detail,[data-theme=dark] .tasks-shell,[data-theme=dark] .tw-detail{
 --tk-ink:var(--ui-ink,#e5eafb);--tk-muted:var(--ui-muted,#a8b2c8);
 --tk-line:var(--ui-line,#334158);--tk-blue:#90b4ff;--tk-teal:#6dd5d1;
 --tk-orange:#edb65e;--tk-red:#f28c9e;--tk-violet:#b8a4f8;--tk-green:#76d7ad;
 --tk-shadow:0 10px 28px #02091636;
}
:root[data-theme=dark] .tasks-shell .tw-head h1::before,[data-theme=dark] .tasks-shell .tw-head h1::before{background-color:#173b32;border-color:#2f7160}
:root[data-theme=dark] .tasks-shell .tw-status,[data-theme=dark] .tasks-shell .tw-status,:root[data-theme=dark] .tw-detail .tw-status,[data-theme=dark] .tw-detail .tw-status{color:var(--tk-blue);border-color:var(--tk-line)}
:root[data-theme=dark] .tasks-shell .tw-status[data-status=done],[data-theme=dark] .tasks-shell .tw-status[data-status=done],:root[data-theme=dark] .tw-detail .tw-status[data-status=done],[data-theme=dark] .tw-detail .tw-status[data-status=done]{color:var(--tk-green)}
:root[data-theme=dark] .tasks-shell .tw-status[data-status=cancelled],[data-theme=dark] .tasks-shell .tw-status[data-status=cancelled],:root[data-theme=dark] .tw-detail .tw-status[data-status=cancelled],[data-theme=dark] .tw-detail .tw-status[data-status=cancelled]{color:var(--tk-red)}
:root[data-theme=dark] .tasks-shell .tw-status[data-status=in_progress],[data-theme=dark] .tasks-shell .tw-status[data-status=in_progress],:root[data-theme=dark] .tw-detail .tw-status[data-status=in_progress],[data-theme=dark] .tw-detail .tw-status[data-status=in_progress]{color:var(--tk-orange)}
:root[data-theme=dark] .tasks-shell .tw-priority[data-priority=urgent],[data-theme=dark] .tasks-shell .tw-priority[data-priority=urgent]{color:var(--tk-red);border-color:var(--tk-line)}
@media(max-width:1150px){.tasks-shell .tw-sidebar{width:164px;min-width:164px}.tasks-shell .tw-scroll{padding:20px}.tasks-shell .tw-kpi{padding:15px}}
@media(max-width:800px){.tasks-shell .tw-sidebar{display:none}.tasks-shell .tw-head{min-height:78px}.tasks-shell .tw-scroll{padding:16px}.tasks-shell .tw-task-card{border-radius:14px;border:1px solid var(--tk-line);border-left:3px solid var(--tk-blue);background:var(--ui-surface);padding:16px;box-shadow:var(--tk-shadow)}.tasks-shell .tw-task-card .tw-identity strong{font-weight:760}.tasks-shell .tw-kpis{gap:9px}.tasks-shell .tw-kpi{padding:12px;min-height:100px}.tasks-shell .tw-kpi strong{font-size:24px}.tasks-shell .tw-filters.expanded{padding:14px}}
@media(max-width:520px){.tasks-shell .tw-head{padding:15px 14px}.tasks-shell .tw-head h1{font-size:19px}.tasks-shell .tw-head h1::before{height:33px;width:33px;background-size:19px}.tasks-shell .tw-scroll{padding:14px 12px}.tasks-shell .tw-kpi{padding:11px 9px;min-height:95px}.tasks-shell .tw-kpi>span{font-size:10px}.tasks-shell .tw-kpi strong{font-size:23px}.tasks-shell .tw-filters.expanded{padding:11px}.tasks-shell .tw-task-card{padding:13px}}
@media(prefers-reduced-motion:reduce){.tasks-shell .tw-kpi,.tasks-shell .tw-nav-item{transition:none}.tasks-shell .tw-kpi:hover:not(:disabled){transform:none}}
/* Accessibility contrast refinements for compact navigation and dark themes. */
.tasks-shell .tw-nav-item:not(.active):not(.active-owner){color:var(--tk-muted)}
:root[data-theme=dark] .tasks-shell .tw-nav-item:not(.active):not(.active-owner),[data-theme=dark] .tasks-shell .tw-nav-item:not(.active):not(.active-owner){color:#c5d0e5}
:root[data-theme=dark] .tasks-shell .tw-nav-item.active,:root[data-theme=dark] .tasks-shell .tw-nav-item.active-owner,[data-theme=dark] .tasks-shell .tw-nav-item.active,[data-theme=dark] .tasks-shell .tw-nav-item.active-owner{color:#365ea9;background:#e7efff}
:root[data-theme=dark] .tasks-shell .tw-table th,[data-theme=dark] .tasks-shell .tw-table th{background:color-mix(in srgb,var(--ui-surface) 89%,#536d9e);color:#d4dfee}
:root[data-theme=dark] .tasks-shell .tw-status,:root[data-theme=dark] .tw-detail .tw-status,[data-theme=dark] .tasks-shell .tw-status,[data-theme=dark] .tw-detail .tw-status{background:#263751;border-color:#486ca2;color:#acc7ff}
:root[data-theme=dark] .tasks-shell .tw-status[data-status=done],:root[data-theme=dark] .tw-detail .tw-status[data-status=done],[data-theme=dark] .tasks-shell .tw-status[data-status=done],[data-theme=dark] .tw-detail .tw-status[data-status=done]{background:#183d35;border-color:#33785e;color:#9dedc8}
:root[data-theme=dark] .tasks-shell .tw-status[data-status=in_progress],:root[data-theme=dark] .tw-detail .tw-status[data-status=in_progress],[data-theme=dark] .tasks-shell .tw-status[data-status=in_progress],[data-theme=dark] .tw-detail .tw-status[data-status=in_progress]{background:#45341d;border-color:#816137;color:#f2c783}
:root[data-theme=dark] .tasks-shell .tw-status[data-status=cancelled],:root[data-theme=dark] .tw-detail .tw-status[data-status=cancelled],[data-theme=dark] .tasks-shell .tw-status[data-status=cancelled],[data-theme=dark] .tw-detail .tw-status[data-status=cancelled]{background:#4b2935;border-color:#945267;color:#ffadbc}
@media(max-width:520px){.tasks-shell .tw-kpi .ui-icon{display:none}}
