/* Kelmo app pieces for the redesign (kelmo.css): menus, search, phone menu, flash messages and the live
   bits from 09N-09Q (toasts, side panels, board, inline price, pause, alerts). Same colours as kelmo.css. */
:root{--border:#E4E7EC;--muted:#4B4741;--text:#1F1B16;--surface:#FFFFFF;--hover:#F7F5F2;--font-display:Inter,system-ui,sans-serif;--signal:#82326C}
[x-cloak]{display:none!important}
body.kui{margin:0;background:#FFFFFF}
.kui .skip-link{position:absolute;left:16px;top:-80px;z-index:200;background:#1F1B16;color:#FFFFFF;padding:12px 20px;border-radius:22px;font-weight:600}
.kui .skip-link:focus{top:12px}
.k :focus-visible{outline:2px solid #82326C;outline-offset:2px}
.k .muted{color:#4B4741}.k .small{font-size:13px}
.k .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.k .link{border:0;background:none;padding:0;font:inherit;font-weight:600;color:#82326C;cursor:pointer}
.k .row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.k form{margin:0}

/* menus */
.k .loc{position:relative}
.k .pop{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:#FFFFFF;border:1px solid #E4E7EC;border-radius:12px;box-shadow:0 12px 32px -12px rgba(31,27,22,.25);padding:6px;z-index:60}
.k .pop--right{left:auto;right:0}
.k .pop--up{top:auto;bottom:calc(100% + 6px);left:0;right:0}
.k .pop--side{position:fixed;left:272px;top:64px;width:380px;max-height:70vh;overflow:auto;z-index:80}
.k .dside .pop{display:block}
.k .pop__item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;border-radius:8px;border:0;background:none;text-align:left;color:#1F1B16;font:500 14px Inter,system-ui,sans-serif;cursor:pointer}
.k .pop__item:hover,.k .pop__item:focus-visible{background:#F7F5F2;color:#1F1B16}
.k .pop__sep{height:1px;background:#E4E7EC;margin:6px 0}
.k .pop__label{font-size:12px;font-weight:600;color:#4B4741;padding:8px 10px 4px}
.k .bell__pop{width:min(360px,calc(100vw - 32px));max-height:70vh;overflow:auto}
.k .bell__item{flex-direction:column;align-items:flex-start;gap:2px;white-space:normal}
.k .bell__item b{font-weight:600}.k .bell__item span,.k .bell__item small{font-size:13px;color:#4B4741}
.k .bell__item.is-unread{box-shadow:inset 3px 0 0 #82326C}
.k .dside__who{position:relative}
.k .dnav__back{color:#4B4741;margin-bottom:6px}
.k .dnav a.dnav__golive{color:#672654;font-weight:600}
.k .dnav__golive small{margin-left:auto;font-size:12px;font-weight:700;padding:1px 8px;border-radius:10px;background:#82326C;color:#FFFFFF}

/* search (Ctrl K) */
.cmdk{position:fixed;inset:0;z-index:150;display:grid;place-items:start center;padding-top:12vh;background:rgba(31,27,22,.4)}
.cmdk__box{width:min(620px,calc(100% - 32px));background:#FFFFFF;color:#1F1B16;border-radius:14px;border:1px solid #E4E7EC;box-shadow:0 24px 60px -24px rgba(31,27,22,.45);overflow:hidden}
.cmdk__input{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #E4E7EC}
.cmdk__input svg{width:18px;height:18px;color:#4B4741}
.cmdk__input input{flex:1;height:56px;border:0;background:transparent;font:16px Inter,system-ui,sans-serif;outline:none;color:#1F1B16}
.cmdk__input .tb-icon{width:40px;height:40px;border:0;background:none;border-radius:10px;font-size:20px;color:#4B4741;cursor:pointer}
.cmdk__list{max-height:360px;overflow-y:auto;padding:6px}
.cmdk__item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;border-radius:10px;color:#1F1B16;font-weight:500}
.cmdk__item:hover,.cmdk__item[aria-selected="true"]{background:#F7F5F2;color:#1F1B16}
.cmdk__item svg{width:18px;height:18px;color:#4B4741}

/* flash messages */
.k .kflash{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid #E4E7EC;font-weight:500}
.k .kflash ul{margin:6px 0 0;padding-left:18px;font-weight:400}
.k .kflash--ok{background:#EAF3EC;border-color:#CFE5D5;color:#1E5A30}
.k .kflash--warn{background:#FDF3E2;border-color:#F3DDB0;color:#6B4708}
.k .kflash--err{background:#FBE9EC;border-color:#F2CCD3;color:#8A2537}

/* shell + phone (design: Home-phone / More-m) */
.k.shell{min-height:100vh}
.kcol{min-width:0;display:flex;flex-direction:column}
.k .pbar.ph-only,.k .pnav.ph-only{display:none}
.k a.ptitle{color:#1F1B16}
.scrim{position:fixed;inset:0;background:rgba(31,27,22,.4);z-index:70}
@media (max-width:900px){
 .k .pbar.ph-only{display:flex}
 .k .pnav.ph-only{display:grid;position:fixed;left:0;right:0;bottom:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
 .k .main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 .k .dside{display:flex;position:fixed;left:0;top:0;bottom:0;z-index:80;width:288px;overflow-y:auto;transform:translateX(-100%);transition:transform .25s cubic-bezier(.16,1,.3,1)}
 .k .dside.is-open{transform:none;box-shadow:0 0 60px rgba(31,27,22,.25)}
 .k .pop--side{left:16px;right:16px;width:auto;top:72px}
 /* section tabs become chips on a phone (design *-m: .pchips) */
 .k .ktabs{border-bottom:0;gap:8px;margin:0 -16px;padding:0 16px}
 .k .ktabs .tab{flex:none;height:40px;padding:0 14px;margin:0;border:1px solid #E4E7EC;border-radius:20px;font-size:14px;color:#1F1B16}
 .k .ktabs .tab.on{background:#1F1B16;border-color:#1F1B16;color:#FFFFFF}
 .k .ktabs .tab.on .cnt{background:#FFFFFF;color:#1F1B16}
 .k .ktabs .tab.on .ai-star{color:#E2A4CD}
 /* alert rows on a phone (design Home-phone .pal): icon + text, then full-width buttons */
 .k .al{flex-wrap:wrap;align-items:flex-start;gap:12px}.k .al .alt{flex:1 1 0}.k .al .acts{flex-basis:100%}.k .al .acts>.btn,.k .al .acts>form,.k .al .acts>a{flex:1}.k .al .acts form .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.k .dside{transition:none}}

/* ---- live pieces (09N-09Q), same rules as dash.css ---- */
.dside__who{position:relative}
.dnav__back{color:#CDB8C6 !important;margin-bottom:6px}
.ka-stack{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.ka-toast{pointer-events:auto;background:#1F1B16;color:#F2F0ED;border-radius:16px;padding:14px 16px;box-shadow:0 12px 32px rgba(20,14,10,.28),0 2px 6px rgba(20,14,10,.18);display:flex;flex-direction:column;gap:6px;animation:ka-in .28s cubic-bezier(.2,.9,.3,1.2) both;border-left:4px solid #8B857E}
.ka-toast--order{border-left-color:#82326C}
.ka-toast--cash{border-left-color:#3FB37F}
.ka-toast--warn{border-left-color:#E3A33B}
.ka-toast--soft{border-left-color:#8B857E}
.ka-toast--done{border-left-color:#3FB37F}
.ka-toast.is-out{animation:ka-out .2s ease-in both}
.ka-toast__head{display:flex;align-items:center;gap:8px}
.ka-toast__head b{font-size:15px;flex:1;min-width:0}
.ka-toast__dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6;flex:none}
.ka-toast--order .ka-toast__dot{background:#82326C;opacity:1;animation:ka-pulse 1.2s ease-in-out infinite}
.ka-toast__x{background:none;border:0;color:inherit;opacity:.6;font-size:20px;line-height:1;cursor:pointer;padding:0 2px}
.ka-toast__x:hover{opacity:1}
.ka-toast__big{margin:0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.ka-toast__body{margin:0;font-size:14px;color:#C7C5C2;overflow-wrap:anywhere}
.ka-toast__err{margin:0;font-size:13px;color:#E2A4CD}
.ka-toast__acts{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}
.ka-btn{font:inherit;font-size:14px;font-weight:600;border-radius:10px;padding:7px 14px;border:1px solid rgba(255,255,255,.22);background:transparent;color:inherit;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}
.ka-btn:hover{background:rgba(255,255,255,.08)}
.ka-btn--go{background:#82326C;border-color:#82326C;color:#fff}
.ka-btn--go:hover{background:#A73447}
.ka-btn:disabled{opacity:.7;cursor:default}
.ka-btn:focus-visible,.ka-toast__x:focus-visible,.ka-soundbar:focus-visible{outline:2px solid #E2A4CD;outline-offset:2px}
@keyframes ka-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ka-out{to{opacity:0;transform:translateX(24px)}}
@keyframes ka-pulse{50%{transform:scale(1.6);opacity:.4}}
.ka-shake{animation:ka-shake .6s ease}
@keyframes ka-shake{15%{transform:rotate(-14deg)}30%{transform:rotate(12deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-2deg)}}
.ka-soundbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:89;display:inline-flex;gap:8px;align-items:center;background:#82326C;color:#fff;border:0;border-radius:99px;padding:10px 18px;font:600 14px/1.2 inherit;font-family:inherit;box-shadow:0 8px 24px rgba(130,50,108,.35);cursor:pointer;animation:ka-in .3s ease both}
@media (max-width:760px){.ka-soundbar,.ka-stack{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.ka-flash-screen{position:fixed;inset:0;z-index:95;pointer-events:none;box-shadow:inset 0 0 0 10px #82326C;background:rgba(229,72,77,.18);animation:ka-screen 1.5s ease-out both}
@keyframes ka-screen{0%,30%,60%{opacity:1}15%,45%{opacity:.25}100%{opacity:0}}
@keyframes ka-ticket{from{opacity:0;transform:translateY(-12px) scale(.96);box-shadow:0 0 0 3px #82326C}to{opacity:1;transform:none}}
.ka-flash{animation:ka-in .3s ease both;overflow:hidden;transition:max-height .35s ease,opacity .3s ease,margin .35s ease,padding .35s ease}
.ka-flash--gone{max-height:0!important;opacity:0;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important}
.ka-dialog{border:0;border-radius:18px;padding:0;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 48px);box-shadow:0 24px 60px rgba(20,14,10,.35);color:#1F1B16;background:#fff}
.ka-dialog::backdrop{background:rgba(20,14,10,.45)}
.ka-set{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px}
.ka-set__head{display:flex;align-items:center;justify-content:space-between}
.ka-set__head h2{margin:0;font-family:var(--font-display);font-size:22px}
.ka-set__head .ka-toast__x{color:#4B4741}
.ka-set__note{margin:0;font-size:14px;color:#4B4741}
.ka-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #E9E7E4;font-size:15px}
.ka-row span{display:flex;flex-direction:column;gap:2px}
.ka-row small{color:#4B4741;font-size:13px}
.ka-row--col input[type=range]{width:55%;accent-color:#82326C}
.ka-row input[type=checkbox]{width:20px;height:20px;accent-color:#82326C;flex:none}
.ka-inline{flex-direction:row!important;align-items:center;gap:8px!important}
.ka-set select{font:inherit;padding:6px 10px;border-radius:10px;border:1px solid #D5D3D0;background:#fff}
.ka-set .ka-btn{border-color:#D5D3D0;color:#1F1B16}
.ka-set .ka-btn:hover{background:#F3F1EE}
.ka-fs{border:0;padding:0;margin:0}
.ka-fs legend{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8B857E;padding:8px 0 4px}
@media (prefers-reduced-motion:reduce){.ka-toast--order .ka-toast__dot{animation:none}}
.ka-row .ka-btn{white-space:nowrap}
.dnav__golive small{margin-left:auto;font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;background:#82326C;color:#fff}
.ka-soundbar,.ka-stack,.ka-toast{font-family:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif}
@keyframes kmPageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes kmPageOut{from{opacity:1}to{opacity:0}}
@keyframes kmZoom{from{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:none}}
@keyframes kmNew{0%{opacity:0;transform:translateY(-10px)}40%{opacity:1;transform:none;background-color:#FAE4F2}100%{background-color:transparent}}
@keyframes kmNewCard{0%{opacity:0;transform:translateY(-10px);box-shadow:0 0 0 3px #FAE4F2}40%{opacity:1;transform:none;box-shadow:0 0 0 3px #E2A4CD}100%{box-shadow:0 0 0 0 transparent}}
@keyframes kmBump{0%{transform:scale(1)}35%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes kmGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.km-toasts{position:fixed;right:20px;bottom:20px;z-index:90;display:grid;gap:8px;justify-items:end;pointer-events:none}
.km-toast{display:flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:12px;background:#1F1B16;color:#FFFFFF;font:500 14px Inter,system-ui,sans-serif;box-shadow:0 10px 30px -10px rgba(31,27,22,.45);animation:kmToast .24s cubic-bezier(.2,.7,.2,1) both;pointer-events:auto}
.km-toast i{width:18px;height:18px;border-radius:50%;background:#2B7440 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;flex:none}
.km-toast--info i{background-color:#82326C}
.km-toast.is-out{opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s}
@keyframes kmToast{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:960px){.km-toasts{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));justify-items:stretch}}
.km-otp{position:relative}
.km-otp__boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.km-otp__boxes span{height:52px;display:flex;align-items:center;justify-content:center;border:1px solid #D3D6DC;border-radius:10px;background:#FFFFFF;font:600 22px Inter,system-ui,sans-serif;color:#1F1B16;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s,background-color .2s,color .2s,transform .15s}
.km-otp__boxes span.is-filled{border-color:#1F1B16;animation:kmPop .16s ease-out}
.km-otp__boxes span.is-active{border-color:#82326C;box-shadow:0 0 0 1px #82326C}
@keyframes kmPop{from{transform:scale(.9)}to{transform:none}}
.km-otp.is-ok .km-otp__boxes span{border-color:#2B7440;background:#E6F2E9;color:#2B7440;box-shadow:none}
.km-otp.is-error .km-otp__boxes{animation:kmShake .42s cubic-bezier(.36,.07,.19,.97)}
.km-otp.is-error .km-otp__boxes span{border-color:#A73447}
@keyframes kmShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.km-confetti{position:fixed;inset:0;pointer-events:none;z-index:95}
.km-sortlist{display:contents}
.km-sortitem{position:relative}
.km-grip{position:absolute;left:0;top:50%;width:14px;height:28px;margin-top:-14px;padding:0;border:0;border-radius:6px;background:none;cursor:grab;opacity:0;touch-action:none;z-index:2;transition:opacity .15s,background-color .15s;
 background-image:radial-gradient(#8B857E 1.4px,transparent 1.6px);background-size:6px 6px;background-position:1px 2px}
.km-grip:hover{background-color:#F1EFEC}
.km-grip:focus-visible{opacity:1;outline:2px solid #82326C;outline-offset:1px}
@media (hover:none){.km-grip{opacity:.7}}
.km-dragging{position:relative;z-index:5;background:#FFFFFF;box-shadow:0 12px 28px -12px rgba(31,27,22,.35);border-radius:10px;cursor:grabbing}
.km-dragging .km-grip{cursor:grabbing}
.km-sorting{user-select:none}
.km-toast{position:relative;overflow:hidden}
.km-toast__undo{margin-left:8px;padding:4px 10px;border:0;border-radius:8px;background:rgba(255,255,255,.14);color:#FFFFFF;font:600 13px Inter,system-ui,sans-serif;cursor:pointer}
.km-toast__undo:hover{background:rgba(255,255,255,.24)}
.km-toast__time{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#E2A4CD;transform-origin:left;animation:kmTime linear forwards}
@keyframes kmTime{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.km-loadbar{position:fixed;left:0;top:0;height:2px;width:100%;z-index:100;background:#82326C;transform:scaleX(0);transform-origin:left;opacity:0;pointer-events:none}
.km-loadbar.is-on{opacity:1;transform:scaleX(.85);transition:transform 2.4s cubic-bezier(.1,.6,.2,1),opacity .1s}
@keyframes kmShimmer{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}
.km-loading{background-color:#F1EFEC!important;background-image:linear-gradient(90deg,#F1EFEC 0,#F8F7F5 50%,#F1EFEC 100%)!important;background-size:200px 100%!important;background-repeat:no-repeat!important;animation:kmShimmer 1.2s linear infinite;color:transparent}
@media (prefers-reduced-motion:reduce){.km-loadbar.is-on{transition:none}.km-loading{animation:none}}
.kseg{display:inline-flex;border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px;background:#FFFFFF}
.kseg a{padding:6px 12px;border-radius:7px;font-size:13px;font-weight:500;color:#4B4741;text-decoration:none}
.kseg a[aria-current="page"]{background:#FAE4F2;color:#672654;font-weight:600}
.kpause{position:relative}
.kpause>summary{list-style:none;cursor:pointer}
.kpause>summary::-webkit-details-marker{display:none}
.kpause__menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#FFFFFF;box-shadow:0 16px 40px -16px rgba(31,27,22,.3);animation:kmZoom .14s cubic-bezier(.2,.7,.2,1) both}
.kpause__menu p{margin:4px 8px 6px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.kpause__menu form{margin:0}
.kpause__opt{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:none;font:500 14px Inter,system-ui,sans-serif;color:#1F1B16;cursor:pointer}
.kpause__opt:hover,.kpause__opt:focus-visible{background:#FAE4F2;color:#672654}
.kpause__more{display:block;margin-top:4px;padding:8px 10px;border-top:1px solid var(--border);font-size:13px;color:#82326C;text-decoration:none}
.kboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;margin-top:16px;position:relative}
.kboard__col{background:#F7F5F2;border:1px solid var(--border);border-radius:14px;padding:12px;min-height:260px;transition:background-color .15s,border-color .15s,box-shadow .15s}
.kboard__head{display:flex;flex-direction:column;gap:2px;margin:2px 4px 10px}
.kboard__head h2{margin:0;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.kboard__n{display:inline-flex;min-width:22px;height:22px;padding:0 7px;border-radius:11px;align-items:center;justify-content:center;background:#FFFFFF;border:1px solid var(--border);font-size:12px;font-weight:600;color:#4B4741}
.kboard__list{display:grid;gap:10px}
.kboard__empty{margin:8px 4px;color:var(--muted);font-size:13px}
.kboard.is-dragging .kboard__col.can-drop{border-color:#E2A4CD;border-style:dashed}
.kboard__col.is-over{background:#FDF4F9;border-color:#82326C!important;box-shadow:0 0 0 3px #FAE4F2}
.kboard__done{display:none}
.kboard.is-dragging .kboard__done.can-drop{display:flex;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;padding:14px 22px;border:2px dashed #2B7440;border-radius:14px;background:#E6F2E9;color:#2B7440;font-weight:600}
.kboard__done.is-over{background:#D3EAD9}
.kcard{background:#FFFFFF;border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:8px;cursor:grab;touch-action:pan-y;user-select:none;transition:box-shadow .15s,opacity .15s}
.kcard:hover{box-shadow:0 6px 18px -12px rgba(31,27,22,.35)}
.kcard:focus-visible{outline:2px solid #82326C;outline-offset:2px}
.kcard.km-lift{opacity:.35}
.kcard--ghost{position:fixed;z-index:60;margin:0;pointer-events:none;opacity:1;background:#fff;box-shadow:0 18px 40px -14px rgba(31,27,22,.45);cursor:grabbing}
.kcard__top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.kcard__top a{color:#1F1B16;text-decoration:none;font-size:14px}
.kcard__wait{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.kcard__wait.is-soon{color:#8A5600}
.kcard__wait.is-late{color:#A73447}
.kcard__tags{display:flex;flex-wrap:wrap;gap:4px}
.kcard__lines{margin:0;font-size:13px;color:#4B4741;line-height:1.45}
.kcard__foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.kcard__acts{display:flex;gap:6px}
@media (max-width:900px){.kboard{grid-template-columns:1fr}.kboard__col{min-height:0}}
.kdrawer-back{position:fixed;inset:0;z-index:70;background:rgba(31,27,22,.28);opacity:0;pointer-events:none;transition:opacity .2s}
.kdrawer-back.is-open{opacity:1;pointer-events:auto}
.kdrawer{position:fixed;top:0;right:0;bottom:0;z-index:71;width:min(520px,100vw);background:#FFFFFF;border-left:1px solid var(--border);box-shadow:-24px 0 48px -24px rgba(31,27,22,.3);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column}
.kdrawer.is-open{transform:none}
.kdrawer__bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}
.kdrawer__full{margin-right:auto;padding-left:8px;font-size:13px;font-weight:500;color:#82326C;text-decoration:none}
.kdrawer__x{width:36px;height:36px;border:0;border-radius:10px;background:none;font-size:24px;line-height:1;color:#4B4741;cursor:pointer}
.kdrawer__x:hover{background:#F7F5F2}
.kdrawer__body{flex:1;overflow:auto;outline:0}
.kdrawer__body .dcontent{padding:20px!important;max-width:none}
.kdrawer__skel{display:grid;gap:12px;padding:24px}
.kdrawer__skel i{display:block;height:18px;border-radius:6px}
.kdrawer__skel i:first-child{height:40px;width:60%}
.kp{padding:24px;display:grid;gap:18px}
.kp__head{display:flex;gap:14px;align-items:center}
.kp__av{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#FAE4F2;color:#672654;font-weight:700;font-size:18px;flex:none}
.kp__title{margin:0;font-size:20px;font-weight:600}
.kp__head p{margin:2px 0 0}
.kp__facts{margin:0;display:grid;gap:10px}
.kp__facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;font-size:14px}
.kp__facts dt{color:var(--muted)}
.kp__facts dd{margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kp__facts a{color:#82326C}
.kp__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kp__stats div{border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:4px}
.kp__stats span{font-size:12px;color:var(--muted);font-weight:500}
.kp__stats b{font-size:18px;font-weight:600}
.kp__sub{margin:4px 0 0;font-size:14px;font-weight:600}
.kp__order{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--border);color:#1F1B16;text-decoration:none;font-size:14px}
.kp__order:hover{background:#F7F5F2}
.kpeek-name{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.kpeek-name:hover{color:#82326C}
.kprice{border:1px dashed transparent;background:none;padding:4px 6px;margin:-4px -6px;border-radius:8px;font:600 14px Inter,system-ui,sans-serif;color:#1F1B16;cursor:text;font-variant-numeric:tabular-nums;transition:border-color .15s,background-color .15s}
.kprice:hover,.kprice:focus-visible{border-color:#D3D6DC;background:#FFFFFF}
.kprice.is-saving{opacity:.6}
.kprice__in{width:90px;min-height:34px!important;height:34px;padding:0 8px!important;font-size:14px!important;text-align:right}
@keyframes kmFlash{0%{background-color:#E6F2E9}100%{background-color:transparent}}
.km-flash{animation:kmFlash .9s ease-out}
.kchart-tip{position:absolute;top:-8px;transform:translate(-50%,-100%);z-index:5;padding:6px 10px;border-radius:8px;background:#1F1B16;color:#FFFFFF;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none}
.kchart-cmp{margin:10px 0 0}

.k .km-dim{opacity:.6;transition:opacity .2s}
.k .km-rolling{font-variant-numeric:tabular-nums}
.k .km-new{animation:kmNew 1.4s cubic-bezier(.2,.7,.2,1) both}
.k .km-out,.k .km-out-accept{overflow:hidden;transition:height .32s cubic-bezier(.4,0,.2,1) .08s,opacity .2s,transform .32s cubic-bezier(.4,0,.2,1),margin .32s,padding .32s;opacity:0;height:0!important;padding-top:0!important;padding-bottom:0!important;margin:0!important;border-width:0!important}
.k .km-out-accept{transform:translateX(24px)}
.k .km-out{transform:scale(.97)}
.k .km-bump{animation:kmBump .38s cubic-bezier(.2,.7,.2,1)}
.k .km-shake .field{animation:kmShake .42s cubic-bezier(.36,.07,.19,.97)}

/* ---- 09N / 09O / 09P motion and interactions (copied from dash.css, scoped to .k) ---- */
/* ---- 09N motion (owner request 23 Oct 2026): quick motion that explains what happened. 150–420 ms, ease-out, no bounce.
   Everything is switched off for "Reduce motion" (bottom of this block). ---- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
::view-transition-new(root){animation-name:kmPageIn}
::view-transition-old(root){animation-name:kmPageOut}
.k .dside{view-transition-name:kside}
::view-transition-group(kside),::view-transition-old(kside),::view-transition-new(kside){animation:none}
@keyframes kmPageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes kmPageOut{from{opacity:1}to{opacity:0}}
@supports not (view-transition-name:none){.k .dcontent>*{animation:kmPageIn .22s cubic-bezier(.2,.7,.2,1) both}}
/* sign-in pages ease in */
/* buttons press, links and cards respond */
.k .btn{transition:background-color .15s,border-color .15s,color .15s,transform .12s ease-out}
.k .btn:active:not(:disabled){transform:scale(.97)}
.k .dnav a{transition:background-color .15s,color .15s}
.k .dnav a:active{transform:scale(.99)}
.k .dolist__row{transition:background-color .15s}
.k .dchips a,.k .dtabs-line a{transition:background-color .15s,color .15s,border-color .15s}
/* search palette zooms in */
.k .cmdk__box{animation:kmZoom .16s cubic-bezier(.2,.7,.2,1) both}
@keyframes kmZoom{from{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:none}}
/* menu switches slide; switched-off dishes dim */
.k .t86 i,.k .t86 i::after{transition:background-color .18s ease,transform .18s cubic-bezier(.2,.7,.2,1),left .18s cubic-bezier(.2,.7,.2,1)}
.k .km-dim{opacity:.6;transition:opacity .2s}
/* numbers */
.k .km-rolling{font-variant-numeric:tabular-nums}
/* new orders slide in with a pink flash; accepted / declined cards fold away */
@keyframes kmNew{0%{opacity:0;transform:translateY(-10px)}40%{opacity:1;transform:none;background-color:#FAE4F2}100%{background-color:transparent}}
.k .km-new{animation:kmNew 1.4s cubic-bezier(.2,.7,.2,1) both}
.k .dorder.km-new{animation-name:kmNewCard}
@keyframes kmNewCard{0%{opacity:0;transform:translateY(-10px);box-shadow:0 0 0 3px #FAE4F2}40%{opacity:1;transform:none;box-shadow:0 0 0 3px #E2A4CD}100%{box-shadow:0 0 0 0 transparent}}
.k .km-out,.k .km-out-accept{overflow:hidden;transition:height .32s cubic-bezier(.4,0,.2,1) .08s,opacity .2s,transform .32s cubic-bezier(.4,0,.2,1),margin .32s,padding .32s;opacity:0;height:0!important;padding-top:0!important;padding-bottom:0!important;margin:0!important;border-width:0!important}
.k .km-out-accept{transform:translateX(24px)}
.k .km-out{transform:scale(.97)}
/* waiting time colours change smoothly */
.k [data-since]{transition:color .3s}
/* order badge bumps when the count changes */
@keyframes kmBump{0%{transform:scale(1)}35%{transform:scale(1.35)}100%{transform:scale(1)}}
.k .km-bump{animation:kmBump .38s cubic-bezier(.2,.7,.2,1)}
/* charts grow up from the bottom */
@keyframes kmGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.k .dweek i{transform-origin:bottom;animation:kmGrow .5s cubic-bezier(.2,.7,.2,1) both}
.k .dweek div:nth-child(2) i{animation-delay:.03s}.k .dweek div:nth-child(3) i{animation-delay:.06s}.k .dweek div:nth-child(4) i{animation-delay:.09s}.k .dweek div:nth-child(5) i{animation-delay:.12s}.k .dweek div:nth-child(6) i{animation-delay:.15s}.k .dweek div:nth-child(7) i{animation-delay:.18s}
/* toasts */
.km-toasts{position:fixed;right:20px;bottom:20px;z-index:90;display:grid;gap:8px;justify-items:end;pointer-events:none}
.km-toast{display:flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:12px;background:#1F1B16;color:#FFFFFF;font:500 14px Inter,system-ui,sans-serif;box-shadow:0 10px 30px -10px rgba(31,27,22,.45);animation:kmToast .24s cubic-bezier(.2,.7,.2,1) both;pointer-events:auto}
.km-toast i{width:18px;height:18px;border-radius:50%;background:#2B7440 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;flex:none}
.km-toast--info i{background-color:#82326C}
.km-toast.is-out{opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s}
@keyframes kmToast{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:960px){.km-toasts{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));justify-items:stretch}}
/* 6-box sign-in code */
.km-otp{position:relative}
.km-otp__boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.km-otp__boxes span{height:52px;display:flex;align-items:center;justify-content:center;border:1px solid #D3D6DC;border-radius:10px;background:#FFFFFF;font:600 22px Inter,system-ui,sans-serif;color:#1F1B16;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s,background-color .2s,color .2s,transform .15s}
.km-otp__boxes span.is-filled{border-color:#1F1B16;animation:kmPop .16s ease-out}
.km-otp__boxes span.is-active{border-color:#82326C;box-shadow:0 0 0 1px #82326C}
@keyframes kmPop{from{transform:scale(.9)}to{transform:none}}
.km-otp.is-ok .km-otp__boxes span{border-color:#2B7440;background:#E6F2E9;color:#2B7440;box-shadow:none}
.km-otp.is-error .km-otp__boxes{animation:kmShake .42s cubic-bezier(.36,.07,.19,.97)}
.km-otp.is-error .km-otp__boxes span{border-color:#A73447}
@keyframes kmShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.k .km-shake .field{animation:kmShake .42s cubic-bezier(.36,.07,.19,.97)}
/* confetti canvas */
.km-confetti{position:fixed;inset:0;pointer-events:none;z-index:95}
/* Get live: the tick on the done page draws in */
.k .gl-party__tick{animation:kmPop .4s cubic-bezier(.2,.7,.2,1) .1s both}
/* Reduce motion: no movement at all, just the end result */
@media (prefers-reduced-motion:reduce){
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
 .k *,.k *::before,.k *::after,.km-toast{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
}

/* ---- 09O: drag-and-drop, Undo toasts, loading placeholders ---- */
.km-sortlist{display:contents}
.dmenu__cats .km-sortlist{display:flex;flex-direction:column;gap:2px}
.km-sortitem{position:relative}
.km-grip{position:absolute;left:0;top:50%;width:14px;height:28px;margin-top:-14px;padding:0;border:0;border-radius:6px;background:none;cursor:grab;opacity:0;touch-action:none;z-index:2;transition:opacity .15s,background-color .15s;
 background-image:radial-gradient(#8B857E 1.4px,transparent 1.6px);background-size:6px 6px;background-position:1px 2px}
.km-grip:hover{background-color:#F1EFEC}
.km-grip:focus-visible{opacity:1;outline:2px solid #82326C;outline-offset:1px}
.km-sortitem:hover .km-grip,.ddish__row:hover .km-grip,.km-sorting .km-grip{opacity:1}
@media (hover:none){.km-grip{opacity:.7}}
.dmenu__cats .km-sortitem a{padding-left:18px}
.ddish__row{position:relative}
.ddish__row .km-grip{left:3px;z-index:4}
.km-dragging{position:relative;z-index:5;background:#FFFFFF;box-shadow:0 12px 28px -12px rgba(31,27,22,.35);border-radius:10px;cursor:grabbing}
.km-dragging .km-grip{cursor:grabbing}
.km-sorting{user-select:none}
/* Undo in toasts, with a thin bar showing the time left */
.km-toast{position:relative;overflow:hidden}
.km-toast__undo{margin-left:8px;padding:4px 10px;border:0;border-radius:8px;background:rgba(255,255,255,.14);color:#FFFFFF;font:600 13px Inter,system-ui,sans-serif;cursor:pointer}
.km-toast__undo:hover{background:rgba(255,255,255,.24)}
.km-toast__time{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#E2A4CD;transform-origin:left;animation:kmTime linear forwards}
@keyframes kmTime{from{transform:scaleX(1)}to{transform:scaleX(0)}}
/* loading: thin bar at the top while the next page loads, grey shimmer while photos and previews load */
.km-loadbar{position:fixed;left:0;top:0;height:2px;width:100%;z-index:100;background:#82326C;transform:scaleX(0);transform-origin:left;opacity:0;pointer-events:none}
.km-loadbar.is-on{opacity:1;transform:scaleX(.85);transition:transform 2.4s cubic-bezier(.1,.6,.2,1),opacity .1s}
@keyframes kmShimmer{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}
.km-loading{background-color:#F1EFEC!important;background-image:linear-gradient(90deg,#F1EFEC 0,#F8F7F5 50%,#F1EFEC 100%)!important;background-size:200px 100%!important;background-repeat:no-repeat!important;animation:kmShimmer 1.2s linear infinite;color:transparent}
.k .ddish__pic{background-color:#F1EFEC}
@media (prefers-reduced-motion:reduce){.km-loadbar.is-on{transition:none}.km-loading{animation:none}}

/* ---- 09P interactions: Orders board, pause menu, side panel, inline price, chart compare ---- */
.kseg{display:inline-flex;border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px;background:#FFFFFF}
.kseg a{padding:6px 12px;border-radius:7px;font-size:13px;font-weight:500;color:#4B4741;text-decoration:none}
.kseg a[aria-current="page"]{background:#FAE4F2;color:#672654;font-weight:600}
/* pause menu */
.kpause{position:relative}
.kpause>summary{list-style:none;cursor:pointer}.kpause>summary::-webkit-details-marker{display:none}
.kpause__menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#FFFFFF;box-shadow:0 16px 40px -16px rgba(31,27,22,.3);animation:kmZoom .14s cubic-bezier(.2,.7,.2,1) both}
.kpause__menu p{margin:4px 8px 6px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.kpause__menu form{margin:0}
.kpause__opt{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:none;font:500 14px Inter,system-ui,sans-serif;color:#1F1B16;cursor:pointer}
.kpause__opt:hover,.kpause__opt:focus-visible{background:#FAE4F2;color:#672654}
.kpause__more{display:block;margin-top:4px;padding:8px 10px;border-top:1px solid var(--border);font-size:13px;color:#82326C;text-decoration:none}
/* Orders board */
.kboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;margin-top:16px;position:relative}
.kboard__col{background:#F7F5F2;border:1px solid var(--border);border-radius:14px;padding:12px;min-height:260px;transition:background-color .15s,border-color .15s,box-shadow .15s}
.kboard__head{display:flex;flex-direction:column;gap:2px;margin:2px 4px 10px}
.kboard__head h2{margin:0;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.kboard__n{display:inline-flex;min-width:22px;height:22px;padding:0 7px;border-radius:11px;align-items:center;justify-content:center;background:#FFFFFF;border:1px solid var(--border);font-size:12px;font-weight:600;color:#4B4741}
.kboard__list{display:grid;gap:10px}
.kboard__empty{margin:8px 4px;color:var(--muted);font-size:13px}
.kboard.is-dragging .kboard__col.can-drop{border-color:#E2A4CD;border-style:dashed}
.kboard__col.is-over{background:#FDF4F9;border-color:#82326C!important;box-shadow:0 0 0 3px #FAE4F2}
.kboard__done{display:none}
.kboard.is-dragging .kboard__done.can-drop{display:flex;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;padding:14px 22px;border:2px dashed #2B7440;border-radius:14px;background:#E6F2E9;color:#2B7440;font-weight:600}
.kboard__done.is-over{background:#D3EAD9}
.kcard{background:#FFFFFF;border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:8px;cursor:grab;touch-action:pan-y;user-select:none;transition:box-shadow .15s,opacity .15s}
.kcard:hover{box-shadow:0 6px 18px -12px rgba(31,27,22,.35)}
.kcard:focus-visible{outline:2px solid #82326C;outline-offset:2px}
.kcard.km-lift{opacity:.35}
.kcard--ghost{position:fixed;z-index:60;margin:0;pointer-events:none;opacity:1;background:#fff;box-shadow:0 18px 40px -14px rgba(31,27,22,.45);cursor:grabbing}
.kcard__top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.kcard__top a{color:#1F1B16;text-decoration:none;font-size:14px}
.kcard__wait{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.kcard__wait.is-soon{color:#8A5600}.kcard__wait.is-late{color:#A73447}
.kcard__tags{display:flex;flex-wrap:wrap;gap:4px}
.kcard__lines{margin:0;font-size:13px;color:#4B4741;line-height:1.45}
.kcard__foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.kcard__acts{display:flex;gap:6px}
@media (max-width:900px){.kboard{grid-template-columns:1fr}.kboard__col{min-height:0}}
/* side panel */
.kdrawer-back{position:fixed;inset:0;z-index:70;background:rgba(31,27,22,.28);opacity:0;pointer-events:none;transition:opacity .2s}
.kdrawer-back.is-open{opacity:1;pointer-events:auto}
.kdrawer{position:fixed;top:0;right:0;bottom:0;z-index:71;width:min(520px,100vw);background:#FFFFFF;border-left:1px solid var(--border);box-shadow:-24px 0 48px -24px rgba(31,27,22,.3);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column}
.kdrawer.is-open{transform:none}
.kdrawer__bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}
.kdrawer__full{margin-right:auto;padding-left:8px;font-size:13px;font-weight:500;color:#82326C;text-decoration:none}
.kdrawer__x{width:36px;height:36px;border:0;border-radius:10px;background:none;font-size:24px;line-height:1;color:#4B4741;cursor:pointer}
.kdrawer__x:hover{background:#F7F5F2}
.kdrawer__body{flex:1;overflow:auto;outline:0}
.kdrawer__body .dcontent{padding:20px!important;max-width:none}
.kdrawer__skel{display:grid;gap:12px;padding:24px}.kdrawer__skel i{display:block;height:18px;border-radius:6px}.kdrawer__skel i:first-child{height:40px;width:60%}
body.km-noscroll{overflow:hidden}
.kp{padding:24px;display:grid;gap:18px}
.kp__head{display:flex;gap:14px;align-items:center}
.kp__av{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#FAE4F2;color:#672654;font-weight:700;font-size:18px;flex:none}
.kp__title{margin:0;font-size:20px;font-weight:600}
.kp__head p{margin:2px 0 0}
.kp__facts{margin:0;display:grid;gap:10px}
.kp__facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;font-size:14px}
.kp__facts dt{color:var(--muted)}.kp__facts dd{margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kp__facts a{color:#82326C}
.kp__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kp__stats div{border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:4px}
.kp__stats span{font-size:12px;color:var(--muted);font-weight:500}.kp__stats b{font-size:18px;font-weight:600}
.kp__sub{margin:4px 0 0;font-size:14px;font-weight:600}
.kp__order{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--border);color:#1F1B16;text-decoration:none;font-size:14px}
.kp__order:hover{background:#F7F5F2}
.dc-row[data-peek]{cursor:pointer;transition:background-color .15s}
.dc-row[data-peek]:hover{background:#F7F5F2}
.kpeek-name{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.kpeek-name:hover{color:#82326C}
/* inline price */
.kprice{border:1px dashed transparent;background:none;padding:4px 6px;margin:-4px -6px;border-radius:8px;font:600 14px Inter,system-ui,sans-serif;color:#1F1B16;cursor:text;font-variant-numeric:tabular-nums;transition:border-color .15s,background-color .15s}
.kprice:hover,.kprice:focus-visible{border-color:#D3D6DC;background:#FFFFFF}
.kprice.is-saving{opacity:.6}
.kprice__in{width:90px;min-height:34px!important;height:34px;padding:0 8px!important;font-size:14px!important;text-align:right}
@keyframes kmFlash{0%{background-color:#E6F2E9}100%{background-color:transparent}}
.km-flash{animation:kmFlash .9s ease-out}
/* chart compare */
.dr-chart{position:relative}
.dr-chart>div[data-tip]{cursor:pointer;outline:0;border-radius:6px}
.dr-chart>div[data-tip]:focus-visible i,.dr-chart>div[data-tip]:hover i{filter:brightness(.92)}
.dr-chart>div.is-picked i{box-shadow:0 0 0 2px #82326C}
.kchart-tip{position:absolute;top:-8px;transform:translate(-50%,-100%);z-index:5;padding:6px 10px;border-radius:8px;background:#1F1B16;color:#FFFFFF;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none}
.kchart-cmp{margin:10px 0 0}

.k .dside{view-transition-name:kside}

/* 10A: the side panel sits outside .k */
.kdrawer{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#1F1B16;-webkit-font-smoothing:antialiased}
@media (min-width:901px){.k .ph-only{display:none!important}}
/* 10A: a page's sticky phone action bar sits above the bottom nav (full-screen pages have no bottom nav) */
@media (max-width:900px){.k.shell .pact{bottom:calc(73px + env(safe-area-inset-bottom))}}
/* 10A (owner, 26 Oct): on wide screens the page starts at the side menu (same 40px gap as the design) instead of
   floating in the middle, and uses more of the width. */
.k .main{padding-left:40px;padding-right:40px}
.k .main .wrap{max-width:1360px;margin-left:0;margin-right:auto}
@media (max-width:900px){.k .main{padding-left:16px;padding-right:16px}}

/* 10C AI star: solid Damson, only on AI features. Damson 300 on dark Damson 900 backgrounds. */
.ai-star{color:var(--damson,#82326C);vertical-align:-2px;margin-right:6px;flex:none}
.tab .ai-star,.btn .ai-star,.ct .ai-star{margin-right:0}
.ct:has(> .ai-star){display:flex;align-items:center;gap:8px}
.on-dark .ai-star,.is-dark .ai-star{color:var(--damson-300,#E2A4CD)}
.pchips .on .ai-star,.chip.on .ai-star,.subtabs a.on.is-dark .ai-star{color:var(--damson-300,#E2A4CD)}
