/* K.Work theme layer — Project + Omni Centre (13/10/2026).
   Sits on top of the Karofi PH design-system tokens: it re-tunes the tokens (light), defines the dark theme
   by re-mapping the same tokens, and adds motion. No layout or logic lives here.
   Hooks: html.kw (set by /k-theme.js), [data-theme="dark"], and data-kw-* attributes in the templates. */

/* ---------------- Light: refined tokens ---------------- */
html.kw{
  --kw-canvas:#F4F7FA;
  --kw-side:#F7F9FB;
  --kw-side-edge:#E6ECF1;
  --kw-glass:rgb(255 255 255 / .78);
  --kw-row-hover:#F5F9FC;
  --kw-sel:#EAF6FD;
  --kw-accent:linear-gradient(135deg,#22B6F1 0%,#008FC4 100%);
  --kw-accent-soft:linear-gradient(135deg,rgb(25 187 240 / .14),rgb(0 145 204 / .06));
  --kw-glow:0 8px 24px -10px rgb(0 145 204 / .55);
  --kw-card-shadow:0 1px 2px rgb(13 35 51 / .04),0 2px 8px -2px rgb(13 35 51 / .06);
  --kw-pop-shadow:0 18px 50px -12px rgb(13 35 51 / .28),0 4px 12px -4px rgb(13 35 51 / .12);
  --kw-bubble-in:#FFFFFF;
  --kw-bubble-out:linear-gradient(135deg,#E9F7FE 0%,#DDF1FC 100%);
  --kw-scroll:#D5DEE5;

  --border-subtle:#E7ECF0;
  --border-default:#D5DDE3;
  --radius-md:8px;
  --radius-lg:10px;
  --radius-card:14px;
  --radius-modal:18px;
  --shadow-sm:0 1px 2px rgb(13 35 51 / .05),0 1px 3px rgb(13 35 51 / .06);
  --shadow-md:0 6px 18px -6px rgb(13 35 51 / .16),0 2px 6px -2px rgb(13 35 51 / .08);
  --shadow-lg:0 16px 40px -12px rgb(13 35 51 / .22),0 4px 10px -4px rgb(13 35 51 / .08);
  --shadow-xl:var(--kw-pop-shadow);
  --shadow-brand:var(--kw-glow);
  --shadow-focus:0 0 0 3px rgb(0 174 239 / .28);

  /* Buttons: gradient primary, quiet neutral secondary */
  --action-primary-bg:var(--kw-accent);
  --action-primary-bg-hover:linear-gradient(135deg,#0FB2EA 0%,#0084BD 100%);
  --action-primary-bg-active:linear-gradient(135deg,#0AA3D8 0%,#0079AD 100%);
  --action-secondary-bg:var(--surface-card);
  --action-secondary-bg-hover:var(--surface-subtle);
  --action-secondary-fg:var(--text-heading);
  --action-secondary-border:var(--border-default);

  /* Avatar / tag tones (pm-core TONES) */
  --tone1-bg:#E3F5FD; --tone1-fg:#00658F;
  --tone2-bg:#E2F6EB; --tone2-fg:#0B7A41;
  --tone3-bg:#FDF2DE; --tone3-fg:#8A5A00;
  --tone4-bg:#FCE9E8; --tone4-fg:#A31A13;
  --tone5-bg:#F3EAD8; --tone5-fg:#6F5A2E;
  --tone6-bg:#ECF0F3; --tone6-fg:#35414A;
}

/* ---------------- Dark: same tokens, re-mapped ---------------- */
html.kw[data-theme="dark"]{
  color-scheme:dark;
  --kw-canvas:#0B1117;
  --kw-side:#0E151C;
  --kw-side-edge:#1C2731;
  --kw-glass:rgb(14 21 28 / .78);
  --kw-row-hover:#16202A;
  --kw-sel:#10283A;
  --kw-accent-soft:linear-gradient(135deg,rgb(25 187 240 / .18),rgb(0 145 204 / .08));
  --kw-glow:0 8px 26px -8px rgb(0 174 239 / .55);
  --kw-card-shadow:0 1px 0 rgb(255 255 255 / .03) inset,0 2px 10px -2px rgb(0 0 0 / .45);
  --kw-pop-shadow:0 24px 60px -12px rgb(0 0 0 / .7),0 0 0 1px rgb(255 255 255 / .06);
  --kw-bubble-in:#18222C;
  --kw-bubble-out:linear-gradient(135deg,#0F3449 0%,#0C2B3D 100%);
  --kw-scroll:#2A3742;

  --k-grey-50:#141C24;
  --k-grey-100:#1A242E;
  --k-grey-200:#25313C;
  --k-grey-300:#33414D;
  --k-grey-400:#5E6D79;
  --k-grey-500:#8B9AA6;
  --k-grey-600:#A9B5BF;
  --k-grey-700:#C6CFD6;
  --k-grey-800:#DFE5EA;
  --k-grey-900:#F2F5F8;
  --k-cyan-50:#0E2635;
  --k-cyan-100:#123247;
  --k-cyan-200:#17435D;
  --k-cyan-300:#2A6E8F;
  --k-cyan-600:#38BFF1;
  --k-cyan-700:#7AD2F3;
  --k-cyan-800:#A8E2F8;
  --k-cyan-900:#D3F1FC;
  --k-ink-500:#9FB7C6;
  --k-ink-600:#BFD1DC;
  --k-ink-700:#D5E2EA;
  --k-ink-800:#EAF1F6;
  --k-green-50:#0E2A1D;
  --k-amber-50:#2C2310;
  --k-red-50:#2E1715;
  --k-red-500:#FF5D52;
  --k-green-500:#2BC879;
  --k-amber-500:#F7B23B;

  --text-heading:#ECF2F6;
  --text-body:#C3CDD5;
  --text-muted:#8696A3;
  --text-subtle:#63727E;
  --text-brand:#4CC7F4;
  --text-link:#4CC7F4;
  --text-link-hover:#7AD2F3;
  --text-price:var(--text-heading);

  --surface-page:#0B1117;
  --surface-card:#111920;
  --surface-subtle:#151E27;
  --surface-sunken:#1B2631;
  --surface-brand-soft:#0F2A3A;
  --surface-dark:#05090D;
  --surface-overlay:rgb(2 6 10 / .66);

  --border-subtle:#202B35;
  --border-default:#2C3843;
  --border-strong:#3B4855;

  --action-secondary-bg:#151E27;
  --action-secondary-bg-hover:#1B2631;
  --action-disabled-bg:#1B2631;
  --action-disabled-fg:#5E6D79;

  --status-success-bg:#0E2A1D;
  --status-warning-bg:#2C2310;
  --status-danger-bg:#2E1715;
  --status-info-bg:#0E2635;

  --shadow-xs:0 1px 2px rgb(0 0 0 / .4);
  --shadow-sm:0 1px 3px rgb(0 0 0 / .45);
  --shadow-md:0 8px 22px -6px rgb(0 0 0 / .6);
  --shadow-lg:0 18px 44px -10px rgb(0 0 0 / .7);
  --glass-bg:rgb(17 25 32 / .82);
  --gradient-water-soft:linear-gradient(180deg,#0E2635 0%,#0B1117 100%);

  --tone1-bg:#0F2C3C; --tone1-fg:#7AD2F3;
  --tone2-bg:#0F2C1F; --tone2-fg:#6EDCA4;
  --tone3-bg:#2E2511; --tone3-fg:#F3C46A;
  --tone4-bg:#31191A; --tone4-fg:#FF9A92;
  --tone5-bg:#2B2416; --tone5-fg:#E2C891;
  --tone6-bg:#1E2832; --tone6-fg:#C6CFD6;
}

/* ---------------- Base ---------------- */
html.kw, html.kw body{background:var(--kw-canvas)!important}
html.kw ::selection{background:rgb(0 174 239 / .22)}
html.kw ::-webkit-scrollbar{width:10px;height:10px}
html.kw ::-webkit-scrollbar-thumb{background:var(--kw-scroll)!important;border-radius:10px;border:3px solid transparent;background-clip:padding-box}
html.kw ::-webkit-scrollbar-thumb:hover{background:var(--k-grey-400)!important;background-clip:padding-box}
html.kw ::-webkit-scrollbar-track{background:transparent}
html.kw *{scrollbar-color:var(--kw-scroll) transparent}
html.kw button, html.kw a, html.kw input, html.kw select, html.kw textarea{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .2s ease,transform .16s ease,opacity .16s ease}
html.kw button:active:not(:disabled){transform:scale(.97)}
html.kw input:focus-visible, html.kw select:focus-visible, html.kw textarea:focus-visible, html.kw button:focus-visible{outline:none;box-shadow:var(--shadow-focus)!important}
html.kw-switching *, html.kw-switching *::before, html.kw-switching *::after{transition:background-color .35s ease,color .35s ease,border-color .35s ease,fill .35s ease!important}
html.kw[data-theme="dark"] img{filter:brightness(.92)}
html.kw[data-theme="dark"] [data-kw-logo] img{filter:brightness(0) invert(1) drop-shadow(0 0 0 transparent)}
html.kw input::placeholder, html.kw textarea::placeholder{color:var(--text-subtle)}

/* ---------------- Motion ---------------- */
@keyframes kw-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes kw-fade{from{opacity:0}to{opacity:1}}
@keyframes kw-pop{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
@keyframes kw-slide-r{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes kw-slide-l{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes kw-shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes kw-pulse{0%,100%{box-shadow:0 0 0 0 rgb(0 174 239 / .45)}70%{box-shadow:0 0 0 7px rgb(0 174 239 / 0)}}
@keyframes kw-bubble{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes kw-glow-move{0%{background-position:0% 50%}100%{background-position:100% 50%}}

html.kw [data-kw-in]{animation:kw-in .42s cubic-bezier(.2,.7,.2,1) both}
html.kw [data-kw-stagger]>*{animation:kw-in .38s cubic-bezier(.2,.7,.2,1) both}
html.kw [data-kw-stagger]>*:nth-child(2){animation-delay:.03s}
html.kw [data-kw-stagger]>*:nth-child(3){animation-delay:.06s}
html.kw [data-kw-stagger]>*:nth-child(4){animation-delay:.09s}
html.kw [data-kw-stagger]>*:nth-child(5){animation-delay:.12s}
html.kw [data-kw-stagger]>*:nth-child(6){animation-delay:.15s}
html.kw [data-kw-stagger]>*:nth-child(7){animation-delay:.18s}
html.kw [data-kw-stagger]>*:nth-child(n+8){animation-delay:.2s}
html.kw [data-kw-pop]{animation:kw-pop .24s cubic-bezier(.2,.8,.2,1) both}
html.kw [data-kw-fade]{animation:kw-fade .22s ease both}
html.kw [data-kw-drawer]{animation:kw-slide-r .3s cubic-bezier(.2,.8,.2,1) both}
html.kw [data-kw-live]{animation:kw-pulse 2s infinite}
html.kw [data-kw-skel]{background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-subtle) 40%,var(--surface-sunken) 80%) 0 0/800px 100%;animation:kw-shimmer 1.3s linear infinite;border-radius:8px;color:transparent!important}
@media (prefers-reduced-motion:reduce){
  html.kw *, html.kw *::before, html.kw *::after{animation:none!important;transition:none!important}
}

/* ---------------- Shared app chrome ---------------- */
/* Sidebar */
html.kw [data-kw-side]{background:var(--kw-side)!important;border-right:1px solid var(--kw-side-edge)!important;position:relative}
html.kw [data-kw-side]::before{content:"";position:absolute;inset:0 0 auto 0;height:180px;pointer-events:none;background:radial-gradient(120% 90% at 0% 0%,rgb(0 174 239 / .10),transparent 70%)}
html.kw[data-theme="dark"] [data-kw-side]::before{background:radial-gradient(120% 90% at 0% 0%,rgb(0 174 239 / .16),transparent 70%)}
html.kw [data-kw-nav]{position:relative}
html.kw [data-kw-nav][data-on="1"]{background:var(--kw-accent-soft)!important;color:var(--text-brand)!important;box-shadow:inset 0 0 0 1px rgb(0 174 239 / .18)}
html.kw [data-kw-nav][data-on="1"]::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--kw-accent)}
html.kw [data-kw-nav]:hover{transform:translateX(2px)}

/* Main canvas + sticky glass header */
html.kw [data-kw-main]{background:var(--kw-canvas)}
html.kw [data-pjhdr]{background:var(--kw-glass);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--border-subtle);position:relative;z-index:5}
html.kw [data-pjhdr] h1{letter-spacing:-.01em;font-weight:700!important}
html.kw [data-pjtb]{background:var(--kw-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

/* Cards / tables / list groups */
html.kw [data-kw-card]{background:var(--surface-card);box-shadow:var(--kw-card-shadow);border-color:var(--border-subtle)!important}
html.kw [data-kw-row]{position:relative}
html.kw [data-kw-row]:hover{background:var(--kw-row-hover)!important}
html.kw [data-kw-row]::after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--kw-accent);opacity:0;transform:scaleY(.4);transition:opacity .18s ease,transform .18s ease}
html.kw [data-kw-row]:hover::after{opacity:1;transform:none}
html.kw [data-kw-kcard]{box-shadow:var(--kw-card-shadow)}
html.kw [data-kw-kcard]:hover{box-shadow:var(--shadow-md)!important}
html.kw [data-kw-chip]{transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
html.kw [data-kw-chip]:hover{transform:translateY(-1px)}
html.kw [data-kw-group]{backdrop-filter:blur(6px)}

/* Floating surfaces */
html.kw [role="menu"], html.kw [role="dialog"]:not(aside){box-shadow:var(--kw-pop-shadow)!important;border-color:var(--border-subtle)!important}
html.kw [data-kw-scrim]{background:var(--surface-overlay)!important;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}

/* Theme switch button */
html.kw [data-kw-theme]{position:relative;width:34px;height:34px;flex:none;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-card);color:var(--text-muted);display:grid;place-items:center;cursor:pointer;overflow:hidden}
html.kw [data-kw-theme]:hover{color:var(--text-brand);border-color:rgb(0 174 239 / .45);box-shadow:var(--kw-glow)}
html.kw [data-kw-theme] svg{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
html.kw [data-kw-theme]:hover svg{transform:rotate(-25deg) scale(1.08)}

/* ---------------- Project ---------------- */
html.kw [data-kw-row] [data-pjdel]{opacity:0}
html.kw [data-kw-row]:hover [data-pjdel], html.kw [data-kw-row] [data-pjdel]:focus-visible{opacity:1}
html.kw [data-kw-row] [data-pjttl]{font-weight:600!important;color:var(--text-heading)}
html.kw [data-kw-meta]:empty{display:none!important}
html.kw [data-kw-meta] > span{opacity:.92}
@media (hover:none){ html.kw [data-kw-row] [data-pjdel]{opacity:1} }
@media (max-width:760px){ html.kw [data-kw-tcol]{flex:1 1 calc(100% - 60px)!important} html.kw [data-kw-meta]{flex-wrap:wrap!important;row-gap:3px} }
/* Omni Centre palette (generated by tokenize.py from the hard-coded colours): --c-* surfaces/borders, --t-* text */
html.kw{--t-00628A:#00628A;--t-0077A8:#0077A8;--c-0079A8:#0079A8;--t-0079A8:#0079A8;--t-00A3DE:#00A3DE;--c-00A7E2:#00AEEF;--c-00AEEF:#00AEEF;--t-00AEEF:#00AEEF;--t-06263A:#061746;--t-091A28:#091A28;--c-0B1B2E:#0B1B2E;--t-0B1B2E:#0B1B2E;--t-0E2233:#0E2233;--t-0F6B33:#0F6B33;--c-0FA958:#0FA958;--t-0FA958:#0FA958;--t-157F3D:#157F3D;--t-1A1AA6:#1A1AA6;--t-1F5FBF:#1F5FBF;--t-22313D:#22313D;--c-22B5EC:#22B5EC;--t-2F5C8F:#2F5C8F;--c-3B4B57:#3B4B57;--t-3B4B57:#3B4B57;--t-3D5366:#3D5366;--c-4EC3EE:#4EC3EE;--t-57708A:#57708A;--t-5A4300:#5A4300;--t-5B4BA8:#5B4BA8;--t-5C7183:#5C7183;--t-5E8E3E:#5E8E3E;--t-6A3FB5:#6A3FB5;--t-6B4700:#6B4700;--c-74CFF1:#74CFF1;--t-7A1C14:#7A1C14;--t-7C93A8:#7C93A8;--t-8298AD:#8298AD;--t-8A5200:#8A5200;--t-8A5A00:#8A5A00;--c-8A9299:#8A9299;--t-8A9299:#8A9299;--c-93A3B4:#93A3B4;--t-93A3B4:#93A3B4;--t-9A3A62:#9A3A62;--t-9A5B00:#9A5B00;--t-9A7A3A:#9A7A3A;--c-9ADBF4:#9ADBF4;--t-A1271E:#A1271E;--c-A6D9F2:#A6D9F2;--t-B0306A:#B0306A;--t-B42318:#B42318;--t-B7C6D4:#B7C6D4;--c-B8C2CA:#B8C2CA;--c-BFE6FA:#BFE6FA;--c-BFE7F7:#BFE7F7;--c-C6E8F6:#C6E8F6;--c-C7E9F7:#C7E9F7;--c-C9D5DF:#C9D5DF;--c-C9E6F5:#C9E6F5;--c-D6EEF9:#D6EEF9;--c-D9B3C4:#D9B3C4;--t-DCE8F0:#DCE8F0;--c-DFE5E9:#DFE5E9;--c-E1251B:#E1251B;--t-E1251B:#E1251B;--c-E3EEFF:#E3EEFF;--c-E3F4FB:#E3F4FB;--c-E3F5EA:#E3F5EA;--c-E4ECF3:#E4ECF3;--t-E4ECF3:#E4ECF3;--c-E6EEF8:#E6EEF8;--c-E8F7FD:#E8F7FD;--c-E9F7FD:#E9F7FD;--c-EAF6FB:#EAF6FB;--c-EE4D2D:#EE4D2D;--c-EEF2F6:#EEF2F6;--c-EEF3F7:#EEF3F7;--c-EEF6FB:#EEF6FB;--c-EFE9FB:#EFE9FB;--c-EFEBFA:#EFEBFA;--c-F0F4F7:#F0F4F7;--c-F1E2A4:#F1E2A4;--c-F1F5F8:#F1F5F8;--c-F1F6FB:#F1F6FB;--c-F2F5F7:#F2F5F7;--c-F3B4AE:#F3B4AE;--c-F3DFB0:#F3DFB0;--c-F4F6F8:#F4F6F8;--t-F4F6F8:#F4F6F8;--c-F4FAFE:#F4FAFE;--c-F5A524:#F5A524;--c-F5E6B8:#F5E6B8;--c-F6DDB0:#F6DDB0;--c-F7FAFC:#F7FAFC;--c-F8EAF0:#F8EAF0;--c-FBFCFD:#FBFCFD;--c-FCE8F1:#FCE8F1;--c-FDECEA:#FDECEA;--c-FFF1DC:#FFF1DC;--c-FFF4DC:#FFF4DC;--c-FFF6DC:#FFF6DC;--c-FFF7D6:#FFF7D6;--c-FFF8E6:#FFF8E6;--c-FFF8EC:#FFF8EC;--c-FFFBEA:#FFFBEA;--c-FFFFFF:#FFFFFF;--t-FFFFFF:#FFFFFF}
html.kw[data-theme="dark"]{--t-00628A:#66D3FF;--t-0077A8:#66D2FF;--c-0079A8:#0079A8;--t-0079A8:#66D4FF;--t-00A3DE:#66D6FF;--c-00A7E2:#00AEEF;--c-00AEEF:#00AEEF;--t-00AEEF:#66D5FF;--t-06263A:#74C1F1;--t-091A28:#82B7E3;--c-0B1B2E:#0B1B2E;--t-0B1B2E:#84AEE1;--t-0E2233:#87B6DE;--t-0F6B33:#79ECA6;--c-0FA958:#0FA958;--t-0FA958:#72F3AF;--t-157F3D:#7CE9A5;--t-1A1AA6:#7B7BEA;--t-1F5FBF:#7BA7EA;--t-22313D:#D2D8DD;--c-22B5EC:#22B5EC;--t-2F5C8F:#8CB0D9;--c-3B4B57:#3B4B57;--t-3B4B57:#C7CDD1;--t-3D5366:#C2C9CF;--c-4EC3EE:#4EC3EE;--t-57708A:#B3BAC2;--t-5A4300:#FFD866;--t-5B4BA8:#9F95D0;--t-5C7183:#B5BBC1;--t-5E8E3E:#ACD094;--t-6A3FB5:#A88ED7;--t-6B4700:#FFCC66;--c-74CFF1:#234957;--t-7A1C14:#E9847C;--t-7C93A8:#8698A8;--t-8298AD:#8C9DAD;--t-8A5200:#FFC166;--t-8A5A00:#FFCA66;--c-8A9299:#8A9299;--t-8A9299:#91979C;--c-93A3B4:#353D45;--t-93A3B4:#9CA8B5;--t-9A3A62:#D590AD;--t-9A5B00:#FFC066;--t-9A7A3A:#D5BE90;--c-9ADBF4:#234957;--t-A1271E:#E7857E;--c-A6D9F2:#234657;--t-B0306A:#DE87AE;--t-B42318:#ED8078;--t-B7C6D4:#A9B8C6;--c-B8C2CA:#373E43;--c-BFE6FA:#223944;--c-BFE7F7:#233C46;--c-C6E8F6:#223943;--c-C7E9F7:#213842;--c-C9D5DF:#323E48;--c-C9E6F5:#213742;--c-D6EEF9:#1D3039;--c-D9B3C4:#4B2F3C;--t-DCE8F0:#DCE8F0;--c-DFE5E9:#292F33;--c-E1251B:#E1251B;--t-E1251B:#EF7C76;--c-E3EEFF:#182130;--c-E3F4FB:#192B32;--c-E3F5EA:#1C3325;--c-E4ECF3:#1F2931;--t-E4ECF3:#E4ECF3;--c-E6EEF8:#192432;--c-E8F7FD:#17282E;--c-E9F7FD:#17272E;--c-EAF6FB:#17282E;--c-EE4D2D:#EE4D2D;--c-EEF2F6:#1D232A;--c-EEF3F7:#1B242A;--c-EEF6FB:#16242C;--c-EFE9FB:#1F182F;--c-EFEBFA:#1E172E;--c-F0F4F7:#1C2328;--c-F1E2A4:#574D23;--c-F1F5F8:#1B2228;--c-F1F6FB:#16202B;--c-F2F5F7:#1D2226;--c-F3B4AE:#572823;--c-F3DFB0:#574823;--c-F4F6F8:#1C2025;--t-F4F6F8:#F4F6F8;--c-F4FAFE:#142028;--c-F5A524:#F5A524;--c-F5E6B8:#574A23;--c-F6DDB0:#574523;--c-F7FAFC:#161F26;--c-F8EAF0:#2F1922;--c-FBFCFD:#161C21;--c-FCE8F1:#2F1822;--c-FDECEA:#2D1917;--c-FFF1DC:#33291A;--c-FFF4DC:#332B1A;--c-FFF6DC:#332D1A;--c-FFF7D6:#36311B;--c-FFF8E6:#2E2817;--c-FFF8EC:#2B2316;--c-FFFBEA:#2C2816;--c-FFFFFF:#111920;--t-FFFFFF:#FFFFFF}

/* ---------------- Omni Centre ---------------- */
html.kw [data-kw-theme="side"]{background:rgb(255 255 255 / .05);border-color:rgb(255 255 255 / .10);color:#9FB2C3}
html.kw [data-kw-theme="side"]:hover{background:rgb(255 255 255 / .10);color:#fff;border-color:rgb(255 255 255 / .2)}
/* conversation list */
html.kw [data-kw-list]{background:var(--surface-card)!important;border-right-color:var(--border-subtle)!important}
html.kw [data-kw-crow]{position:relative;transition:background-color .16s ease,box-shadow .2s ease}
html.kw [data-kw-crow]:hover{background:var(--kw-row-hover)!important}
html.kw [data-kw-crow]::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--kw-accent);opacity:0;transform:scaleY(.3);transition:opacity .2s ease,transform .2s ease}
html.kw [data-kw-crow]:hover::before{opacity:.55;transform:none}
/* thread */
html.kw [data-kw-conv]{background:var(--kw-canvas)!important}
html.kw [data-kw-thread]{background:
  radial-gradient(900px 420px at 100% 0%,rgb(0 174 239 / .07),transparent 60%),
  radial-gradient(700px 380px at 0% 100%,rgb(0 121 168 / .05),transparent 60%)}
html.kw[data-theme="dark"] [data-kw-thread]{background:
  radial-gradient(900px 420px at 100% 0%,rgb(0 174 239 / .10),transparent 60%),
  radial-gradient(700px 380px at 0% 100%,rgb(0 121 168 / .08),transparent 60%)}
html.kw [data-kw-msg]{animation:kw-bubble .28s cubic-bezier(.2,.8,.2,1) both}
html.kw [data-kw-bin]{background:var(--kw-bubble-in)!important;border-color:var(--border-subtle)!important;box-shadow:0 1px 2px rgb(13 35 51 / .05),0 4px 14px -8px rgb(13 35 51 / .12);border-radius:6px 18px 18px 18px!important;padding:10px 14px!important;line-height:1.5}
html.kw [data-kw-bout]{background:linear-gradient(135deg,#1DB9EF 0%,#0091CC 100%)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 20px -10px rgb(0 145 204 / .7);border-radius:18px 6px 18px 18px!important;padding:10px 14px!important;line-height:1.5}
html.kw [data-kw-bout] a{color:#fff!important;text-decoration:underline;text-underline-offset:2px}
html.kw[data-theme="dark"] [data-kw-bin]{box-shadow:0 2px 10px -4px rgb(0 0 0 / .5)}
/* composer */
html.kw [data-kw-composer]{transition:border-color .2s ease,box-shadow .25s ease!important;box-shadow:0 1px 2px rgb(13 35 51 / .04),0 8px 24px -16px rgb(13 35 51 / .25)}
html.kw [data-kw-composer]:focus-within{border-color:rgb(0 174 239 / .55)!important;box-shadow:0 0 0 4px rgb(0 174 239 / .12),0 12px 30px -18px rgb(0 145 204 / .55)!important}
html.kw [data-kw-composer] textarea{color:var(--text-heading)!important}
/* header bar + info pane */
html.kw [data-convh]{background:var(--kw-glass)!important;backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px)}
html.kw [data-pane="info"]{background:var(--surface-subtle)!important}
html.kw[data-theme="dark"] [data-kw-tag]{filter:brightness(1.55) saturate(1.1)}
html.kw [data-schdr]{border-bottom-color:var(--border-subtle)!important}

/* Phones: 100vh is taller than the visible screen on iOS (toolbar), so the sidebar footer (account) fell off */
@supports (height:100dvh){
  html.kw [data-kw-root], html.kw [data-kw-side], html.kw [data-kw-main]{height:100dvh!important}
}
html.kw [data-kw-side]{padding-bottom:env(safe-area-inset-bottom,0px)}
@media (max-width:760px){
  html.kw [data-kw-kpis]{gap:10px!important}
  html.kw [data-kw-kpi]{padding:12px 14px!important}
  html.kw [data-kw-kpi] > span:nth-child(2){font-size:28px!important}
}
/* Project dashboard member cards: 4 per row on a laptop, 2 on a tablet, 1 on a phone */
@media (min-width:1100px){ html.kw [data-kw-mgrid]{grid-template-columns:repeat(4,minmax(0,1fr))!important} }
@media (min-width:640px) and (max-width:1099px){ html.kw [data-kw-mgrid]{grid-template-columns:repeat(2,minmax(0,1fr))!important} }
/* Notification bell (k-push.js): lit when this device gets pushes */
html.kw [data-kw-push="on"]{color:var(--text-brand)}
html.kw [data-kw-theme="side"][data-kw-push="on"]{color:#3FD0FF}
html.kw [data-kw-push="on"] svg{animation:kwBell 1.2s ease 1}
@keyframes kwBell{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}

/* ---------------- Project sidebar: collapsed = icon rail, never hidden on desktop (14/10/2026) ---------------- */
html.kw [data-kw-side]{transition:width .22s cubic-bezier(.4,0,.2,1)}
html.kw [data-kw-side][data-kw-rail="1"]{width:64px!important}
[data-kw-rail="1"] > div:first-child{flex-direction:column;justify-content:center!important;padding:12px 0 8px!important}
[data-kw-rail="1"] [data-kw-logo]{display:none!important}
[data-kw-rail="1"] > div:nth-child(2){grid-template-columns:1fr!important;margin:2px 10px 8px!important}
[data-kw-rail="1"] > div:nth-child(2) a{padding:0!important}
[data-kw-rail="1"] > div:nth-child(2) a > span{display:none}
[data-kw-rail="1"] nav{padding:4px 10px!important}
[data-kw-rail="1"] [data-kw-nav]{justify-content:center;padding:0!important}
[data-kw-rail="1"] [data-kw-nav] > :not(.sc-host-x){display:none}
[data-kw-rail="1"] > div:nth-child(4){display:none!important}                       /* "SPACES" + new space */
[data-kw-rail="1"] > div:nth-child(5){padding:8px 10px 12px!important;border-top:1px solid var(--border-subtle)}
[data-kw-rail="1"] [data-kw-sbrow][data-sp="false"]{display:none!important}          /* lists / folders: open a space first */
[data-kw-rail="1"] [data-kw-sbrow][data-sp="true"]{justify-content:center;padding:0!important;height:38px!important}
[data-kw-rail="1"] [data-kw-sbrow][data-sp="true"] > :not(span:first-of-type){display:none!important}
[data-kw-rail="1"] [data-kw-sbrow][data-sp="true"] > span:first-of-type{width:26px!important;height:26px!important;border-radius:7px!important;font-size:12px!important}
[data-kw-rail="1"] > div:last-child{flex-direction:column;padding:10px 0!important;gap:6px!important}
[data-kw-rail="1"] > div:last-child > div:not(.sc-host-x){display:none!important}
