/* Arkyn / SWAT Academy — Alpha 2.0b
   Core Design System + Motion System. Loaded after UI3 for progressive compatibility.
   Modules keep their business layouts; shared surfaces and interactions are owned by Core. */
:root{
  --ja-a2-shell:#11151a;
  --ja-a2-shell-2:#151a20;
  --ja-a2-shell-3:#191f26;
  --ja-a2-workspace:#0c0f13;
  --ja-a2-surface:rgba(255,255,255,.038);
  --ja-a2-surface-2:rgba(255,255,255,.055);
  --ja-a2-surface-hover:rgba(255,255,255,.072);
  --ja-a2-surface-pressed:rgba(255,255,255,.09);
  --ja-a2-border:rgba(255,255,255,.075);
  --ja-a2-border-strong:rgba(255,255,255,.13);
  --ja-a2-border-focus:color-mix(in srgb,var(--ja-accent) 52%,rgba(255,255,255,.12));
  --ja-a2-radius-control:10px;
  --ja-a2-radius-card:14px;
  --ja-a2-radius-panel:16px;
  --ja-a2-radius-float:18px;
  --ja-a2-shadow-card:0 1px 0 rgba(255,255,255,.025) inset,0 8px 22px rgba(0,0,0,.08);
  --ja-a2-shadow-float:0 24px 70px rgba(0,0,0,.42),0 1px 0 rgba(255,255,255,.04) inset;
  --ja-a2-shadow-dialog:0 38px 120px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.05) inset;
  --ja-a2-focus:0 0 0 3px color-mix(in srgb,var(--ja-accent) 20%,transparent);
  --ja-a2-fast:140ms;
  --ja-a2-normal:190ms;
  --ja-a2-slow:260ms;
  --ja-a2-ease:cubic-bezier(.2,.75,.2,1);
  --ja-a2-ease-enter:cubic-bezier(.16,1,.3,1);
  --ja-a2-ease-exit:cubic-bezier(.4,0,1,1);
}

