/* UI-028 whole-site finish: every Desk screen in the signed-off UI-027 look (R1c-light lead, R1c-dark, R6c-light, R3c-light).
   Scoped to .k56.k56-r28 (every view except the UI-027 Track / reel / reports, which keep .k56-r27). Part 1 is generated by
   tools/gen_css028.py from desk-ui027.css (header, tab bar, sidebar, logo, colour tokens: copied, only the scope changes);
   part 2 (tools/desk-ui028.hand.css) maps the older tokens and components onto the same system. Remove the <link> to roll back. */
/* ---- part 1: chrome from desk-ui027.css ---- */
.k56.k56-r28{--r27-bg:#F4F3F0;--r27-card:#FFFFFF;--r27-ink:#16191D;--r27-mut:#5E636B;--r27-line:#E6E5E1;--r27-trk:#E9EAEC;--r27-fill:#1C222A;--r27-green:#3E9A62;--r27-nav:#F8F7F4;--r27-tile:linear-gradient(#FBFBFB 0 50%,#F1F1F2 50% 100%);--r27-tile-sh:0 1px 2px rgba(0,0,0,.10),inset 0 0 0 1px rgba(0,0,0,.05);--r27-red:#FD0100;--r27-p-ah:#DAEEF0;--r27-p-ah-t:#244A50;--r27-p-on:#D9F1DB;--r27-p-on-t:#206223;--r27-p-bh:#F9E9C6;--r27-p-bh-t:#5A4210;--r27-p-gr:#EBEBEC;--r27-p-gr-t:#26282B;--r27-p-gr-b:#DCDDDF;--r27-ig:#B32E80;--r27-yt:#F56759;--r27-tt:#12BADF;--r27-bb:#747880;--r27-teal:#2A8F95;--r27-sh:0 0 0 1px rgba(16,17,20,.07),0 1px 2px rgba(16,17,20,.04)}
@media(max-width:1099px){
  .k56.k56-r28 .k56-top{position:relative;top:auto;z-index:30;display:flex;align-items:flex-start;height:36px;min-height:0;margin:0 -16px;padding:12px 16px 0;box-shadow:none!important;background:none}
  .k56.k56-r28 .k56-top::before{display:none!important}
  .k56.k56-r28 .k56-top>.k56-brand{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;height:auto;min-height:0;margin:0;padding:0;transform:none!important}
  .k56.k56-r28 .k56-top .k56-brand__img{width:50px;height:13.9px}
  .k56.k56-r28 .k56-top .k56-brand__cap{width:50px}
  .k56.k56-r28 .k56-top .k56-brand__l{font-size:3.6px;letter-spacing:0}
  .k56.k56-r28 .k56-top>.k56-theme,.k56.k56-r28 .k56-top>.k56-hbtn{display:none!important}
  .k56.k56-r28 .k56-top>.k56-r26__live{margin:7px 0 0 auto;gap:6px;font-size:8px;font-weight:700;letter-spacing:.04em;line-height:1}
  .k56.k56-r28 .k56-top>.k56-r26__live i{width:7px;height:7px;background:var(--btn,var(--r27-red))}
  .k56.k56-r28 .k56 .k56-top>.k56-nav,.k56.k56-r28 .k56-top>.k56-nav{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;height:calc(56px + env(safe-area-inset-bottom));margin:0;padding:0 0 env(safe-area-inset-bottom);border:0;border-radius:0;box-shadow:0 -1px 0 var(--r27-line);background:var(--r27-nav)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
  .k56.k56-r28 .k56-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:0;height:56px;padding:12px 0 0;border-radius:0;background:none!important;color:var(--r27-ink);font-size:8px;font-weight:500;line-height:1.2;box-shadow:none}
  .k56.k56-r28 .k56-nav a::before{display:block;width:16px;height:16px;margin:0;background:currentColor;-webkit-mask:var(--ic) center/16px no-repeat;mask:var(--ic) center/16px no-repeat}
  .k56.k56-r28 .k56-nav a::after{display:none}
  .k56.k56-r28 .k56-nav a.on{color:var(--r27-ink);font-weight:500}
  .k56.k56-r28 .k56-nav a[data-v=library],.k56.k56-r28 .k56-nav a[data-v=brand]{display:none}
  .k56.k56-r28 .k56-nav a[data-v=list]{order:1;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10v4a1 1 0 0 0 1 1H7l7 4.5v-15L7 9H4.5a1 1 0 0 0-1 1z'/%3E%3Cpath d='M7 15l1.3 4.5'/%3E%3Cpath d='M17.5 9.2a3.5 3.5 0 0 1 0 5.6'/%3E%3Cpath d='M19.8 6.6a7 7 0 0 1 0 10.8'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=studio]{order:2;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='3'/%3E%3Cpath d='M10 8.6v6.8l5.4-3.4z'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=wizard]{order:3;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v12M6 12h12' stroke-width='2.4'/%3E%3C/svg%3E");color:#fff;padding-top:9px}
  .k56.k56-r28 .k56-nav a[data-v=wallet]{order:4;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7.5V17a2.5 2.5 0 0 0 2.5 2.5h12a1.5 1.5 0 0 0 1.5-1.5V9a1.5 1.5 0 0 0-1.5-1.5H6A2 2 0 0 1 4 5.5 2 2 0 0 1 6 3.5h11'/%3E%3Cpath d='M20 11h-3.5a2 2 0 0 0 0 4H20'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=settings]{order:5;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=wizard]::after{content:"";display:block;position:absolute;z-index:-1;left:50%;top:9px;width:32px;height:32px;margin:0 0 0 -16px;border-radius:50%;background:var(--btn,var(--r27-red));box-shadow:0 2px 6px rgba(253,1,0,.25);transform:none}
  .k56.k56-r28 .k56-nav a[data-v=wizard]::before{width:32px;height:32px;margin:0;background:#fff;-webkit-mask-size:18px;mask-size:18px}
  .k56.k56-r28 .k56-nav a[data-v=wizard] .k56-nl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .k56.k56-r28:has(.k56-nav){padding-bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media(min-width:1100px){
  .k56.k56-r28 .k56-top{position:fixed;left:0;top:0;bottom:0;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:0;width:176px;margin:0;padding:21px 12px;justify-content:flex-start;box-shadow:none!important;background:var(--r27-bg);border-right:1px solid var(--r27-line)}
  .k56.k56-r28 .k56-top::before{display:none!important}
  .k56.k56-r28 .k56-top>.k56-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;height:auto;min-height:0;margin:0 0 30px 10px;padding:0;transform:none!important}
  .k56.k56-r28 .k56-top .k56-brand__img{width:107px;height:29.7px}
  .k56.k56-r28 .k56-top .k56-brand__cap{width:107px}
  .k56.k56-r28 .k56-top>.k56-theme,.k56.k56-r28 .k56-top>.k56-hbtn,.k56.k56-r28 .k56-top>.k56-r26__live{display:none!important}
  .k56.k56-r28 .k56-top>.k56-nav{position:static;display:flex;flex:none;flex-direction:column;gap:1px;margin:0;padding:0;background:none;box-shadow:none;border:0}
  .k56.k56-r28 .k56-nav a{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:15px;min-height:44px;height:44px;padding:0 0 0 8px;border-radius:7px;background:none;color:var(--r27-ink);font-size:14px;font-weight:500;box-shadow:none}
  .k56.k56-r28 .k56-nav a::before{display:block;width:19px;height:19px;margin:0;background:currentColor;-webkit-mask:var(--ic) center/19px no-repeat;mask:var(--ic) center/19px no-repeat}
  .k56.k56-r28 .k56-nav a::after{display:none}
  .k56.k56-r28 .k56-nav a.on{background:#E9E8E5}
  .k56.k56-r28 .k56-nav a:hover{background:#EDECE9}
  .k56.k56-r28 .k56-nav a[data-v=library],.k56.k56-r28 .k56-nav a[data-v=brand]{display:none}
  .k56.k56-r28 .k56-nav a[data-v=list]{order:1;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10v4a1 1 0 0 0 1 1H7l7 4.5v-15L7 9H4.5a1 1 0 0 0-1 1z'/%3E%3Cpath d='M7 15l1.3 4.5'/%3E%3Cpath d='M17.5 9.2a3.5 3.5 0 0 1 0 5.6'/%3E%3Cpath d='M19.8 6.6a7 7 0 0 1 0 10.8'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=studio]{order:2;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='3'/%3E%3Cpath d='M10 8.6v6.8l5.4-3.4z'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=wallet]{order:3;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7.5V17a2.5 2.5 0 0 0 2.5 2.5h12a1.5 1.5 0 0 0 1.5-1.5V9a1.5 1.5 0 0 0-1.5-1.5H6A2 2 0 0 1 4 5.5 2 2 0 0 1 6 3.5h11'/%3E%3Cpath d='M20 11h-3.5a2 2 0 0 0 0 4H20'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=settings]{order:4;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=wizard]{order:0;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v12M6 12h12' stroke-width='2.4'/%3E%3C/svg%3E");justify-content:center;gap:6px;height:43px;min-height:43px;margin:0 0 14px 5px;padding:0;border-radius:8px;background:var(--btn,var(--r27-red))!important;color:#fff;font-size:14px;font-weight:600}
  .k56.k56-r28 .k56-nav a[data-v=wizard]::before{width:16px;height:16px;background:#fff;-webkit-mask-size:16px;mask-size:16px}
  .k56.k56-r28 .k56-nav a[data-v=wizard] .k56-nl{display:none}
  .k56.k56-r28 .k56-nav a[data-v=wizard] .k56-nl2{display:inline!important}
}
html[data-k56-theme=dark] .k56.k56-r28{--r27-bg:#070707;--r27-card:#111111;--r27-ink:#F4F2EE;--r27-mut:#A3A19C;--r27-line:#262625;--r27-trk:#262625;--r27-fill:#FAF6E9;--r27-green:#3FD07F;--r27-nav:#0E0E0E;--r27-tile:linear-gradient(#232323 0 50%,#1D1D1D 50% 100%);--r27-tile-sh:inset 0 0 0 1px rgba(255,255,255,.05);--r27-p-ah:#61C9C3;--r27-p-ah-t:#0D2A28;--r27-p-on:#A5D3A3;--r27-p-on-t:#132015;--r27-p-bh:#D7AB4C;--r27-p-bh-t:#2A1E05;--r27-p-gr:#5E6064;--r27-p-gr-t:#F2F2F2;--r27-p-gr-b:transparent;--r27-ig:linear-gradient(90deg,#7754EB,#C35BB5 45%,#F1878A 75%,#F6B26B);--r27-yt:#F55B5C;--r27-tt:linear-gradient(90deg,#3FD3CC,#E66A8A);--r27-bb:linear-gradient(90deg,#8E9196,#B5B8BD);--r27-teal:#5FC2C0;--r27-sh:0 0 0 1px rgba(255,255,255,.05)}
@media(prefers-color-scheme:dark){
  html:not([data-k56-theme=light]) .k56.k56-r28{--r27-bg:#070707;--r27-card:#111111;--r27-ink:#F4F2EE;--r27-mut:#A3A19C;--r27-line:#262625;--r27-trk:#262625;--r27-fill:#FAF6E9;--r27-green:#3FD07F;--r27-nav:#0E0E0E;--r27-tile:linear-gradient(#232323 0 50%,#1D1D1D 50% 100%);--r27-tile-sh:inset 0 0 0 1px rgba(255,255,255,.05);--r27-p-ah:#61C9C3;--r27-p-ah-t:#0D2A28;--r27-p-on:#A5D3A3;--r27-p-on-t:#132015;--r27-p-bh:#D7AB4C;--r27-p-bh-t:#2A1E05;--r27-p-gr:#5E6064;--r27-p-gr-t:#F2F2F2;--r27-p-gr-b:transparent;--r27-ig:linear-gradient(90deg,#7754EB,#C35BB5 45%,#F1878A 75%,#F6B26B);--r27-yt:#F55B5C;--r27-tt:linear-gradient(90deg,#3FD3CC,#E66A8A);--r27-bb:linear-gradient(90deg,#8E9196,#B5B8BD);--r27-teal:#5FC2C0;--r27-sh:0 0 0 1px rgba(255,255,255,.05)}
}
@media(max-width:1099px){
  html[data-k56-theme=dark] .k56.k56-r28{--r27-bg:#070707;--r27-card:#111111;--r27-ink:#F4F2EE;--r27-mut:#A3A19C;--r27-line:#262625;--r27-trk:#262625;--r27-fill:#FAF6E9;--r27-green:#3FD07F;--r27-nav:#0E0E0E;--r27-tile:linear-gradient(#232323 0 50%,#1D1D1D 50% 100%);--r27-tile-sh:inset 0 0 0 1px rgba(255,255,255,.05);--r27-p-ah:#61C9C3;--r27-p-ah-t:#0D2A28;--r27-p-on:#A5D3A3;--r27-p-on-t:#132015;--r27-p-bh:#D7AB4C;--r27-p-bh-t:#2A1E05;--r27-p-gr:#5E6064;--r27-p-gr-t:#F2F2F2;--r27-p-gr-b:transparent;--r27-ig:linear-gradient(90deg,#7754EB,#C35BB5 45%,#F1878A 75%,#F6B26B);--r27-yt:#F55B5C;--r27-tt:linear-gradient(90deg,#3FD3CC,#E66A8A);--r27-bb:linear-gradient(90deg,#8E9196,#B5B8BD);--r27-teal:#5FC2C0;--r27-sh:0 0 0 1px rgba(255,255,255,.05);--r27-dial:#FAF6E9;--r27-dialt:#2A2A2A}
  html[data-k56-theme=dark] .k56.k56-r28 .k56-top{margin:0 -12px;padding:10px 16px 0;height:30px}
  html[data-k56-theme=dark] .k56.k56-r28 .k56-nav a[data-v=list]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='2.5'/%3E%3Ccircle cx='9' cy='9' r='1.6'/%3E%3Cpath d='M20.5 15.5l-4.5-4.5-10 9.5'/%3E%3C/svg%3E")}
  html[data-k56-theme=dark] .k56.k56-r28 .k56-nav a[data-v=studio]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='8' width='17' height='12.5' rx='2'/%3E%3Cpath d='M3.5 8l1-3.5 15.5 0 .5 3.5'/%3E%3Cpath d='M8 4.5L9.5 8M13 4.5L14.5 8'/%3E%3Cpath d='M10.5 11.5v5l4-2.5z'/%3E%3C/svg%3E")}
}
@media(max-width:1099px) and (prefers-color-scheme:dark){
  html:not([data-k56-theme=light]) .k56.k56-r28{--r27-bg:#070707;--r27-card:#111111;--r27-ink:#F4F2EE;--r27-mut:#A3A19C;--r27-line:#262625;--r27-trk:#262625;--r27-fill:#FAF6E9;--r27-green:#3FD07F;--r27-nav:#0E0E0E;--r27-tile:linear-gradient(#232323 0 50%,#1D1D1D 50% 100%);--r27-tile-sh:inset 0 0 0 1px rgba(255,255,255,.05);--r27-p-ah:#61C9C3;--r27-p-ah-t:#0D2A28;--r27-p-on:#A5D3A3;--r27-p-on-t:#132015;--r27-p-bh:#D7AB4C;--r27-p-bh-t:#2A1E05;--r27-p-gr:#5E6064;--r27-p-gr-t:#F2F2F2;--r27-p-gr-b:transparent;--r27-ig:linear-gradient(90deg,#7754EB,#C35BB5 45%,#F1878A 75%,#F6B26B);--r27-yt:#F55B5C;--r27-tt:linear-gradient(90deg,#3FD3CC,#E66A8A);--r27-bb:linear-gradient(90deg,#8E9196,#B5B8BD);--r27-teal:#5FC2C0;--r27-sh:0 0 0 1px rgba(255,255,255,.05);--r27-dial:#FAF6E9;--r27-dialt:#2A2A2A}
  html:not([data-k56-theme=light]) .k56.k56-r28 .k56-top{margin:0 -12px;padding:10px 16px 0;height:30px}
  html:not([data-k56-theme=light]) .k56.k56-r28 .k56-nav a[data-v=list]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='2.5'/%3E%3Ccircle cx='9' cy='9' r='1.6'/%3E%3Cpath d='M20.5 15.5l-4.5-4.5-10 9.5'/%3E%3C/svg%3E")}
  html:not([data-k56-theme=light]) .k56.k56-r28 .k56-nav a[data-v=studio]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='8' width='17' height='12.5' rx='2'/%3E%3Cpath d='M3.5 8l1-3.5 15.5 0 .5 3.5'/%3E%3Cpath d='M8 4.5L9.5 8M13 4.5L14.5 8'/%3E%3Cpath d='M10.5 11.5v5l4-2.5z'/%3E%3C/svg%3E")}
}
/* ---- part 2: components ---- */
/* Tokens: the older desk tokens (desk-v56 .. desk-ui025) re-pointed at the UI-027 palette, so every older component turns neutral.
   --btn (the one red primary action) is NOT touched here, so a partner's own button colour (theme.php) still wins. */
html .k56.k56-r28{--bg:#F4F3F0;--panel:#FFFFFF;--panel2:#EFEEEB;--line:#E6E5E1;--rule:#E6E5E1;--text:#16191D;--muted:#5E636B;--dim:#6B6F76;
  --hot:#16191D;--hot-bg:rgba(22,25,29,.06);--sel:#FFFFFF;--track:#E9EAEC;--tick:#8A8E95;--tabbar:#F8F7F4;--seg:#FFFFFF;--tile:#F4F3F0;--focus:#16191D;
  --act:#16191D;--act-bg:rgba(22,25,29,.06);--chart:#1C222A;--chart2:#C3C6CB;--herostart:#16191D;--gtile:#EFEEEB;
  --ok:#206223;--ok-bg:#D9F1DB;--ahead:#244A50;--ahead-bg:#DAEEF0;--warn:#5A4210;--warn-bg:#F9E9C6;--sun:#26282B;--sun-bg:#EBEBEC;
  --teal-lo:#E3F1EF;--teal-hi:#2A8F95;--float-sh:var(--r27-sh);--r:8px;--rc:8px;--rs:6px;--k56-pagebg:#F4F3F0;--r28-sel:#16191D;--r28-on:#FFFFFF;
  --r28-err:#A50404;--r28-err-bg:#FBEFEE;--r28-h:#ECEBE8;color-scheme:light}
html[data-k56-theme=dark] .k56.k56-r28{--bg:#070707;--panel:#111111;--panel2:#1A1A1A;--line:#262625;--rule:#262625;--text:#F4F2EE;--muted:#A3A19C;--dim:#8F8D88;
  --hot:#F4F2EE;--hot-bg:rgba(244,242,238,.08);--sel:#111111;--track:#262625;--tick:#6E6C68;--tabbar:#0E0E0E;--seg:#1A1A1A;--tile:#1A1A1A;--focus:#F4F2EE;
  --act:#F4F2EE;--act-bg:rgba(244,242,238,.08);--chart:#F4F0E6;--chart2:#4A4946;--herostart:#F4F2EE;--gtile:#1A1A1A;
  --ok:#8FD19B;--ok-bg:rgba(165,211,163,.14);--ahead:#7FD3CE;--ahead-bg:rgba(97,201,195,.14);--warn:#E2BE6E;--warn-bg:rgba(215,171,76,.16);--sun:#E4E2DE;--sun-bg:#262625;
  --teal-lo:#132423;--teal-hi:#5FC2C0;--float-sh:0 0 0 1px rgba(255,255,255,.06);--k56-pagebg:#070707;--r28-sel:#F4F2EE;--r28-on:#070707;
  --r28-err:#FF8A80;--r28-err-bg:rgba(255,80,64,.10);--r28-h:#1C1C1C;color-scheme:dark}
@media(prefers-color-scheme:dark){html:not([data-k56-theme=light]) .k56.k56-r28{--bg:#070707;--panel:#111111;--panel2:#1A1A1A;--line:#262625;--rule:#262625;--text:#F4F2EE;--muted:#A3A19C;--dim:#8F8D88;
  --hot:#F4F2EE;--hot-bg:rgba(244,242,238,.08);--sel:#111111;--track:#262625;--tick:#6E6C68;--tabbar:#0E0E0E;--seg:#1A1A1A;--tile:#1A1A1A;--focus:#F4F2EE;
  --act:#F4F2EE;--act-bg:rgba(244,242,238,.08);--chart:#F4F0E6;--chart2:#4A4946;--herostart:#F4F2EE;--gtile:#1A1A1A;
  --ok:#8FD19B;--ok-bg:rgba(165,211,163,.14);--ahead:#7FD3CE;--ahead-bg:rgba(97,201,195,.14);--warn:#E2BE6E;--warn-bg:rgba(215,171,76,.16);--sun:#E4E2DE;--sun-bg:#262625;
  --teal-lo:#132423;--teal-hi:#5FC2C0;--float-sh:0 0 0 1px rgba(255,255,255,.06);--k56-pagebg:#070707;--r28-sel:#F4F2EE;--r28-on:#070707;
  --r28-err:#FF8A80;--r28-err-bg:rgba(255,80,64,.10);--r28-h:#1C1C1C;color-scheme:dark}}
html:has(.k56.k56-r28),html:has(.k56.k56-r28) body{background:var(--k56-pagebg,#F4F3F0)}
.k56.k56-r28{background:var(--bg);color:var(--text)}

/* Page frame: phones as Track (R1c), wide screens with the R3c sidebar */
@media(max-width:1099px){
  .k56.k56-r28{padding:0 16px calc(74px + env(safe-area-inset-bottom))}
  .k56.k56-r28 .k56-wrap,.k56.k56-r28 .k56-wrap--wide{max-width:760px!important;margin:0 auto;padding:0}
  .k56.k56-r28 .k56-top{margin-bottom:10px}
  .k56.k56-r28 .k56-top>.k56-onb-open,.k56.k56-r28 .k56-top>.k56-hbtn{display:inline-flex!important}
}
@media(min-width:1100px){
  .k56.k56-r28{padding:0}
  .k56.k56-r28 .k56-wrap,.k56.k56-r28 .k56-wrap--wide{max-width:none!important;margin:0;padding:24px 40px 56px 216px}
  .k56.k56-r28 .k56-wrap>:not(.k56-top){max-width:1120px}
  .k56.k56-r28 .k56-top>.k56-onb-open,.k56.k56-r28 .k56-top>.k56-hbtn{display:inline-flex!important;position:static;align-self:flex-start;margin:0 0 4px 4px}
  .k56.k56-r28 .k56-top>.k56-newmenu+*{margin-top:auto}
  html[data-k56-theme=dark] .k56.k56-r28 .k56-nav a.on,html[data-k56-theme=dark] .k56.k56-r28 .k56-nav a:hover{background:#1A1A1A}
}
@media(min-width:1100px) and (prefers-color-scheme:dark){html:not([data-k56-theme=light]) .k56.k56-r28 .k56-nav a.on,html:not([data-k56-theme=light]) .k56.k56-r28 .k56-nav a:hover{background:#1A1A1A}}
/* header extras kept (nothing functional removed): How it works, Operations, Close. Flat 32px icons, no capsule */
.k56.k56-r28 .k56-top>.k56-onb-open,.k56.k56-r28 .k56-top>.k56-hbtn{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:8px;background:transparent!important;box-shadow:none!important;color:var(--text)}
.k56.k56-r28 .k56-top>.k56-onb-open{margin-left:auto}
.k56.k56-r28 .k56-top>.k56-hbtn:hover,.k56.k56-r28 .k56-top>.k56-onb-open:hover{background:var(--r28-h)!important}

/* Type scale (R1c / R3c): condensed display titles, Open Sans body, small uppercase card labels */
.k56.k56-r28 h1{margin:4px 0 14px;font:700 28px/1.05 var(--fd);letter-spacing:-.005em;color:var(--text)}
.k56.k56-r28 .k56-card>h2,.k56.k56-r28 .k56-card>h3{font:700 11px/1.3 var(--ft,"K Text","Open Sans",system-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
.k56.k56-r28 h2.k56-group{margin:22px 0 10px;font:700 20px/1.1 var(--fd);letter-spacing:0;text-transform:none;color:var(--text)}
.k56.k56-r28 .muted,.k56.k56-r28 .hint,.k56.k56-r28 .tiny,.k56.k56-r28 .k56-tiny{color:var(--muted)}
.k56.k56-r28 .k56-greet{display:none}

/* Cards: white, small radius, hairline shadow (R1c) */
.k56.k56-r28 .k56-card{border:0;border-radius:8px;background:var(--panel);box-shadow:var(--r27-sh)}
.k56.k56-r28 .k56-card .k56-card{box-shadow:none;border-radius:0}

/* Test build notice: the quiet grey pill of the references, not a full-width bar (wording unchanged) */
.k56.k56-r28 .k56-testbar,.k56.k56-r28.k56--ops .k56-testbar{display:inline-flex;align-items:center;gap:6px;max-width:100%;box-sizing:border-box;margin:0 0 14px;padding:3px 10px;border-radius:10px;background:var(--panel2);color:var(--muted);font-size:11px;font-weight:600;line-height:1.35;box-shadow:none}
.k56.k56-r28 .k56-testbar::before{width:6px;height:6px;margin:0;border-radius:50%;background:currentColor;-webkit-mask:none;mask:none;opacity:.6}

/* Buttons: one red primary; everything else is ink-on-white outline or text */
.k56.k56-r28 .k56-btn{border-radius:8px;box-shadow:none}
.k56.k56-r28 .k56-btn--ghost,.k56.k56-r28 .k56-btn.k56-btn--ghost{background:var(--panel)!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px var(--line)!important}
.k56.k56-r28 .k56-btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--text)!important}
.k56.k56-r28 .k56-btn--text{background:none!important;color:var(--text)!important;box-shadow:none!important;text-decoration:underline;text-underline-offset:3px}
.k56.k56-r28 .k56-link,.k56.k56-r28 a.k56-link{color:var(--text)}

/* Pills: soft, small, like the pace pills */
.k56.k56-r28 .k56-pill{padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.35}
.k56.k56-r28 .k56-pill--live{background:var(--ok-bg);color:var(--ok)}
.k56.k56-r28 .k56-pill--needs{background:var(--warn-bg);color:var(--warn)}
.k56.k56-r28 .k56-pill--paused{background:var(--warn-bg);color:var(--warn)}
.k56.k56-r28 .k56-pill--rejected{background:var(--r28-err-bg);color:var(--r28-err)}
.k56.k56-r28 .k56-pill--in_review,.k56.k56-r28 .k56-pill--booking,.k56.k56-r28 .k56-pill--draft{background:var(--r27-p-gr);color:var(--r27-p-gr-t);box-shadow:inset 0 0 0 1px var(--r27-p-gr-b)}
.k56.k56-r28 .k56-badge{background:var(--text);color:var(--bg)}

/* Messages: neutral; errors in the dark CI red #A50404 text only (no red fills) */
.k56.k56-r28 .k56-msg{border-radius:8px;background:var(--panel);box-shadow:var(--r27-sh);color:var(--text)}
.k56.k56-r28 .k56-msg--good{background:var(--ok-bg);box-shadow:none;color:var(--ok)}
.k56.k56-r28 .k56-msg--bad{background:var(--panel);box-shadow:var(--r27-sh);color:var(--r28-err)}

/* Choices: selected = ink outline + ink check (R1c look), never a red tick or a pink fill */
.k56.k56-r28 .k56-choices>.k56-choice>span{border-radius:8px;background-color:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}
.k56.k56-r28 .k56-choices>.k56-choice>input:checked+span,.k56.k56-r28 .k56-choices--2>.k56-choice>input:checked+span{background-color:var(--panel);box-shadow:inset 0 0 0 1.5px var(--r28-sel)}
.k56.k56-r28 .k56-choices>.k56-choice>input:checked+span::after{border-color:var(--r28-sel);background:var(--r28-on)}
.k56.k56-r28 .k56-choices>.k56-choice>input[type=checkbox]:checked+span::after{border:0;background:var(--r28-sel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
html[data-k56-theme=dark] .k56.k56-r28 .k56-choices>.k56-choice>input[type=checkbox]:checked+span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
@media(prefers-color-scheme:dark){html:not([data-k56-theme=light]) .k56.k56-r28 .k56-choices>.k56-choice>input[type=checkbox]:checked+span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}}
.k56.k56-r28 .k56-choices>.k56-choice>span,.k56.k56-r28 .k56-choices>.k56-choice+.k56-choice>span{background-image:none}
.k56.k56-r28 .k56-choices{gap:8px;background:none;border-radius:0;overflow:visible}
.k56.k56-r28 .k56-choice:has(>input[name=goal_key]:checked)>span::before,.k56.k56-r28 .k56-choice:has(>input[name=channel]:checked)>span::before{background:var(--panel2)}
.k56.k56-r28 .k56-choice:has(>input[name=goal_key]:checked)::before,.k56.k56-r28 .k56-choice:has(>input[name=channel]:checked)::before{background:var(--text)}
.k56.k56-r28 .k56-card .k56-choices{background:none}
.k56.k56-r28 .k56-chips .k56-choice input:checked+span{background:var(--panel);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--r28-sel)}
.k56.k56-r28 .k56-chips:not(.k56-chips--seg):not(.k56-chips--rows) .k56-choice input:checked+span::before{background:var(--text)}
.k56.k56-r28 .k56-chips--rows .k56-choice input:checked+span::after{background:var(--text)}
.k56.k56-r28 .k56-check input,.k56.k56-r28 .k56-ccrow input{accent-color:var(--r28-sel)}
.k56.k56-r28 .k56-ccrow:has(input:checked){border-color:var(--r28-sel);background:var(--panel)}

/* Real platform logos on channel choices and ad rows (includes/ui028.php) */
.k56.k56-r28 .k56-r28__lgs{display:inline-flex;align-items:center;gap:4px;vertical-align:-3px;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0}
.k56.k56-r28 .k56-r28__lgs .k56-lg{display:block;flex:none}
.k56.k56-r28 .k56-r28__lgs .k56-lgs{display:inline-flex;gap:4px;box-shadow:none!important;border:0!important;padding:0!important;background:none!important}
/* channels: the F02 frame, a two-column grid of tiles, platform mark top left, tick top right */
.k56.k56-r28 .k56-choice:has(>input[name=channel])>span::before,.k56.k56-r28 .k56-choice:has(>input[name=channel])::before{display:none!important}
.k56.k56-r28 .k56-choices:has(>.k56-choice>input[name=channel]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.k56.k56-r28 .k56-choice:has(>input[name=channel])>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;height:100%;box-sizing:border-box;min-height:96px;padding:14px 38px 14px 14px!important}
.k56.k56-r28 .k56-choice:has(>input[name=channel])>span::after{top:12px;right:12px;margin-top:0;width:20px;height:20px}
.k56.k56-r28 .k56-choice:has(>input[name=channel])>span b{font-size:14.5px;line-height:1.25}
.k56.k56-r28 .k56-choice:has(>input[name=channel])>span small{font-size:12px;line-height:1.35}
.k56.k56-r28 .k56-choice>span>.k56-r28__lgs{display:flex;margin:0 0 10px;min-height:24px}
@media(min-width:1100px){.k56.k56-r28 .k56-choices:has(>.k56-choice>input[name=channel]){grid-template-columns:repeat(3,minmax(0,1fr))}}
.k56.k56-r28 .k56-row__ch .k56-r28__lgs{margin-right:6px}

/* Inputs */
.k56.k56-r28 input[type=text],.k56.k56-r28 input[type=email],.k56.k56-r28 input[type=tel],.k56.k56-r28 input[type=number],.k56.k56-r28 input[type=date],.k56.k56-r28 input[type=search],.k56.k56-r28 input[type=url],.k56.k56-r28 select,.k56.k56-r28 textarea{border-radius:8px;background:var(--panel);border-color:var(--line);color:var(--text)}
.k56.k56-r28 :focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* Sticky action bars sit above the tab bar on phones */
@media(max-width:1099px){.k56.k56-r28 .k56-sticky{background:var(--bg);box-shadow:0 -1px 0 var(--line)}}

/* Progress bars / tracks in charcoal (no red on charts) */
.k56.k56-r28 .k56-bar{background:var(--track);border-radius:999px}
.k56.k56-r28 .k56-bar>i{background:var(--chart);border-radius:999px}

@media(prefers-reduced-motion:reduce){.k56.k56-r28 *{transition-duration:0s!important;animation-duration:0s!important}}

/* Wide screens: Library and Brand stay in the sidebar (on phones they are in the + menu and Settings), so nothing is lost */
@media(min-width:1100px){
  .k56.k56-r28 .k56-nav a[data-v=library]{display:flex;order:3;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='M20.5 16l-5-5-8.5 8.5'/%3E%3C/svg%3E")}
  .k56.k56-r28 .k56-nav a[data-v=brand]{display:flex;order:9;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5a8.5 8.5 0 1 0 0 17c1.2 0 1.8-.8 1.8-1.7 0-1.3-1-1.6-1-2.8 0-.9.7-1.5 1.6-1.5h2.1a3.5 3.5 0 0 0 3.5-3.5c0-4.2-3.6-7.5-8-7.5z'/%3E%3Ccircle cx='7.8' cy='11' r='1'/%3E%3Ccircle cx='10.5' cy='7.5' r='1'/%3E%3Ccircle cx='15' cy='7.8' r='1'/%3E%3C/svg%3E")}
}

/* Red that was not an action, made neutral: steps, calendar ends, week bars, checklist ticks, goal art, onboarding dots,
   the 'needs action' red edge, the Operations button when open. The red + and the red primary button stay. */
.k56.k56-r28 .k56-steps li.done::before,.k56.k56-r28 .k56-steps li.on::before{background:var(--text)}
.k56.k56-r28 .k56-cal__g button.is-live::before{background:var(--panel2)}
.k56.k56-r28 .k56-cal__g button.is-start::after,.k56.k56-r28 .k56-cal__g button.is-end::after{background:var(--text)}
.k56.k56-r28 .k56-cal__g button.is-start,.k56.k56-r28 .k56-cal__g button.is-end{color:var(--bg)}
.k56.k56-r28 .k56-weeks li i{background:linear-gradient(90deg,var(--chart) calc(var(--w,1)*100%),transparent 0),var(--track)}
.k56.k56-r28 .k56-weeks li[data-on="0"] i{background:var(--track)}
.k56.k56-r28 .k56-chk__list li.is-done::before{background:var(--r28-sel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
html[data-k56-theme=dark] .k56.k56-r28 .k56-chk__list li.is-done::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.k56.k56-r28 .k56-goals .k56-goal>.k56-choice>span::after{background-color:var(--r28-sel)}
.k56.k56-r28 .k56-gi .r{fill:var(--text)}.k56.k56-r28 .k56-gi .d{fill:var(--muted)}.k56.k56-r28 .k56-gi .w{fill:var(--panel2)}
.k56.k56-r28 .k56-onb__dots li.on{background:var(--text)}
.k56.k56-r28 .k56-adcard--action,.k56.k56-r28 .k56-adcard--action:hover{box-shadow:var(--r27-sh)}
.k56.k56-r28 .k56-top>.k56-hbtn--ops.on{color:var(--bg);background:radial-gradient(circle,var(--text) 0 14px,transparent 14.5px)!important}
.k56.k56-r28 .k56o-f input[type=checkbox]{accent-color:var(--r28-sel)}

/* Flows with their own action bar (new ad, review) are full screen on phones, as before UI-028: no tab bar under the action bar */
@media(max-width:1099px){
  .k56.k56-r28:has(.k56-sticky) .k56-top>.k56-nav{display:none!important}
  .k56.k56-r28:has(.k56-sticky){padding-bottom:24px}
}

/* Guest review page (no account, no tab bar): the same flat header, logo with TRADING DESK under it */
.k56.k56-r28 .k56-guest-top{margin:0 0 16px;padding:12px 0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.k56.k56-r28.k56-guest{padding-bottom:32px}
.k56.k56-r28 .k56-choice:has(>input[name=channel])>span .k56-pill{max-width:100%;white-space:normal;box-sizing:border-box;font-size:11px}
/* Add-a-file circles in the checklist are secondary: ink, not red (the red stays on the one primary button) */
.k56.k56-r28 .k56-xbtn--plus .k56-xbtn__l{background:var(--text);color:var(--bg)}
.k56.k56-r28 .k56-money input:focus-visible{outline:none}
.k56.k56-r28 .k56-money input{border:0!important;background:transparent!important;box-shadow:none!important}
.k56.k56-r28 .k56-money--hero:focus-within{border-bottom-color:var(--r28-sel)}

/* Pages without the menu (sign-in, sign-up steps, waiting for approval, not found, guest review): one calm centred column */
@media(min-width:1100px){
  .k56.k56-r28:not(:has(.k56-nav)) .k56-wrap{max-width:520px!important;margin:0 auto;padding:40px 24px 64px}
  .k56.k56-r28:not(:has(.k56-nav)) .k56-wrap>:not(.k56-top){max-width:none}
  .k56.k56-r28:not(:has(.k56-nav)) .k56-top{position:static;width:auto;height:auto;padding:0;margin:0 0 28px;background:none;box-shadow:none;border:0}
  .k56.k56-r28.k56-guest:not(:has(.k56-nav)) .k56-wrap{max-width:1120px!important}
}
