/* v198: shared Digital Space presentation; no business rules. */
html body .side-user, html body .fx-side-card { display:none!important; }
html body .appearance-switch{display:flex;gap:6px;padding:6px;background:var(--soft);border-radius:14px}
html body .appearance-switch button{flex:1;padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}
html body .appearance-switch [aria-pressed=true]{background:var(--card);border-color:var(--line);font-weight:700}
html body .fresh-swatches{flex-wrap:wrap;justify-content:center}
html body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--tint2);outline-offset:3px}
html body #modalX, html body .fresh-pop-close{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;padding:0!important;background:#FFFFFF!important;color:#19251E!important;border:1px solid #D5DED8!important;border-radius:50%!important;font-size:26px;line-height:1;box-shadow:none}
html body #modalX:hover{background:#EAF0EC!important}
html body #modalX:focus-visible{outline:3px solid #82B594;outline-offset:3px}
html body .modal-back{padding:16px;box-sizing:border-box}
html body .modal{display:flex;flex-direction:column;max-height:calc(var(--ds-vh,100dvh) - 32px);width:min(900px,100%);overflow:hidden;min-height:0}
html body .modal-head,html body .modal-foot{flex-shrink:0;background:var(--card);padding:16px 22px;margin:0;gap:12px}
html body .modal-head h3{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
html body .modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px;background:var(--panel)}
html body .modal .audit{flex-shrink:0;padding:7px 22px;font-size:11px;max-height:48px;overflow:auto}
html body .modal-body label{font-size:13px;color:var(--ink);line-height:1.5}
html body .modal-body :is(input,select,textarea){font-size:15px;background:var(--card);color:var(--ink);border-color:var(--field-border);border-radius:12px;min-width:0}
html body .modal-body :is(input:not([type=checkbox]):not([type=radio]),select){min-height:42px}
html body .modal-body textarea{min-height:90px}
html body .fsec{padding-top:12px;border-top:1px solid var(--line)}
html body .fsec-t{font-size:15px;font-weight:700}
html body .ds-details{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:14px 0;padding:14px}
html body .ds-details summary{cursor:pointer;font-weight:600;color:var(--ink);padding:3px}
html body .ds-details[open] summary{margin-bottom:14px}
html body .card{border:1px solid var(--line);box-shadow:var(--f-shadow);border-radius:22px}
html body .toolbar{flex-wrap:wrap;gap:10px}
html body .toolbar :is(input,select){max-width:100%;min-width:0}
html body .tbl thead th{background:var(--soft);color:var(--muted);font-size:11px;letter-spacing:.04em;padding:12px;text-transform:uppercase}
html body .tbl td{padding:14px 12px;border-bottom:1px solid var(--line)}
html body .tbl tr.click:hover{background:var(--tint)!important}
html body .cnt-stats{gap:12px}
html body .cnt-stat{border:1px solid var(--line);border-radius:18px;background:var(--card)}
html body .cnt-board{gap:16px;align-items:start}
html body .cnt-col{background:var(--soft);border:1px solid var(--line);border-radius:18px}
html body .cnt-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
html body .ds-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0 18px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:18px}
html body .ds-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;flex:1 1 190px}
html body .ds-filters :is(input,select){width:100%;min-height:42px;box-sizing:border-box}
html body .ds-result{font-size:12px;color:var(--muted)}
html body .ds-hidden{display:none!important}
html body .ds-arrange{margin:8px 0;color:var(--muted);font-size:12px}
html body .ds-arrange summary{cursor:pointer;padding:9px}
html body .ds-order-row{display:flex;align-items:center;gap:4px;padding:5px;border-bottom:1px solid var(--line)}
html body .ds-order-row span{flex:1;min-width:0;overflow-wrap:anywhere}
html body .ds-order-row button{color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;min-width:32px;min-height:36px;cursor:pointer}
html body .h2h-logout{white-space:nowrap;font-size:12px;padding:9px 12px!important;flex-shrink:0}
html body.fresh-dark :is(a:not(.btn):not(.fx-sc-btn):not(.fx-admin-btn),.nav-item.active,.fsec-t){color:var(--tint2)}
html body.fresh-dark :is(.btn-ghost,.btn-sm:not(.btn-primary),.seg:not(.on)){color:var(--ink)}
html body .admin-wrap :is(.grid2,.grid3){gap:18px}
@media(max-width:900px){
 html body .main-col{min-width:0;width:100%}
 html body .topbar{flex-wrap:wrap;height:auto;gap:8px}
 html body .fresh-tb-right{margin-left:auto;max-width:100%;flex-wrap:wrap}
 html body .modal-body .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 html body .shell{padding:8px;gap:8px}
 html body #main{padding:12px 4px calc(90px + env(safe-area-inset-bottom))}
 html body .topbar{padding:10px;border-radius:18px}
 html body .fresh-me-txt{display:none}
 html body .h2h-logout{min-height:40px}
 html body .modal-back{padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 html body .modal{max-height:calc(var(--ds-vh,100dvh) - 24px);border-radius:20px}
 html body .modal-head,html body .modal-foot{padding:12px;gap:8px}
 html body .modal-body{padding:14px}
 html body .modal-body .frow{flex-direction:column}
 html body .modal-body :is(input,select,textarea){font-size:16px}
 html body .modal-body .fgrid{grid-template-columns:minmax(0,1fr)}
 html body .modal-foot{flex-wrap:wrap}
 html body .modal-foot .btn{min-height:42px}
 html body .modal-foot .spacer{display:none}
 html body #modalSave{margin-left:auto}
 html body .modal .audit{padding:6px 12px}
 html body .tbl-task.ds-cards{display:block;min-width:0;width:100%}
 html body .tbl-task.ds-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html body .tbl-task.ds-cards tbody{display:grid;gap:12px}
 html body .tbl-task.ds-cards tr{display:block;background:var(--card)!important;border:1px solid var(--line);border-radius:16px;padding:10px}
 html body .tbl-task.ds-cards td{display:flex;align-items:baseline;gap:12px;padding:8px 4px;white-space:normal;overflow-wrap:anywhere}
 html body .tbl-task.ds-cards td::before{content:attr(data-label);flex:0 0 72px;font-size:11px;font-weight:600;color:var(--muted)}
 html body .tbl-task.ds-cards td[colspan]::before{display:none}
 html body .cnt-board{display:flex;flex-direction:column;overflow:visible}
 html body .cnt-col{width:100%;min-width:0}
 html body .cnt-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 html body :is(.btn,.seg,.nav-item){min-height:40px}
}
@media(max-height:500px){html body .modal-back{padding:6px}html body .modal{max-height:calc(var(--ds-vh,100dvh) - 12px)}html body .modal-head,html body .modal-foot{padding:8px 12px}html body .modal .audit{display:none}}
@media(prefers-reduced-motion:reduce){html body *,html body *::before,html body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html body .modal{max-height:none;overflow:visible;display:block}html body .modal-body{overflow:visible}html body :is(.ds-filters,.ds-arrange){display:none}}
/* Keep overlays above the mobile dock and avoid intrinsic grid overflow. */
html body #modalRoot .modal-back{z-index:10000}
html body .fx-dayroot, html body .fx-day, html body .fx-grid,html body .fx-grid .card{min-width:0;max-width:100%;box-sizing:border-box}
html body .fx-grid.ds-overview,html body .fx-grid.ds-extra{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none;align-items:start}
html body :is(.ds-overview,.ds-extra) .card{grid-area:auto;width:auto;min-width:0}
html body .fx-greet h2{font-size:clamp(26px,3vw,40px)}
html body .ds-dashboard-more{margin:0}
html body .fx-kpis{min-width:0;grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){html body .fx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}html body .fx-grid .card{padding:18px}}
@media(max-width:600px){html body .fx-grid.ds-overview,html body .fx-grid.ds-extra{grid-template-columns:minmax(0,1fr)}html body .fx-grid .card{padding:16px}html body .fx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}html body .fx-kpi{min-width:0;padding:16px}html body .fx-k-num{font-size:40px!important}}
/* One visual language across Accounting, Team and Tax workspaces. */
html body .ds-acct-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-bottom:24px}
html body .ds-acct-head h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.035em;margin:4px 0 10px;line-height:1.15}
html body .ds-eyebrow{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin:0}
html body .ds-accounting .kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html body .ds-accounting .kpi{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px;background:var(--card);border-color:var(--line);border-radius:22px;min-width:0;box-shadow:var(--f-shadow)}
html body .ds-accounting .kpi::before{display:none}
html body .ds-accounting .kpi-icon{background:var(--tint);border-radius:12px;font-size:20px;width:40px;height:40px;display:grid;place-items:center}
html body .ds-accounting .kpi-label{color:var(--muted);font-weight:500}
html body .ds-accounting .kpi-value{color:var(--ink);font-size:clamp(24px,2.8vw,38px);font-weight:500;letter-spacing:-.03em;overflow-wrap:anywhere}
html body .ds-accounting .kpi-body{min-width:0;max-width:100%}
html body .ds-accounting .kpi-mini-strip{background:var(--card);border:1px solid var(--line);border-radius:18px;margin:16px 0;display:flex;flex-wrap:wrap}
html body .ds-accounting .kpi-mini{flex:1 1 180px;padding:16px;color:var(--ink)}
html body .ds-accounting .dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
html body .ds-accounting .dash-grid .card{min-width:0;overflow:auto;padding:20px;background:var(--card)}
html body .ds-accounting .chart{max-height:220px}
html body .ds-accounting .kpi-sub{color:var(--muted)}
html body .ds-accounting .sec-dot{background:var(--tint2);box-shadow:none}
html body .ds-accounting .see-all{color:var(--ink)}
html body .ds-accounting .tbl{min-width:0}
html body .ds-accounting .tbl td{white-space:normal}
html body .ds-accounting .kpi-value.neg{color:var(--neg)}
html body .topbar .clock-widget{background:var(--brand)!important}
html body .topbar .clock-widget .cw-one{color:#19251E!important}
html body.fresh-dark #fxRingArc{stroke:var(--tint2)!important}
html body.fresh-dark .fx-sec-dot{fill:var(--tint2)!important}
html body.fresh-dark .fx-ring-btns button{color:var(--ink)}
@media(max-width:1100px){html body .ds-accounting .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html body .ds-accounting .dash-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){html body .ds-accounting .kpi-grid{gap:10px}html body .ds-accounting .kpi{padding:14px}html body .ds-accounting .kpi-value{font-size:24px}html body .ds-accounting .kpi-label{font-size:12px}html body .ds-accounting .dash-grid .card{padding:14px}}
/* Semantic status colours are deliberately invariant across accent and mode. */
html body [data-ds-status]{color:var(--status-fg)!important;background:var(--status-bg)!important;border-color:var(--status-fg)!important}
html body select[data-ds-status]{border-left-width:5px!important}
html body .badge.review{color:#6D28D9!important;background:#EDE9FE!important}
html body .badge.redo{color:#9A3412!important;background:#FFEDD5!important}
html body .badge.cancelled{color:#991B1B!important;background:#FEE2E2!important}
html body .badge:is(.paid,.received,.active,.settled){color:#166534!important;background:#DCFCE7!important}
html body .badge:is(.pending,.today,.paused,.salary){color:#92400E!important;background:#FEF3C7!important}
html body .badge:is(.overdue,.left){color:#991B1B!important;background:#FEE2E2!important}
html body .badge:is(.open,.partial){color:#1E40AF!important;background:#DBEAFE!important}
html body .fx-ov-bar .fill{background:#64748B!important}
html body .fx-ov-cap.prog{background:#DBEAFE!important;color:#1E40AF!important;border:1px solid #2563EB}
html body .fx-ov-cap.rev{background:#EDE9FE!important;color:#6D28D9!important;border:1px solid #7C3AED}
html body .fx-ov-cap.done{background:#DCFCE7!important;color:#166534!important;border:1px solid #15803D}

html body .badge[data-ds-status]{color:var(--status-fg)!important;background:var(--status-bg)!important;border-color:var(--status-fg)!important}
html body .ds-accounting .kpi-mini{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line);border-radius:14px;box-shadow:none}
html body .ds-accounting .kpi-mini-val{color:var(--ink)!important}
html body .ds-accounting .kpi-icon{background:var(--tint)!important;border-color:var(--line)!important}
html body .bd-col.todo{--sc:#64748B;--bc:#64748B}
html body .bd-col.prog{--sc:#2563EB;--bc:#2563EB}
html body .bd-col.review{--sc:#7C3AED;--bc:#7C3AED}
html body .bd-col.redo{--sc:#C2410C;--bc:#C2410C}
html body .bd-col.done{--sc:#15803D;--bc:#15803D}
html body .bd-col.cancelled{--sc:#B91C1C;--bc:#B91C1C}
html body .bd-col .bd-col-head{border-top:3px solid var(--sc);color:var(--ink);background:var(--card)}
/* v199: the complete task follows its saved status, independently of theme. */
html body :is(#main,#modalRoot) [data-task-status]{background:var(--task-bg)!important;color:var(--task-fg)!important;border-color:var(--task-bg)!important;box-shadow:none!important;border-radius:14px}
html body :is(#main,#modalRoot) [data-task-status]:is(:hover,:focus-visible){outline:2px solid var(--tint2);outline-offset:3px}
html body :is(#main,#modalRoot) [data-task-status] :is(td,div,span,p,b,strong,small,a){color:var(--task-fg)!important}
html body :is(#main,#modalRoot) [data-task-status] td{background:transparent!important}
html body :is(#main,#modalRoot) [data-task-status] :is(.muted,.tkc-meta,.tkc-id,.tkc-due,.bd-card-foot,.kpi-sub,td)::before{color:var(--task-fg)!important}
html body :is(#main,#modalRoot) [data-task-status] :is(.tkc-tag,.tkc-flag,.tkc-status,.badge,.bd-appr,.task-link,.fresh-av,.tkc-note,.tkc-foot,.tkc-meta){background:rgba(0,0,0,.18)!important;color:#FFFFFF!important;border-color:rgba(255,255,255,.35)!important}
html body :is(#main,#modalRoot) [data-task-status] :is(button,.btn){background:#FFFFFF!important;color:#19251E!important;border-color:#FFFFFF!important}
html body :is(#main,#modalRoot) [data-task-status] :is(button,.btn) *{color:#19251E!important}
html body :is(#main,#modalRoot) [data-task-status] .tkc-dot{background:#FFFFFF!important}
html body .tkc-status[data-ds-status]{background:var(--status-bg)!important;color:var(--status-fg)!important}
html body .fx-ov-bar .fill{background:#475569!important}
html body .fx-ov-cap.prog{background:#1D4ED8!important;color:#FFFFFF!important;border-color:#1D4ED8}
html body .fx-ov-cap.rev{background:#6D28D9!important;color:#FFFFFF!important;border-color:#6D28D9}
html body .fx-ov-cap.done{background:#166534!important;color:#FFFFFF!important;border-color:#166534}
html body .bd-col.todo{--sc:#475569;--bc:#475569}
html body .bd-col.prog{--sc:#1D4ED8;--bc:#1D4ED8}
html body .bd-col.review{--sc:#6D28D9;--bc:#6D28D9}
html body .bd-col.redo{--sc:#9A3412;--bc:#9A3412}
html body .bd-col.done{--sc:#166534;--bc:#166534}
html body .bd-col.cancelled{--sc:#991B1B;--bc:#991B1B}
/* v200: typography follows the actual surface, not the global appearance. */
html body :is(#main,#modalRoot) [data-task-status] :is(.tkc-id,.tkc-due,.up-date){background:rgba(0,0,0,.22)!important;color:#FFFFFF!important;border-color:rgba(255,255,255,.3)!important}
html body :is(#main,#modalRoot) [data-task-status] :is(.tkc-id,.tkc-due,.up-date) *{color:#FFFFFF!important;opacity:1}
html body :is(#main,#modalRoot) [data-task-status] .up-date em{color:#FFFFFF!important}
html body :is(#main,#modalRoot) .fx-cal-up[data-task-status]{padding:14px;margin:10px 0;border-radius:16px;gap:14px;min-height:80px}
html body :is(#main,#modalRoot) .fx-cal-up[data-task-status] .up-date{width:48px;height:54px;border-radius:12px;gap:5px}
html body :is(#main,#modalRoot) .fx-cal-up[data-task-status] .up-mid b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;font-size:14px;font-weight:600}
html body :is(#main,#modalRoot) .fx-cal-up[data-task-status] .up-mid small{display:block;margin-top:5px;line-height:1.4;font-size:12px}
html body :is(#main,#modalRoot) .fx-cal-ev[data-task-status]{padding:14px;margin:10px 0;gap:12px}
html body .fx-cal-side .card{padding:20px}
html body .tkc-foot{gap:10px;flex-wrap:wrap;padding:10px 0}
html body .tkc-meta{line-height:1.5;padding:7px 0}
/* Match the reference: four KPI cards, weekly activity spanning two columns,
   reminders and plan alongside, progress/timer/completion beneath. */
html body .fx-grid.ds-reference{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"week week rem plan" "prog time task plan";gap:14px;align-items:stretch}
html body .ds-reference .fx-a-week{grid-area:week}
html body .ds-reference .fx-a-rem{grid-area:rem}
html body .ds-reference .fx-a-plan{grid-area:plan}
html body .ds-reference .fx-a-prog{grid-area:prog}
html body .ds-reference .fx-a-time{grid-area:time}
html body .ds-reference .fx-a-task{grid-area:task}
html body .ds-reference .card{min-width:0;padding:22px;border-radius:24px}
html body .ds-reference .fx-plan{background:var(--brand);color:#FFFFFF}
html body .ds-reference .fx-plan :is(h3,p,.muted,.fx-plan-empty){color:#FFFFFF!important}
html body .fx-plan input{color:#FFFFFF!important;background:rgba(255,255,255,.14)!important;color-scheme:dark}
html body .fx-plan input::placeholder{color:#FFFFFF;opacity:.85}
html body .fx-ring{max-width:100%}
html body .fx-ring svg{max-width:100%;height:auto}
html body .fx-sec-dot{fill:var(--ink)!important}
html body .fx-tabbar{background:var(--brand)!important;color:#FFFFFF}
/* Quiet theme-matched world clock cards; existing clock/converter logic stays. */
html body .wclock{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;box-shadow:var(--f-shadow)}
html body .wc-heading{grid-column:1/-1}
html body .wc-heading h3{font-size:18px;font-weight:600;margin:0;color:var(--ink)}
html body .wc-heading p{font-size:12px;color:var(--muted);margin:6px 0 0}
html body .wc-face{background:var(--soft)!important;border:1px solid var(--line)!important;padding:20px;border-radius:20px;gap:18px;min-width:0}
html body .wc-info{min-width:0;flex:1}
html body .wc-top{flex-wrap:wrap;gap:8px}
html body .wc-name{font-size:15px;font-weight:600;color:var(--ink)}
html body .wc-time{color:var(--ink);gap:3px;flex-wrap:wrap;margin:12px 0 8px}
html body .wc-time b{font-size:32px;font-weight:500;letter-spacing:-.04em}
html body :is(.wc-sec,.wc-ap,.wc-date,.wc-region,.wc-diff-lead,.wc-diff-sub){color:var(--muted)!important}
html body .wc-diff{color:var(--ink);font-size:20px;font-weight:600}
html body :is(.wc-pill,.wc-pill.alt,.wc-tod){background:var(--tint);color:var(--ink);border:1px solid var(--line)}
html body .wc-select{color:var(--ink);background:var(--card);border:1px solid var(--line);padding:7px 10px;border-radius:10px;max-width:150px}
html body .wc-convert{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:10px 14px}
html body .cface{width:78px;height:78px;flex:0 0 78px}
html body .cf-ring{fill:var(--card);stroke:var(--line)}
html body :is(.cf-hh,.cf-mh,.cf-tick.maj){stroke:var(--ink)}
html body .cf-sh{stroke:var(--tint2)}
html body .cf-cap{fill:var(--ink)}
@media(max-width:1250px){
 html body .fx-grid.ds-reference{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"week week" "rem plan" "prog time" "task task"}
 html body .wclock{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body .wc-mid{grid-column:1/-1;grid-row:3;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
}
@media(max-width:600px){
 html body .fx-grid.ds-reference{grid-template-columns:minmax(0,1fr);grid-template-areas:"week" "rem" "plan" "prog" "time" "task"}
 html body .ds-reference .card{padding:18px}
 html body .ds-reference .fx-plan{min-height:280px}
 html body .wclock{grid-template-columns:minmax(0,1fr);padding:18px;gap:14px}
 html body .wc-face{padding:16px;gap:12px}
 html body .wc-mid{grid-row:auto}
 html body .wc-time b{font-size:28px}
 html body .wc-select{margin-left:0}
 html body .cface{width:64px;height:64px;flex-basis:64px}
}
html body :is(#main,#modalRoot) [data-task-status] .tkc-prio{background:rgba(0,0,0,.22)!important;color:#FFFFFF!important}
html body .ds-reference .fx-plan::before{display:none}
html body .ds-reference .fx-plan-hint{color:#FFFFFF;opacity:.85}
/* Long titles must not stretch individual calendar days. */
html body .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
html body .cal-cell,html body .cal-pill{min-width:0}
html body .fx-cal-layout{grid-template-columns:minmax(0,1fr) 340px}
@media(max-width:980px){html body .fx-cal-layout{grid-template-columns:minmax(0,1fr)}}
/* v201: reference-style weekly capsules. Counts and week boundaries unchanged. */
html body .fx-a-week .fx-card-h{margin-bottom:4px;gap:12px;align-items:center}
html body .fx-a-week .fx-card-h h3{font-size:18px;font-weight:500}
html body .fx-a-week .fx-card-h>.muted{text-align:right;line-height:1.4}
html body .fx-week-bars{display:flex;align-items:flex-end;justify-content:space-between;height:202px;gap:clamp(8px,1.4vw,22px);padding:0 6px}
html body .fx-week-bars .fx-wb{min-width:0;flex:1 1 0;height:100%;gap:0;justify-content:flex-end}
html body .fx-week-bars .fx-wb .tag{font-size:10px;font-weight:500;line-height:16px;min-height:16px;margin-bottom:3px;white-space:nowrap}
html body .fx-week-bars .fx-wb.busy .tag{border:1px solid var(--line);border-radius:6px;padding:0 7px;background:var(--card);color:var(--ink)}
html body .fx-week-bars .fx-wb .wk-track{flex:0 0 auto;height:var(--week-height);width:100%;max-width:72px;border-radius:999px;border:0;background:none;overflow:hidden}
html body .fx-week-bars .fx-wb .wk-fill{height:100%;width:100%;border-radius:999px;background:var(--brand2);transition:none}
html body .fx-week-bars .fx-wb.busy .wk-fill{background:var(--brand)}
html body .fx-week-bars .fx-wb.empty .wk-track{border:1px solid color-mix(in srgb,var(--muted) 28%,transparent);background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in srgb,var(--muted) 50%,transparent) 4px 5px,transparent 5px 7px);box-sizing:border-box}
html body .fx-week-bars .fx-wb.empty .wk-fill{display:none}
html body .fx-week-bars .fx-wb .d{font-size:12px;font-weight:400!important;color:var(--muted)!important;line-height:16px;margin-top:9px}
html body.fresh-dark .fx-week-bars .fx-wb .wk-fill{background:var(--tint2)}
html body.fresh-dark .fx-week-bars .fx-wb.busy .wk-fill{background:color-mix(in srgb,var(--tint2) 70%,var(--ink))}
@media(max-width:600px){html body .fx-week-bars{gap:10px;padding:0}html body .fx-week-bars .fx-wb.busy .tag{padding:0 3px;font-size:9px}html body .fx-a-week .fx-card-h h3{font-size:17px}}
/* Avoid the shared empty-state padding shifting zero-day bars upward. */
html body .fx-week-bars .fx-wb{padding:0;box-sizing:border-box}
/* v204: Time & Attendance presentation; existing timers/actions remain wired. */
html body .tc-workspace{display:flex;flex-direction:column;gap:20px;min-width:0}
html body .tc-workspace>.card{margin:0;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:22px}
html body .tc-workspace .punch-card{width:100%;max-width:none;box-sizing:border-box;display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(200px,1fr) minmax(200px,.8fr);grid-template-areas:"heading status actions" "time frames actions" "meter meter actions" "help help help";gap:12px 28px;text-align:left;background:var(--card);box-shadow:var(--f-shadow)}
html body .tc-timer-heading{grid-area:heading}
html body .tc-eyebrow{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
html body .tc-timer-heading h3{font-size:18px;font-weight:600;margin:5px 0 0;color:var(--ink)}
html body .tc-workspace .punch-status{grid-area:status;justify-content:flex-start;align-self:center;margin:0;gap:8px}
html body .tc-workspace .punch-elapsed{grid-area:time;font-size:clamp(32px,4vw,52px);font-weight:500;letter-spacing:-.04em;color:var(--ink);opacity:1;line-height:1.2;white-space:nowrap}
html body .tc-workspace .punch-frames{grid-area:frames;align-self:center;color:var(--muted);font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere}
html body .tc-workspace .day-meter{grid-area:meter;width:100%;max-width:none;margin:4px 0 0;text-align:left}
html body .tc-workspace .day-meter-track{height:7px;background:var(--soft);border:1px solid var(--line);border-radius:99px}
html body .tc-workspace .day-meter-fill{background:var(--tint2)}
html body .tc-workspace .day-meter-lbl{display:block;color:var(--muted);font-size:12px;margin-top:8px;font-weight:400}
html body .tc-workspace .punch-actions{grid-area:actions;margin:0;align-self:center;gap:10px;min-width:0}
html body .tc-workspace .punch-one{min-height:56px;width:100%;max-width:280px;padding:12px 20px;border:0;border-radius:14px;background:var(--brand);color:#FFFFFF;box-shadow:none;gap:12px}
html body .tc-workspace .punch-one.pause{background:#92400E}
html body .tc-workspace .po-ic{font-size:18px}
html body .tc-workspace .po-lbl{font-size:16px;font-weight:600}
html body .tc-workspace .po-sub{font-size:12px;font-weight:400;opacity:.9}
html body .tc-workspace .punch-end{padding:10px 14px;min-height:40px;max-width:280px;width:100%;border-radius:12px;color:var(--neg);background:var(--card);border:1px solid var(--line);font-size:13px;font-weight:500}
html body .tc-workspace .tc-timer-help{grid-area:help;border-top:1px solid var(--line);padding-top:12px;margin-top:4px;color:var(--muted);font-size:12px}
html body .tc-timer-help summary{cursor:pointer;width:fit-content;padding:4px 0;color:var(--muted)}
html body .tc-timer-help p{max-width:760px;line-height:1.7;font-weight:400;margin:10px 0 0}
html body .tc-workspace .toolbar{align-items:center;gap:12px;margin-bottom:16px}
html body .tc-workspace h3{font-size:17px;line-height:1.4;font-weight:600}
html body .tc-workspace .toolbar :is(input,select){background:var(--soft);border:1px solid var(--line);border-radius:10px;min-height:40px;padding:8px 12px;color:var(--ink)}
html body .tc-workspace .tbl td{padding:14px 12px;line-height:1.5}
html body .tc-workspace .tbl th{text-transform:none;font-weight:600;letter-spacing:0;padding:12px}
html body .tc-workspace .kpi-sub{font-weight:400;line-height:1.6;color:var(--muted)}
html body .tc-workspace #liveRangeText{font-size:12px}
html body .tc-workspace .spark-legend{flex-wrap:wrap;gap:10px;font-size:12px}
@media(max-width:1250px){html body .tc-workspace .punch-card{grid-template-columns:minmax(0,1fr) minmax(180px,.75fr);grid-template-areas:"heading status" "time actions" "frames actions" "meter meter" "help help"}}
@media(max-width:600px){
 html body .tc-workspace{gap:16px}
 html body .tc-workspace>.card{padding:16px}
 html body .tc-workspace .punch-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "status" "time" "frames" "meter" "actions" "help";gap:12px}
 html body .tc-workspace .punch-elapsed{font-size:clamp(32px,10vw,44px)}
 html body .tc-workspace .punch-one,html body .tc-workspace .punch-end{max-width:none}
 html body .tc-workspace .toolbar h3{flex-basis:100%;margin:0}
 html body .tc-workspace .toolbar .spacer{display:none}
 html body .tc-workspace #livePanelTbl{min-width:580px}
 html body .tc-workspace .toolbar :is(input,select){font-size:16px;min-height:44px}
}

/* v205: daily review, using the selected theme's readable surfaces. */
html body .pw-back{padding:20px;box-sizing:border-box;background:rgba(12,18,15,.48)}
html body .pw-card{width:min(760px,100%);max-height:calc(var(--ds-vh,100dvh) - 40px);border-radius:26px;background:var(--card);overflow:hidden;box-shadow:0 24px 80px #0004}
html body .pw-head{flex-shrink:0;padding:24px 26px 20px;background:var(--card);color:var(--ink);border-bottom:1px solid var(--line)}
html body .pw-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}
html body .pw-hi{font-family:inherit;font-size:26px;line-height:1.25;font-weight:650;letter-spacing:-.025em;overflow-wrap:anywhere}
html body .pw-sub{font-size:13px;line-height:1.5;color:var(--muted);opacity:1;margin-top:7px}
html body .pw-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
html body .pw-stat{display:flex;flex-direction:column;gap:5px;padding:12px;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:14px;font-size:11px;line-height:1.4;font-weight:500}
html body .pw-stat b{font-size:25px;line-height:1.1;font-weight:650;font-variant-numeric:tabular-nums}
html body .pw-stat.neg{background:#FCE9EA;color:#9F2037;border-color:#EEC2CA}
html body .pw-body{min-height:0;padding:20px 26px;overflow:auto;overscroll-behavior:contain;background:var(--panel)}
html body .pw-sec{margin-bottom:22px}
html body .pw-sec:last-child{margin-bottom:0}
html body .pw-sec-h{font-size:13px;line-height:1.4;margin-bottom:10px;padding-left:10px;color:var(--ink)}
html body .pw-sec-n{background:var(--card);color:var(--muted);border:1px solid var(--line);font-size:11px;padding:2px 8px}
html body .pw-list{gap:9px}
html body .pw-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);box-shadow:none;align-items:center}
html body .pw-row:hover{background:var(--soft);border-color:var(--muted)}
html body .pw-row .pw-id{grid-column:1;grid-row:1;font-size:10px;letter-spacing:.04em;color:var(--muted);font-weight:600}
html body .pw-row .pw-title{grid-column:1;grid-row:2;font-size:13px;line-height:1.5;font-weight:600;white-space:normal;overflow-wrap:anywhere;color:var(--ink);overflow:visible}
html body .pw-row .pw-who{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;gap:5px;color:var(--muted);font-size:11px}
html body .pw-row .pw-due{grid-column:2;grid-row:2;color:var(--muted);font-size:11px;text-align:right;font-weight:500}
html body .pw-row .pw-due.over{color:#B4233D;font-weight:650}
html body .pw-foot{flex-shrink:0;padding:17px 26px;background:var(--card);border-top:1px solid var(--line);gap:16px;flex-wrap:nowrap}
html body .pw-foot .pw-ack{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;margin:0;color:var(--muted);font-size:12px;font-weight:500;line-height:1.5;text-align:left;flex:1}
html body .pw-ack input{width:18px;height:18px;margin:0;accent-color:var(--brand2);cursor:pointer}
html body .pw-foot .btn{min-height:42px;min-width:90px;flex-shrink:0;white-space:nowrap}
html body .pw-foot .btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
html body .pw-empty{color:var(--muted);padding:28px 12px;font-size:15px;line-height:1.6}
html body.dark .pw-stat.neg{background:#42232B;color:#FFB8C5;border-color:#68404B}
html body.dark .pw-row .pw-due.over{color:#FFB8C5}
@media(max-width:520px){
 html body .pw-back{padding:10px}
 html body .pw-card{max-height:calc(var(--ds-vh,100dvh) - 20px);border-radius:20px}
 html body .pw-head{padding:18px 16px 16px}
 html body .pw-hi{font-size:22px}
 html body .pw-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
 html body .pw-stat{padding:9px 11px;gap:3px}
 html body .pw-stat b{font-size:22px}
 html body .pw-body{padding:16px}
 html body .pw-row{padding:12px;gap:5px 10px}
 html body .pw-row .pw-title{grid-column:1/-1;grid-row:2}
 html body .pw-row .pw-due{grid-column:1/-1;grid-row:3;text-align:left}
 html body .pw-foot{padding:14px 16px;gap:12px}
 html body .pw-foot .btn{width:100%}
}
@media(max-height:550px) and (min-width:521px){
 html body .pw-head{padding:12px 20px}
 html body .pw-eyebrow{display:none}
 html body .pw-hi{font-size:20px}
 html body .pw-sub{margin-top:3px}
 html body .pw-stats{margin-top:10px}
 html body .pw-stat{flex-direction:row;align-items:center;gap:8px;padding:8px 10px}
 html body .pw-stat b{font-size:20px}
 html body .pw-foot{padding:10px 20px}
}