/* ---------- Application shell ---------- */
body.swat-ui3{
  background:var(--ja-a2-workspace)!important;
  color:var(--ja-text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.swat-ui3 .swat-navigation-rail,
body.swat-ui3 .swat-workspace-topbar{
  background:linear-gradient(180deg,var(--ja-a2-shell-2),var(--ja-a2-shell))!important;
  border-color:var(--ja-a2-border)!important;
  box-shadow:none!important;
}
body.swat-ui3 .swat-navigation-rail{
  border-right:1px solid var(--ja-a2-border)!important;
  border-radius:0!important;
}
body.swat-ui3 .swat-workspace-topbar{
  border-bottom:1px solid var(--ja-a2-border)!important;
  border-radius:0!important;
  backdrop-filter:blur(24px) saturate(1.16)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.16)!important;
}
body.swat-ui3 .swat-sdk-workspace,
body.swat-ui3 .swat-global-hub-backdrop,
body.swat-ui3 .swat-global-hub,
body.swat-ui3 .swat-sdk-layout,
body.swat-ui3 .swat-sdk-main{background:var(--ja-a2-workspace)!important}
body.swat-ui3 .swat-sdk-main{isolation:isolate;contain:paint style}

/* ---------- Focus, interaction and density ---------- */
body.swat-ui3 :is(button,a,[role="button"],input,select,textarea,[tabindex]):focus-visible{
  outline:none!important;
  box-shadow:var(--ja-a2-focus)!important;
}
body.swat-ui3 :is(button,.ja-button,.swat-ui-btn,.swat-top-icon,.ja-icon-button){
  -webkit-tap-highlight-color:transparent;
  transition:transform 110ms var(--ja-a2-ease-enter),background-color var(--ja-a2-fast) var(--ja-a2-ease),border-color var(--ja-a2-fast) var(--ja-a2-ease),color var(--ja-a2-fast) var(--ja-a2-ease),box-shadow var(--ja-a2-fast) var(--ja-a2-ease),opacity var(--ja-a2-fast) var(--ja-a2-ease)!important;
}
body.swat-ui3 :is(button,.ja-button,.swat-ui-btn,.swat-top-icon,.ja-icon-button):active:not(:disabled){transform:scale(.975)}
body.swat-ui3 :is(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.48}
html[data-ui-density="compact"]{--ja-control-h:30px}
html[data-ui-density="comfortable"]{--ja-control-h:38px}

/* ---------- Typography ---------- */
.ja-a2-heading{margin:0;font-family:var(--ja-font-display);font-weight:720;letter-spacing:-.026em;line-height:1.15}
.ja-a2-heading.xl{font-size:clamp(24px,3vw,34px)}
.ja-a2-heading.lg{font-size:22px}.ja-a2-heading.md{font-size:17px}.ja-a2-heading.sm{font-size:14px}
.ja-a2-muted{color:var(--ja-muted)}
.ja-a2-caption{color:var(--ja-muted);font-size:11px;line-height:1.4}

/* ---------- Core surfaces ---------- */
body.swat-ui3 :is(.ja-panel,.ja-card,.swat-module-card,.swat-domain-card,.swat-quick-action-card,.ja-stat){
  border-color:var(--ja-a2-border)!important;
  box-shadow:var(--ja-a2-shadow-card)!important;
}
body.swat-ui3 :is(.ja-panel,.ja-card,.ja-stat){background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.024))}
body.swat-ui3 :is(.swat-module-card,.swat-domain-card,.swat-quick-action-card){border-radius:var(--ja-a2-radius-card)!important}
body.swat-ui3 :is(.ja-card.interactive,.swat-module-card,.swat-domain-card,.swat-quick-action-card):hover{
  border-color:var(--ja-a2-border-strong)!important;
  background-color:var(--ja-a2-surface-hover)!important;
  transform:translateY(-1px);
}
.ja-card{overflow:hidden;border-radius:var(--ja-a2-radius-card)}
.ja-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px 0}
.ja-card-head h3{margin:0;font:650 14px/1.25 var(--ja-font-display);letter-spacing:-.012em}.ja-card-head p{margin:4px 0 0;color:var(--ja-muted);font-size:11px;line-height:1.4}
.ja-card-body{padding:16px}.ja-card-head+.ja-card-body{padding-top:12px}.ja-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--ja-a2-border);background:rgba(255,255,255,.016)}

