/* Motion CSS — recovered verbatim 16 Sep 2026 from the original interactive
   build, alongside js/dashboard-motion.js. Every rule is scoped under
   html[data-basis-motion], the attribute that module sets, so the dashboard
   still renders correctly if the script is absent. Ends with a
   prefers-reduced-motion block that disables the whole layer. */

/* Dashboard interaction layer. Existing themes, data and layouts are retained. */
html[data-basis-motion] {--motion-ease:cubic-bezier(.22,1,.36,1)}
html[data-basis-motion] #view .rise,html[data-basis-motion] #view tbody tr,html[data-basis-motion] #view .stream-row,html[data-basis-motion] #view .news-row,html[data-basis-motion] #view .client-row{animation:none!important}
html[data-basis-motion] #view.leaving{opacity:1!important;transform:none!important}
html[data-basis-motion] button,html[data-basis-motion] summary{touch-action:manipulation}
html[data-basis-motion] button:not(:disabled){transition:background-color 180ms,color 180ms,border-color 180ms,box-shadow 180ms,transform 200ms var(--motion-ease)}
html[data-basis-motion] :is(.solid,.ghost,.cta):hover:not(:disabled){transform:translateY(-1px)}
html[data-basis-motion] :is(.solid,.ghost,.cta,.deck16-tag):active:not(:disabled){transform:translateY(1px) scale(.98)}
html[data-basis-motion] :is(.stream-row,.news-row,.client-row,.sent-row,.deck-row) .arw{transition:transform 220ms var(--motion-ease)}
html[data-basis-motion] :is(.stream-row,.news-row,.client-row,.sent-row,.deck-row):hover .arw{transform:translateX(4px)}
html[data-basis-motion] input[type=checkbox]{accent-color:var(--sig);transition:transform 160ms}
html[data-basis-motion] input[type=checkbox]:active{transform:scale(.86)}
html[data-basis-motion] .deck17-tabs{position:relative}
html[data-basis-motion] .deck17-tabs button[aria-current=true]:after{display:none}
.motion-tab-line{position:absolute;height:2px;bottom:-1px;background:var(--ink);pointer-events:none}
.motion-ghost{pointer-events:none!important;position:absolute!important;inset:0;z-index:3;margin:0!important;overflow:hidden;transform-origin:center;contain:paint}
html[data-basis-motion] .deck18-stage{position:relative;perspective:1100px;isolation:isolate}
.motion-order-preview{border-top:1px solid var(--line);padding-top:17px;display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);gap:22px}
.motion-order-heading{display:flex;gap:10px;align-items:baseline;margin-bottom:12px}
.motion-order-heading h3{font-size:13px;font-weight:650;letter-spacing:-.015em}
.motion-order-heading span{font-size:11px;color:var(--ink-3)}
.motion-order-list{list-style:none;padding:0;display:grid;gap:4px}
.motion-order-list li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 9px;border-radius:6px;color:var(--ink-2);font-size:12px;position:relative}
.motion-order-list li:first-child{background:var(--sig-bg);color:var(--ink)}
.motion-order-list li>b{font-size:10px;color:var(--ink-3);font-weight:500;font-variant-numeric:tabular-nums}
.motion-order-list li>small{font-size:10px;color:var(--sig);font-weight:600}
.motion-preview-page{position:relative;border:1px solid var(--line-2);background:var(--card);border-radius:9px;padding:20px 22px;min-width:0;box-shadow:3px 4px 0 var(--card-2),4px 5px 0 var(--line);align-self:start}
.motion-preview-page>small{font-size:11px;color:var(--ink-3)}
.motion-preview-page h4{font-size:19px;line-height:1.3;letter-spacing:-.035em;margin:12px 0 15px;color:var(--ink)}
.motion-preview-page ul{padding:0;list-style:none;display:grid;gap:10px}
.motion-preview-page li{font-size:12px;line-height:1.55;color:var(--ink-2);padding-left:13px;position:relative;overflow-wrap:anywhere}
.motion-preview-page li:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:var(--sig)}
.motion-preview-page footer{margin-top:18px;padding-top:11px;border-top:1px solid var(--line);font-size:10px;color:var(--ink-3)}
.motion-preview-note{grid-column:1/-1;font-size:11px;color:var(--ink-3);margin-top:-5px;line-height:1.5}
html[data-basis-motion] .deck16-tag[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--sig)!important}
html[data-basis-motion] .route-dialog-v11{animation:none}
html[data-basis-motion] details>summary{list-style:none;position:relative}
html[data-basis-motion] details>summary::-webkit-details-marker{display:none}
html[data-basis-motion] details:not(.action-more)>summary:after{content:"+";margin-left:auto;font-size:17px;color:var(--ink-3);transition:transform 220ms}
html[data-basis-motion] details[open]:not(.action-more)>summary:after{transform:rotate(45deg)}
html[data-basis-motion] :is(.data-table-wrap-v5,.deck18-library,.history-fold){scroll-margin-top:24px}
@media(max-width:640px){.motion-order-preview{grid-template-columns:1fr;gap:16px}.motion-order-list{grid-template-columns:repeat(2,minmax(0,1fr))}.motion-order-list li{font-size:11px}.motion-preview-page{padding:17px}.motion-preview-note{grid-column:1}.motion-order-heading{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html[data-basis-motion] *,html[data-basis-motion] *:before,html[data-basis-motion] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ghost{display:none!important}}