/* ---------- Buttons ---------- */
.ja-button{
  position:relative;
  overflow:hidden;
  min-height:var(--ja-control-h);
  padding:0 12px;
  border:1px solid var(--ja-a2-border-strong);
  border-radius:var(--ja-a2-radius-control);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.038));
  color:var(--ja-text);
  box-shadow:0 1px 0 rgba(255,255,255,.035) inset;
  font:620 12.5px/1 var(--ja-font);
}
.ja-button:hover{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.055));border-color:rgba(255,255,255,.18)}
.ja-button.primary{
  border-color:color-mix(in srgb,var(--ja-accent) 68%,rgba(255,255,255,.16));
  background:linear-gradient(180deg,color-mix(in srgb,var(--ja-accent) 94%,white 6%),var(--ja-accent-strong));
  color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 20px color-mix(in srgb,var(--ja-accent) 18%,transparent);
}
.ja-button.primary:hover{filter:brightness(1.055);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 10px 24px color-mix(in srgb,var(--ja-accent) 24%,transparent)}
.ja-button.secondary{background:color-mix(in srgb,var(--ja-accent) 8%,var(--ja-a2-surface));border-color:color-mix(in srgb,var(--ja-accent) 20%,var(--ja-a2-border-strong));color:color-mix(in srgb,var(--ja-accent) 75%,white)}
.ja-button.ghost{background:transparent;border-color:transparent;box-shadow:none}.ja-button.ghost:hover{background:var(--ja-a2-surface-hover)}
.ja-button.danger{color:#ffabb1;background:rgba(255,107,117,.085);border-color:rgba(255,107,117,.22)}.ja-button.danger:hover{background:rgba(255,107,117,.14);border-color:rgba(255,107,117,.32)}
.ja-button.success{color:#9ff0d2;background:rgba(53,207,154,.08);border-color:rgba(53,207,154,.22)}
.ja-button.small{min-height:28px;padding-inline:9px;font-size:11.5px;border-radius:8px}.ja-button.large{min-height:42px;padding-inline:15px;font-size:13.5px;border-radius:11px}
.ja-button-icon{display:inline-grid;place-items:center;flex:0 0 auto;font-size:1.05em;line-height:1}
.ja-icon-button{position:relative;overflow:hidden;width:34px;height:34px;border-radius:9px}.ja-icon-button.small{width:28px;height:28px;border-radius:8px}.ja-icon-button.large{width:40px;height:40px;border-radius:11px}
.ja-icon-button:hover{background:var(--ja-a2-surface-hover)}

/* ---------- Forms ---------- */
.ja-field{gap:7px}.ja-label{color:var(--ja-text-2);font-size:11.5px;font-weight:650}.ja-required{color:var(--ja-danger)}
.ja-help,.ja-field-error{font-size:10.5px;line-height:1.4}.ja-field-error{color:#ff8f98}.ja-field.has-error :is(.ja-input,.ja-select,.ja-textarea){border-color:rgba(255,107,117,.54)!important;box-shadow:0 0 0 3px rgba(255,107,117,.08)!important}
.ja-input,.ja-select,.ja-textarea{
  border-color:var(--ja-a2-border-strong);
  border-radius:var(--ja-a2-radius-control)!important;
  background:rgba(6,8,10,.34);
  box-shadow:0 1px 0 rgba(255,255,255,.018) inset;
  transition:border-color var(--ja-a2-fast),box-shadow var(--ja-a2-fast),background-color var(--ja-a2-fast)!important;
}
.ja-input:hover,.ja-select:hover,.ja-textarea:hover{border-color:rgba(255,255,255,.18)}
.ja-input:focus,.ja-select:focus,.ja-textarea:focus{border-color:var(--ja-a2-border-focus)!important;background:rgba(255,255,255,.035)!important;box-shadow:var(--ja-a2-focus)!important}
.ja-input::placeholder,.ja-textarea::placeholder{color:color-mix(in srgb,var(--ja-muted) 76%,transparent)}
.ja-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ja-muted) 50%),linear-gradient(135deg,var(--ja-muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 11px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;padding-right:30px}
.ja-switch-wrap{display:inline-flex;align-items:center;gap:9px;color:var(--ja-text-2);font-size:12px;cursor:pointer}.ja-switch-wrap:has(input:disabled){cursor:not-allowed;opacity:.48}
.ja-switch{width:38px;height:22px}.ja-switch span{border-color:var(--ja-a2-border-strong);background:rgba(255,255,255,.08)}.ja-switch span::after{width:16px;height:16px;left:2px;top:2px}.ja-switch input:checked+span::after{transform:translateX(16px)}
.ja-check input{width:15px;height:15px}

/* ---------- Badges, avatars and statuses ---------- */
.ja-badge{min-height:22px;padding-inline:7px;border-color:var(--ja-a2-border);background:rgba(255,255,255,.035);font-size:10.5px;letter-spacing:.005em}
.ja-badge.info{color:#8edcff;background:rgba(40,183,246,.09);border-color:rgba(40,183,246,.18)}
.ja-badge.success{border-color:rgba(53,207,154,.18)}.ja-badge.warning{border-color:rgba(247,200,93,.18)}.ja-badge.danger{border-color:rgba(255,107,117,.2)}
.ja-avatar{box-shadow:0 1px 0 rgba(255,255,255,.06) inset}.ja-avatar img{width:100%;height:100%;object-fit:cover}.ja-avatar.small{width:26px;height:26px;font-size:10px}.ja-avatar.large{width:40px;height:40px;font-size:14px}

/* ---------- Tabs and breadcrumbs ---------- */
.ja-tabs{gap:2px;border-bottom-color:var(--ja-a2-border)}
.ja-tab{min-height:38px;padding:0 11px;border-radius:9px 9px 0 0;transition:color var(--ja-a2-fast),background-color var(--ja-a2-fast)!important}
.ja-tab:hover{background:rgba(255,255,255,.028);color:var(--ja-text)}.ja-tab.active{color:var(--ja-text)}
.ja-tab.active::after{left:10px;right:10px;height:2px;box-shadow:0 -2px 8px color-mix(in srgb,var(--ja-accent) 30%,transparent)}
.ja-tab-icon{margin-right:6px}.ja-breadcrumb{min-height:26px}.ja-breadcrumb a{color:var(--ja-muted);text-decoration:none}.ja-breadcrumb a:hover{color:var(--ja-text-2)}

/* ---------- Tables ---------- */
.ja-table-wrap{border-color:var(--ja-a2-border);border-radius:var(--ja-a2-radius-card);background:rgba(255,255,255,.018);box-shadow:var(--ja-a2-shadow-card)}
.ja-table{font-size:12px}.ja-table th,.ja-table td{padding:11px 13px;border-bottom-color:var(--ja-a2-border)}
.ja-table th{background:color-mix(in srgb,var(--ja-a2-shell-3) 94%,transparent);backdrop-filter:blur(14px);font-size:10.5px;text-transform:none;letter-spacing:.015em}
.ja-table tbody tr{transition:background-color var(--ja-a2-fast)}.ja-table tbody tr:hover{background:rgba(255,255,255,.028)}
.ja-table tbody tr.interactive{cursor:pointer}.ja-table tbody tr.interactive:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ja-accent) 50%,transparent)}
.ja-table-empty{padding:28px!important;text-align:center!important;color:var(--ja-muted)}

/* ---------- Stats and progress ---------- */
.ja-stat{border-radius:var(--ja-a2-radius-card);padding:15px}.ja-stat strong{font-size:25px}.ja-stat small{font-size:10.5px}
.ja-progress-wrap{display:grid;gap:6px}.ja-progress-label{display:flex;justify-content:space-between;gap:8px;color:var(--ja-muted);font-size:10.5px}.ja-progress-label b{color:var(--ja-text-2);font-weight:650}
.ja-progress{height:7px;background:rgba(255,255,255,.065);box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}.ja-progress>i{box-shadow:0 0 12px color-mix(in srgb,var(--ja-accent) 25%,transparent);transition:width var(--ja-a2-slow) var(--ja-a2-ease-enter)}

/* ---------- Pins ---------- */
body.swat-ui3 .swat-rail-pin{--pin-accent:var(--domain-accent,var(--ja-accent))}
body.swat-ui3 .swat-rail-pin-open>i{background:color-mix(in srgb,var(--pin-accent) 13%,transparent)!important;color:var(--pin-accent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--pin-accent) 18%,transparent) inset!important}
body.swat-ui3 .swat-rail-pin:hover .swat-rail-pin-open>i{background:color-mix(in srgb,var(--pin-accent) 20%,transparent)!important;box-shadow:0 0 18px color-mix(in srgb,var(--pin-accent) 14%,transparent)!important}
body.swat-ui3 .swat-pin-toggle.active{color:var(--domain-accent,var(--ja-accent))!important;background:color-mix(in srgb,var(--domain-accent,var(--ja-accent)) 13%,transparent)!important}

/* ---------- Context LeftSidebar ---------- */
body.swat-ui3 .ja-context-panel{background:linear-gradient(180deg,var(--ja-a2-shell-2),var(--ja-a2-shell))!important;border-color:var(--ja-a2-border)!important;box-shadow:14px 0 40px rgba(0,0,0,.16)!important}
body.swat-ui3 .ja-context-item{border-radius:10px!important;transition:background-color var(--ja-a2-fast),color var(--ja-a2-fast),transform 110ms var(--ja-a2-ease-enter)!important}
body.swat-ui3 .ja-context-item:hover{background:var(--ja-a2-surface-hover)!important}.ja-context-item:active{transform:scale(.988)}
body.swat-ui3 .ja-context-item.active{background:color-mix(in srgb,var(--cp-item-color,var(--ja-accent)) 13%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cp-item-color,var(--ja-accent)) 9%,transparent)!important}

/* ---------- Global search / command palette ---------- */
body.swat-ui3 .swat-workspace-search{border-color:var(--ja-a2-border)!important;background:rgba(255,255,255,.035)!important;border-radius:12px!important;transition:background-color var(--ja-a2-fast),border-color var(--ja-a2-fast),box-shadow var(--ja-a2-fast),width var(--ja-a2-normal) var(--ja-a2-ease-enter)!important}
body.swat-ui3 .swat-workspace-search:hover{background:rgba(255,255,255,.045)!important}
body.swat-ui3 .swat-workspace-search:focus-within{background:rgba(255,255,255,.055)!important;border-color:var(--ja-a2-border-focus)!important;box-shadow:var(--ja-a2-focus)!important}
body.swat-ui3 .swat-workspace-search-results{border:1px solid var(--ja-a2-border-strong)!important;border-radius:15px!important;background:color-mix(in srgb,var(--ja-a2-shell-2) 96%,black)!important;box-shadow:var(--ja-a2-shadow-float)!important;overflow:hidden!important;backdrop-filter:blur(24px) saturate(1.08)!important}
body.swat-ui3 .ja-search-result{border-radius:10px!important;transition:background-color var(--ja-a2-fast),transform 110ms var(--ja-a2-ease-enter)!important}
body.swat-ui3 .ja-search-result:hover,body.swat-ui3 .ja-search-result:focus-visible{background:var(--ja-a2-surface-hover)!important}.ja-search-result:active{transform:scale(.992)}
body.swat-ui3 .ja-search-result>i{background:color-mix(in srgb,var(--result-color,var(--ja-accent)) 13%,transparent)!important;color:var(--result-color,var(--ja-accent))!important}

/* ---------- Standard states ---------- */
.ja-a2-state{min-height:190px;display:grid;place-items:center;padding:30px;text-align:center;color:var(--ja-text)}
.ja-a2-state>div{max-width:480px;display:grid;justify-items:center;gap:8px}
.ja-a2-state i{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.03));border:1px solid var(--ja-a2-border);box-shadow:0 1px 0 rgba(255,255,255,.03) inset;font-style:normal;color:var(--ja-muted)}
.ja-a2-state strong{font-size:13.5px;font-weight:650}.ja-a2-state p{margin:0;color:var(--ja-muted);font-size:11.5px;line-height:1.5}.ja-a2-state .ja-button{margin-top:6px}
.ja-a2-state[data-ui-state="error"] i,.ja-a2-state[data-ui-state="forbidden"] i{color:#ff9da4;background:rgba(255,107,117,.07);border-color:rgba(255,107,117,.16)}
.ja-a2-state[data-ui-state="success"] i{color:#78dfba;background:rgba(53,207,154,.07);border-color:rgba(53,207,154,.16)}
.ja-a2-skeleton-group{display:grid}.ja-a2-skeleton{position:relative;display:block;overflow:hidden;border-radius:10px;background:rgba(255,255,255,.045);min-height:12px}
.ja-a2-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.075),transparent);animation:ja-a2-shimmer 1.35s linear infinite}
@keyframes ja-a2-shimmer{to{transform:translateX(100%)}}
.ja-a2-spinner{width:26px;height:26px;display:inline-block;border:2px solid rgba(255,255,255,.11);border-top-color:var(--ja-accent);border-radius:50%;animation:ja-a2-spin .72s linear infinite;box-shadow:0 0 14px color-mix(in srgb,var(--ja-accent) 12%,transparent)}
@keyframes ja-a2-spin{to{transform:rotate(360deg)}}

/* ---------- Overlay foundation ---------- */
.ja-a2-overlay-backdrop{background:rgba(3,5,7,.62)!important;backdrop-filter:blur(10px) saturate(.9)!important;-webkit-backdrop-filter:blur(10px) saturate(.9)!important}
.ja-a2-overlay{border-color:var(--ja-a2-border-strong)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--ja-a2-shell-3) 96%,black),color-mix(in srgb,var(--ja-a2-shell) 97%,black))!important;box-shadow:var(--ja-a2-shadow-dialog)!important}
.ja-a2-overlay.small{width:min(430px,calc(100vw - 28px))}.ja-a2-overlay.large{width:min(880px,calc(100vw - 28px))}.ja-a2-overlay.xlarge{width:min(1180px,calc(100vw - 28px))}
.ja-a2-overlay>header,.ja-a2-overlay>footer{border-color:var(--ja-a2-border)!important;background:rgba(255,255,255,.012)}
.ja-a2-overlay>header{align-items:flex-start}.ja-overlay-copy{min-width:0}.ja-overlay-copy small{display:block;margin-bottom:4px;color:var(--ja-accent);font-size:9px;font-weight:760;letter-spacing:.09em}.ja-overlay-copy h2{margin:0;font:690 17px/1.2 var(--ja-font-display);letter-spacing:-.018em}.ja-overlay-copy p{max-width:620px;margin:5px 0 0;color:var(--ja-muted);font-size:11px;line-height:1.45}
.ja-overlay-actions{width:100%;display:flex;justify-content:flex-end;gap:8px}.ja-confirm-message{margin:0;color:var(--ja-text-2);font-size:12px;line-height:1.55}
.ja-a2-overlay[aria-busy="true"]>main{opacity:.6;pointer-events:none}

/* ---------- Drawer ---------- */
.ja-drawer-backdrop{position:fixed;inset:0;z-index:var(--ja-layer-modal);display:flex;justify-content:flex-end;background:rgba(3,5,7,.55)}
.ja-drawer{width:min(460px,94vw);height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-left:1px solid var(--ja-a2-border-strong);background:var(--ja-a2-shell);box-shadow:-28px 0 80px rgba(0,0,0,.38)}
.ja-drawer.large{width:min(720px,96vw)}.ja-drawer.small{width:min(360px,92vw)}
.ja-drawer>header,.ja-drawer>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}.ja-drawer>header{border-bottom:1px solid var(--ja-a2-border)}.ja-drawer>footer{border-top:1px solid var(--ja-a2-border)}.ja-drawer>main{min-height:0;overflow:auto;padding:16px;overscroll-behavior:contain}

/* ---------- Popovers, menus and tooltips ---------- */
.ja-popover,.ja-dropdown{z-index:var(--ja-layer-popover);border-color:var(--ja-a2-border-strong);border-radius:13px;background:color-mix(in srgb,var(--ja-a2-shell-3) 96%,black);box-shadow:var(--ja-a2-shadow-float);backdrop-filter:blur(22px) saturate(1.08)}
.ja-dropdown{min-width:190px;padding:6px}.ja-menu{display:grid;gap:2px}.ja-menu-separator{height:1px;margin:5px 4px;background:var(--ja-a2-border)}
.ja-menu-item{min-height:34px;padding:0 9px;border-radius:8px;font-size:11.5px;transition:background-color var(--ja-a2-fast),color var(--ja-a2-fast),transform 100ms var(--ja-a2-ease-enter)!important}.ja-menu-item:hover,.ja-menu-item:focus-visible{background:var(--ja-a2-surface-hover);color:var(--ja-text)}.ja-menu-item:active{transform:scale(.988)}.ja-menu-item.danger{color:#ff9da4}.ja-menu-item>span:first-child:not(:last-child){width:18px;display:grid;place-items:center;color:var(--ja-muted)}.ja-menu-item kbd{margin-left:auto;padding:2px 5px;border:1px solid var(--ja-a2-border);border-radius:5px;background:rgba(255,255,255,.03);color:var(--ja-muted);font:500 9px/1 var(--ja-font)}
.ja-tooltip{z-index:calc(var(--ja-layer-popover) + 20);max-width:260px;padding:6px 8px;border-color:var(--ja-a2-border-strong);border-radius:7px;background:#20252b;box-shadow:0 7px 22px rgba(0,0,0,.28);font-size:10.5px;line-height:1.35;pointer-events:none}

/* ---------- Toasts ---------- */
.ja-toast-host{position:fixed;z-index:var(--ja-layer-toast);right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:grid;gap:8px;pointer-events:none}
.ja-toast{position:relative;overflow:hidden;pointer-events:auto;min-width:280px;max-width:min(430px,calc(100vw - 24px));padding:11px 10px 11px 11px;border-color:var(--ja-a2-border-strong);border-radius:13px;background:linear-gradient(180deg,#1a1f24,#151a1f);box-shadow:var(--ja-a2-shadow-float)}
.ja-toast-mark{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:rgba(40,183,246,.1);color:#7ed7ff;font-size:12px;font-weight:750}.ja-toast.success .ja-toast-mark{background:rgba(53,207,154,.1);color:#7be0ba}.ja-toast.warning .ja-toast-mark{background:rgba(247,200,93,.1);color:#f8d879}.ja-toast.danger .ja-toast-mark{background:rgba(255,107,117,.1);color:#ff9da4}
.ja-toast-copy{min-width:0;display:grid;gap:3px;flex:1}.ja-toast-copy strong{font-size:11.5px}.ja-toast-copy span{color:var(--ja-muted);font-size:10.5px;line-height:1.4}.ja-toast-timer{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left;background:color-mix(in srgb,var(--ja-accent) 62%,transparent);animation:ja-a2-toast-timer var(--ja-toast-duration) linear forwards}@keyframes ja-a2-toast-timer{to{transform:scaleX(0)}}

/* ---------- Motion hooks ---------- */
[data-ja-a2-enter],[data-ja-a2-exit]{will-change:transform,opacity}
body.ja-a2-navigating .swat-sdk-main{pointer-events:none}
.ja-a2-ripple-host{position:relative;overflow:hidden}.ja-a2-ripple{position:absolute;z-index:0;border-radius:50%;background:currentColor;pointer-events:none;transform:scale(.2)}.ja-a2-ripple-host>*{position:relative;z-index:1}

/* ---------- Accessibility helpers ---------- */
.ja-a2-live{position:fixed!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .ja-a2-overlay.large,.ja-a2-overlay.xlarge{width:min(760px,calc(100vw - 20px))}
}
@media(max-width:767px){
  body.swat-ui3 .swat-workspace-topbar{border-bottom-color:var(--ja-a2-border)!important}
  body.swat-ui3 .swat-workspace-search-results{border-radius:15px 15px 0 0!important}
  body.swat-ui3 .ja-context-panel{box-shadow:var(--ja-a2-shadow-float)!important}
  .ja-modal-backdrop{align-items:end!important;padding:0!important}
  .ja-modal.ja-a2-overlay{width:100%!important;max-height:90dvh!important;border-radius:18px 18px 0 0!important;border-bottom:0!important}
  .ja-drawer{width:100vw!important;max-width:none!important}
  .ja-toast-host{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom))}.ja-toast{width:100%;min-width:0;max-width:none}
  .ja-overlay-actions{display:grid;grid-template-columns:1fr 1fr}.ja-overlay-actions .ja-button{width:100%}
  .ja-table-wrap.responsive .ja-table thead{display:none}.ja-table-wrap.responsive .ja-table,.ja-table-wrap.responsive .ja-table tbody,.ja-table-wrap.responsive .ja-table tr,.ja-table-wrap.responsive .ja-table td{display:block;width:100%}.ja-table-wrap.responsive .ja-table tr{padding:10px;border-bottom:1px solid var(--ja-a2-border)}.ja-table-wrap.responsive .ja-table td{display:grid;grid-template-columns:minmax(90px,.75fr) 1fr;gap:10px;padding:5px 0;border:0}.ja-table-wrap.responsive .ja-table td::before{content:attr(data-label);color:var(--ja-muted);font-size:10px;font-weight:650}
}
@media(max-width:520px){
  .ja-button.large{min-height:40px}.ja-card-head,.ja-card-body,.ja-card-footer{padding-inline:13px}.ja-a2-state{min-height:165px;padding:22px 14px}
}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  .ja-a2-skeleton:after,.ja-a2-spinner,.ja-toast-timer{animation:none!important}
  .ja-a2-skeleton:after{display:none!important}
  body.swat-ui3 :is(button,.ja-button,.swat-ui-btn,.swat-top-icon,.ja-icon-button):active:not(:disabled){transform:none!important}
  [data-ja-a2-enter],[data-ja-a2-exit]{will-change:auto!important}
}
