/* Modified for Fusion on 2026-09-24; Input Modal adaptation:
   /third-party/NOTICE-Spectrum-UI.txt (Apache-2.0).
   21st.dev source ports: Arun Dass 14941, ln-dev7 575, Ruixen 7455,
   serafimcloud 1435, Arihant 4902 and extend-hq 21308.
   Geometry follows the selected sources; colors and typography use Fusion tokens. */
body.fusion-21st { --ui-bg: #fff; --ui-muted: #f6f8fb; --ui-fg: var(--fusion-text); --ui-line: var(--fusion-border); --ui-secondary: var(--fusion-muted); font-family: var(--fusion-font); color:var(--ui-fg); background:var(--ui-muted); }
body.fusion-21st.theme-dark { --ui-bg:#101b2a; --ui-muted:#162333; --ui-fg:#e2e8f0; --ui-line:#2d3748; --ui-secondary:#94a3b8; }
body.fusion-21st [hidden] { display:none !important; }
body.fusion-21st :is(button,input,select,textarea) { font-family:inherit; }
body.fusion-21st .app-sidebar { display:flex; flex-direction:column; box-sizing:border-box; width:260px!important; flex:0 0 260px!important; padding:12px!important; gap:0; background:var(--ui-bg)!important; color:var(--ui-fg); border-right:1px solid var(--ui-line); box-shadow:none; overflow-x:hidden; transition:width .3s ease,flex-basis .3s ease,padding .3s ease,opacity .3s ease; }
body.fusion-21st .app-sidebar::before,body.fusion-21st .app-sidebar::after { display:none; }
body.fusion-21st .sidebar-brand { display:flex; align-items:center; gap:12px; padding:8px!important; margin:0 0 16px!important; min-height:48px; border:0!important; border-radius:8px; color:var(--ui-fg)!important; }
.fusion-brand-logo { display:block; width:167px; height:36px; object-fit:contain; }
.fusion-brand-mark { display:none; width:32px; height:32px; }
.theme-dark .fusion-brand-logo { content:url('/img/brand/fusion-logo-dark.svg'); }
.module-brand-logo { display:inline-block; height:24px; width:auto; max-width:160px; object-fit:contain; vertical-align:middle; }
.theme-dark .module-brand-logo[data-brand="assist"] { content:url('/img/brand/assist-logo-dark.svg'); }
.theme-dark .module-brand-logo[data-brand="academ"] { content:url('/img/brand/academ-logo-dark.svg'); }
.theme-dark .module-brand-logo[data-brand="dot"] { content:url('/img/brand/dot-logo-dark.svg'); }
@media(min-width:901px) {
  body.fusion-21st.sidebar-collapsed .fusion-brand-logo { display:none; }
  body.fusion-21st.sidebar-collapsed .fusion-brand-mark { display:block; }
}
body.fusion-21st .sidebar-brand-visual { width:32px!important; height:32px!important; flex:0 0 32px; margin:0; }
body.fusion-21st .sidebar-brand .brand-ring { display:block; width:32px!important; height:32px!important; object-fit:contain; }
body.fusion-21st .sidebar-brand .brand-text { display:flex; flex-direction:column; gap:4px; min-width:0; }
body.fusion-21st .sidebar-brand strong { font-size:13px!important; font-weight:500; line-height:1; color:var(--ui-fg)!important; }
body.fusion-21st .sidebar-brand .brand-sub { font-size:11px!important; line-height:1.3; font-weight:400; letter-spacing:normal; text-transform:none; white-space:nowrap; max-width:172px; overflow:hidden; text-overflow:ellipsis; color:var(--ui-secondary)!important; margin:0!important; }
body.fusion-21st .sidebar-nav { display:flex; flex-direction:column; gap:16px; margin-top:8px; padding:0; overflow:auto; scrollbar-width:none; }
body.fusion-21st .sidebar-nav-group { padding:0!important; margin:0!important; border:0!important; background:none!important; display:flex; flex-direction:column; gap:2px; }
body.fusion-21st .sidebar-nav-label { margin:0 0 4px!important; padding:0 10px!important; font-size:11px!important; font-weight:600; letter-spacing:.05em; color:var(--ui-secondary)!important; text-transform:uppercase; }
body.fusion-21st .sidebar-nav-item,body.fusion-21st .tw21-nav-parent { display:flex; align-items:center; gap:10px; width:100%; min-height:0!important; padding:7px 10px!important; border:0!important; border-radius:6px!important; background:transparent!important; color:var(--ui-secondary)!important; box-shadow:none!important; font-size:13px!important; line-height:20px; font-weight:400!important; text-decoration:none; cursor:pointer; text-align:left; transition:all .2s; }
body.fusion-21st .sidebar-nav-item span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.fusion-21st .sidebar-nav-item:hover,body.fusion-21st .tw21-nav-parent:hover { background:color-mix(in srgb,var(--ui-fg) 5%,transparent)!important; color:var(--ui-fg)!important; }
body.fusion-21st .sidebar-nav-item.active { color:var(--ui-fg)!important; background:color-mix(in srgb,var(--ui-fg) 7%,transparent)!important; font-weight:500!important; }
body.fusion-21st .sidebar-nav-item::before,body.fusion-21st .sidebar-nav-item::after { display:none!important; }
body.fusion-21st .sidebar-nav-item svg,body.fusion-21st .tw21-nav-parent svg { width:16px!important; height:16px!important; flex:0 0 16px; stroke-width:1.5; margin:0!important; }
body.fusion-21st .tw21-nav-parent .tw21-chevron { margin-left:auto!important; width:14px!important; height:14px!important; transition:transform .2s; }
body.fusion-21st .tw21-nav-parent[aria-expanded=true] .tw21-chevron { transform:rotate(90deg); }
.tw21-nav-branch { display:grid; grid-template-rows:1fr; opacity:1; transition:grid-template-rows .3s ease-in-out,opacity .3s ease-in-out; }
.tw21-nav-branch.is-collapsed { grid-template-rows:0fr; opacity:0; }
.tw21-nav-children { min-height:0; overflow:hidden; position:relative; display:flex; flex-direction:column; gap:2px; }
.tw21-nav-children:before { content:""; position:absolute; left:17.5px; top:2px; bottom:0; width:1px; background:var(--ui-line); }
body.fusion-21st .tw21-nav-children .sidebar-nav-item { padding-left:22px!important; }
body.fusion-21st .sidebar-footer { margin-top:auto; padding:16px 10px 0; border-top:1px solid var(--ui-line); font-size:13px; color:var(--ui-secondary); background:transparent!important; }
body.fusion-21st .sidebar-footer .toggle-row { color:var(--ui-secondary); font-size:13px; }
body.fusion-21st .app-sidebar .sidebar-footer { display:flex; flex-direction:column; gap:8px; flex-shrink:0; margin-top:auto!important; }
body.fusion-21st .app-sidebar .sidebar-footer .sidebar-admin-link { min-height:44px!important; box-sizing:border-box; }
body.fusion-21st .sidebar-admin-link:focus-visible { outline:2px solid var(--fusion-accent); outline-offset:2px; }
/* Profile menu geometry follows anubra266 / menu-1 / user-menu (21st.dev). */
body.fusion-21st .sidebar-profile-trigger { display:flex; align-items:center; gap:12px; width:100%; min-height:48px; margin:0; padding:8px 10px; border:1px solid var(--ui-line); border-radius:8px; background:var(--ui-bg); color:var(--ui-fg); text-align:left; font:inherit; cursor:pointer; }
body.fusion-21st .sidebar-profile-trigger:hover,body.fusion-21st .sidebar-profile-trigger[aria-expanded=true] { background:var(--ui-muted); }
body.fusion-21st .sidebar-profile-trigger .topbar-user-card { display:flex!important; align-items:center; flex:1; min-width:0; gap:10px; margin:0; padding:0; border:0; background:none; }
body.fusion-21st .sidebar-profile-trigger .topbar-user-meta { display:flex!important; flex-direction:column; min-width:0; gap:2px; }
body.fusion-21st .sidebar-profile-trigger .topbar-user-meta strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:500; }
body.fusion-21st .sidebar-profile-trigger .topbar-user-meta small { font-size:11px; color:var(--ui-secondary); }
body.fusion-21st .sidebar-profile-trigger .topbar-avatar { flex:none; }
.sidebar-profile-more,.sidebar-profile-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 16px; width:16px; height:16px; color:inherit; }
.sidebar-profile-more svg,.sidebar-profile-icon svg { display:block; width:16px; height:16px; }
body.fusion-21st .sidebar-profile-dialog { position:fixed; inset:auto; margin:0; box-sizing:border-box; width:256px; max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:4px; border:1px solid var(--ui-line); border-radius:8px; background:var(--ui-bg); color:var(--ui-fg); box-shadow:0 10px 15px -3px #0002,0 4px 6px -4px #0002; font-family:var(--fusion-font); font-size:14px; line-height:20px; overflow:auto; }
body.fusion-21st .sidebar-profile-dialog::backdrop { background:transparent; backdrop-filter:none; }
.sidebar-profile-heading { display:flex; flex-direction:column; gap:2px; margin-bottom:4px; padding:8px 12px; border-bottom:1px solid var(--ui-line); overflow-wrap:anywhere; }
.sidebar-profile-heading strong { font-size:14px; font-weight:500; }
.sidebar-profile-heading small { color:var(--ui-secondary); font-size:12px; line-height:16px; }
body.fusion-21st .sidebar-profile-language-row,body.fusion-21st .sidebar-profile-theme-row { display:flex; align-items:center; gap:12px; min-height:40px; box-sizing:border-box; padding:8px 12px; margin:0; border:0; border-radius:6px; color:var(--ui-fg); font-size:14px; line-height:20px; font-weight:400; cursor:pointer; }
body.fusion-21st .sidebar-profile-language-row:hover,body.fusion-21st .sidebar-profile-theme-row:hover { background:var(--ui-muted); }
.sidebar-profile-language-row label { cursor:pointer; }
.sidebar-profile-language { margin-left:auto; }
body.fusion-21st .sidebar-profile-language .lw-globe { display:none; }
body.fusion-21st .sidebar-profile-language .lw-select { min-height:24px; height:24px; padding:0 20px 0 4px; border:0; border-radius:4px; background-color:transparent; color:var(--ui-secondary); font-size:12px; }
body.fusion-21st .sidebar-profile-theme-row input { appearance:none; -webkit-appearance:none; position:relative; flex:0 0 28px; width:28px; height:16px; margin:0 0 0 auto; padding:0; border:0; border-radius:999px; background:var(--ui-line); cursor:pointer; }
body.fusion-21st .sidebar-profile-theme-row input::after { content:""; position:absolute; top:2px; left:2px; width:12px; height:12px; border-radius:50%; background:var(--ui-bg); }
body.fusion-21st .sidebar-profile-theme-row input:checked { background:var(--fusion-accent); }
body.fusion-21st .sidebar-profile-theme-row input:checked::after { left:14px; transform:none; background:#fff; }
body.fusion-21st .sidebar-profile-version { margin:4px 0 0; padding:8px 12px; border-top:1px solid var(--ui-line); color:var(--ui-secondary); font-size:12px; line-height:16px; }
.sidebar-profile-separator { height:0; margin:4px 0; border:0; border-top:1px solid var(--ui-line); }
body.fusion-21st .sidebar-profile-dialog #logoutBtn { display:flex; align-items:center; gap:12px; width:100%; min-height:40px; margin:0; padding:8px 12px; border:0; border-radius:6px; background:transparent; color:#dc2626; text-align:left; font:inherit; cursor:pointer; }
body.fusion-21st.theme-dark .sidebar-profile-dialog #logoutBtn { color:#f87171; }
body.fusion-21st .sidebar-profile-dialog #logoutBtn:hover { background:color-mix(in srgb,#dc2626 8%,transparent); }
body.fusion-21st .sidebar-profile-trigger:focus-visible,body.fusion-21st .sidebar-profile-dialog :focus-visible { outline:2px solid var(--fusion-accent); outline-offset:2px; }
body.fusion-21st .session-name { color:var(--ui-fg)!important; }
body.fusion-21st .sidebar-section--sessions { margin-top:16px; padding:0; background:transparent!important; border:0; border-radius:0; box-shadow:none; }
body.fusion-21st .session-carousel-viewport { background:transparent!important; border:0!important; border-radius:0; box-shadow:none; }
body.fusion-21st .session-list { margin:0; padding:0; }
body.fusion-21st .session-list li { padding:7px 10px; font-size:13px; border-radius:6px; color:var(--ui-secondary); }
body.fusion-21st .session-list li:hover,body.fusion-21st .session-list li.active { color:var(--ui-fg); background:color-mix(in srgb,var(--ui-fg) 5%,transparent)!important; }
body.fusion-21st #newSession.btn { border-radius:6px; padding:7px 10px; min-height:34px; font-size:13px; font-weight:500; background:var(--fusion-accent); box-shadow:none; }
body.fusion-21st .sidebar-section--sessions h3 { padding:0 10px; font-size:11px!important; font-weight:600; margin:16px 0 4px; }
body.fusion-21st .app-topbar { border-bottom:1px solid var(--ui-line)!important; }
body.fusion-21st .app-main { min-width:0; background:var(--ui-muted); }
body.fusion-21st .app-topbar { min-height:56px!important; height:56px; padding:0 16px!important; gap:12px; border-bottom:1px solid var(--ui-line); background:var(--ui-bg)!important; box-shadow:none; }
body.fusion-21st .breadcrumbs { font-size:14px; color:var(--ui-secondary); min-width:0; }
body.fusion-21st .breadcrumbs strong { font-weight:500; color:var(--ui-fg); }
body.fusion-21st .sidebar-menu-toggle { display:inline-flex!important; align-items:center; justify-content:center; padding:6px; min-height:30px; width:30px; border:0; border-radius:6px; background:transparent; color:var(--ui-secondary); flex:none; }
body.fusion-21st .sidebar-menu-toggle svg { width:18px; height:18px; }
body.fusion-21st .topbar-search { max-width:320px; margin-left:auto; padding:0; border:0; background:transparent; border-radius:0; }
body.fusion-21st .topbar-search input { height:32px; font-size:13px; border:1px solid var(--ui-line); border-radius:6px; background:var(--ui-muted); }
body.fusion-21st .topbar-user-meta strong { font-size:13px; }
body.fusion-21st .topbar-user-meta small { font-size:11px; }
body.fusion-21st .topbar-avatar { width:30px; height:30px; font-size:11px; }
body.fusion-21st .app-content { padding:32px; }
body.fusion-21st .tw21-card { border:1px solid var(--ui-line); border-radius:12px; padding:24px; background:var(--ui-bg); box-shadow:0 1px 2px #0000000d; }
body.fusion-21st :is(.btn,.btn-outline,.btn-secondary) { border-radius:6px; font-size:14px; font-weight:500; line-height:20px; min-height:36px; padding:8px 16px; box-shadow:none; }
body.fusion-21st .btn-sm { min-height:32px; padding:7px 12px; font-size:13px; }
body.fusion-21st :is(.btn-outline,.btn-secondary) { border:1px solid var(--ui-line); background:var(--ui-bg); color:var(--ui-fg); }
body.fusion-21st :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) { border-radius:6px; border-color:var(--ui-line); color:var(--ui-fg); background-color:var(--ui-bg); font-size:14px; }
body.fusion-21st :is(input[type=checkbox],input[type=radio]) { width:16px; height:16px; accent-color:var(--fusion-accent); }
body.fusion-21st :is(.tw21-tabs,.admin-tabs,.ref-tabs) { display:flex; position:relative; align-items:center; gap:0; padding:0!important; background:transparent!important; border:0!important; border-bottom:1px solid var(--ui-line)!important; border-radius:0!important; box-shadow:none!important; overflow-x:auto; scrollbar-width:none; }
body.fusion-21st :is(.tw21-tabs,.admin-tabs,.ref-tabs)>:is(button,a) { position:relative; flex:none; padding:16px 20px!important; margin:0!important; min-height:0; border:0!important; border-radius:0!important; background:transparent!important; color:var(--ui-secondary)!important; font-size:14px; font-weight:500; line-height:20px; white-space:nowrap; transition:color .3s; box-shadow:none!important; }
body.fusion-21st :is(.tw21-tabs,.admin-tabs,.ref-tabs)>:is(button,a):before { content:""; position:absolute; inset:8px 0; z-index:0; border-radius:6px; background:transparent; transition:background .2s; }
body.fusion-21st :is(.tw21-tabs,.admin-tabs,.ref-tabs)>:is(button,a):hover:before { background:color-mix(in srgb,var(--fusion-accent) 10%,transparent); }
body.fusion-21st :is(.tw21-tabs,.admin-tabs,.ref-tabs)>:is(button,a)>span { position:relative; }
body.fusion-21st :is(.tw21-tabs,.admin-tabs,.ref-tabs)>:is(.active,[aria-selected=true]) { color:var(--fusion-accent)!important; }
.tw21-tab-indicator { pointer-events:none; position:absolute; bottom:0; left:0; height:2px; background:var(--fusion-accent); transition:transform .3s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1); }
body.fusion-21st :is(.admin-tabs,.ref-tabs,.tw21-tabs)>:is(button,a):after { display:none!important; }
body.fusion-21st .tw21-table-frame { background:var(--ui-bg); border:1px solid var(--ui-line); border-radius:8px; box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a; overflow:hidden; }
body.fusion-21st .tw21-table-scroll { max-height:400px; overflow:auto; margin:0; border:0; border-radius:0; }
body.fusion-21st .tw21-table-frame table { width:100%; border-collapse:collapse; border:0; font-size:14px; line-height:20px; color:var(--ui-fg); background:var(--ui-bg); margin:0; }
body.fusion-21st .tw21-table-frame :is(th,td) { padding:16px; border:0; border-bottom:1px solid var(--ui-line); text-align:left; vertical-align:middle; background:transparent; font-size:14px; }
body.fusion-21st .tw21-table-frame th { height:48px; padding:0 16px; color:var(--ui-secondary); font-weight:500; text-transform:none; letter-spacing:normal; white-space:nowrap; }
body.fusion-21st .tw21-table-frame thead { position:sticky; top:0; z-index:2; background:var(--ui-bg); box-shadow:0 1px 2px #0000000d; }
body.fusion-21st .tw21-table-frame tbody tr:hover { background:color-mix(in srgb,var(--ui-muted) 50%,transparent); }
body.fusion-21st .tw21-table-frame tfoot { position:sticky; bottom:0; z-index:2; background:var(--ui-bg); box-shadow:inset 0 2px 4px #0000000d; font-weight:500; }
body.fusion-21st .tw21-table-frame tfoot td { border:0; }
body.fusion-21st .tw21-empty { box-sizing:border-box; width:100%; max-width:620px; margin:24px auto; padding:56px; border:2px dashed var(--ui-line); border-radius:12px; text-align:center; background:var(--ui-bg); transition:background .5s,border-color .5s; }
body.fusion-21st .tw21-empty:hover { background:color-mix(in srgb,var(--ui-muted) 50%,var(--ui-bg)); transition-duration:.2s; }
.tw21-empty-icons { display:flex; justify-content:center; isolation:isolate; }
.tw21-empty-icons>span { display:grid; place-items:center; position:relative; width:48px; height:48px; border-radius:12px; background:var(--ui-bg); color:var(--ui-secondary); box-shadow:0 10px 15px -3px #0000001a,0 0 0 1px var(--ui-line); transition:transform .5s; }
.tw21-empty-icons>span:nth-child(2) { z-index:1; }
.tw21-empty-icons>span:first-child:not(:last-child) { left:10px; top:6px; transform:rotate(-6deg); }
.tw21-empty-icons>span:last-child:not(:first-child) { right:10px; top:6px; transform:rotate(6deg); }
.tw21-empty-icons svg { width:24px; height:24px; }
.tw21-empty:hover .tw21-empty-icons>span { transform:translateY(-2px); transition-duration:.2s; }
.tw21-empty:hover .tw21-empty-icons>span:first-child:not(:last-child) { transform:translate(-20px,-2px) rotate(-12deg); }
.tw21-empty:hover .tw21-empty-icons>span:last-child:not(:first-child) { transform:translate(20px,-2px) rotate(12deg); }
body.fusion-21st .tw21-empty h2 { margin:24px 0 0; font-size:16px; font-weight:500; color:var(--ui-fg); }
body.fusion-21st .tw21-empty p { margin:4px 0 0; font-size:14px; color:var(--ui-secondary); white-space:pre-line; }
body.fusion-21st .tw21-empty .btn { margin-top:16px; box-shadow:0 1px 2px #0000000d; }
body.fusion-21st .tw21-input-modal { width:min(576px,calc(100vw - 32px)); max-height:90vh; box-sizing:border-box; border:1px solid var(--ui-line); border-radius:24px; padding:32px; background:var(--ui-bg); color:var(--ui-fg); box-shadow:0 25px 50px -12px #00000040; overflow:auto; }
body.fusion-21st dialog::backdrop { background:#0008; backdrop-filter:blur(4px); }
.tw21-modal-head { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
.tw21-modal-mark { display:grid; place-items:center; width:48px; height:48px; flex:none; border-radius:16px; background:var(--fusion-navy); color:#fff; }
.tw21-modal-mark svg { width:24px; height:24px; }
.tw21-modal-head h2 { font-size:18px; font-weight:600; margin:0 0 8px; }
.tw21-modal-head p { font-size:14px; line-height:1.625; color:var(--ui-secondary); margin:0; }
.tw21-modal-close { margin:-8px -8px 0 auto; width:40px; height:40px; flex:none; background:none; border:0; border-radius:6px; color:var(--ui-secondary); font-size:24px; cursor:pointer; }
.tw21-input-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:4px; border-radius:12px; background:var(--ui-muted); margin-bottom:24px; }
.tw21-input-tabs button { border:0; background:none; border-radius:8px; padding:8px; color:var(--ui-secondary); font-size:14px; font-weight:500; display:flex; gap:8px; align-items:center; justify-content:center; }
.tw21-input-tabs button[aria-selected=true] { background:var(--ui-bg); color:var(--ui-fg); box-shadow:0 1px 3px #0000001a; }
.tw21-input-tabs svg { width:16px; height:16px; }
.tw21-input-product { display:grid; grid-template-columns:2fr 1fr; gap:16px; margin-bottom:24px; }
.tw21-input-product label { display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:500; }
body.fusion-21st .tw21-input-product input { width:100%; height:48px; border-radius:12px!important; padding:12px; box-sizing:border-box; }
body.fusion-21st .tw21-folder-pick { display:flex; align-items:center; gap:8px; margin-top:16px; }
.tw21-source-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.tw21-source-options button { display:flex; gap:8px; align-items:center; justify-content:center; }
body.fusion-21st .tw21-details-dialog { padding:24px; border:1px solid var(--ui-line); border-radius:8px; width:min(512px,calc(100vw - 32px)); max-height:85vh; overflow:auto; background:var(--ui-bg); color:var(--ui-fg); box-shadow:0 10px 15px -3px #0000001a; }
.tw21-details-heading { display:flex; gap:16px; margin-bottom:16px; }
.tw21-details-heading h2 { font-size:18px; font-weight:600; margin:0 0 6px; }
.tw21-details-heading p { font-size:14px; color:var(--ui-secondary); margin:0; overflow-wrap:anywhere; }
.tw21-details-dialog dl { display:flex; flex-direction:column; gap:8px; font-size:14px; }
.tw21-details-dialog dl>div { display:flex; gap:8px; }
.tw21-details-dialog dt { font-weight:600; min-width:100px; }
.tw21-details-dialog dd { margin:0; overflow-wrap:anywhere; }
.tw21-details-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:24px; }
body.fusion-21st .knowledge-table .col-name { min-width:220px; max-width:360px; }
body.fusion-21st .knowledge-table .doc-name { font-size:14px; font-weight:500; }
body.fusion-21st .knowledge-table .actions { width:auto; white-space:nowrap; }
body.fusion-21st .knowledge-toolbar { padding:0!important; border:0!important; background:none!important; box-shadow:none!important; margin-bottom:16px; }
body.fusion-21st .knowledge-toolbar-body { gap:16px; }
body.fusion-21st .toolbar-row { gap:12px; }
.tw21-assignments { margin-top:12px; font-size:13px; color:var(--ui-secondary); }
.tw21-assignments summary { cursor:pointer; width:max-content; max-width:100%; }
.tw21-assignment-fields { display:flex; flex-wrap:wrap; align-items:end; gap:12px; padding-top:12px; }
.tw21-upload { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; min-height:256px; box-sizing:border-box; padding:40px 24px; border:1px dashed color-mix(in srgb,var(--ui-fg) 20%,transparent); border-radius:18px; background:var(--ui-bg); text-align:center; cursor:pointer; overflow:hidden; transition:background .2s,border-color .2s; }
.tw21-upload:hover { background:var(--ui-muted); border-color:var(--ui-secondary); }
.tw21-upload.is-dragging { border-color:var(--fusion-accent); background:color-mix(in srgb,var(--fusion-accent) 7%,var(--ui-bg)); }
.tw21-upload-icons { position:relative; height:56px; width:144px; }
.tw21-upload-icons>span { position:absolute; left:50%; top:50%; width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--ui-line); border-radius:12px; background:var(--ui-bg); color:var(--ui-secondary); transition:transform .5s cubic-bezier(.22,1,.36,1); }
.tw21-upload-icons>span svg { width:20px; height:20px; }
.tw21-upload-icons>span:first-child { transform:translate(-78%,-50%) rotate(-8deg); }
.tw21-upload-icons>span:nth-child(2) { transform:translate(-50%,-50%); z-index:1; }
.tw21-upload-icons>span:last-child { transform:translate(-22%,-50%) rotate(8deg); }
.tw21-upload.is-dragging .tw21-upload-icons>span:first-child { transform:translate(-114%,-50%) rotate(-12deg) scale(1.08); }
.tw21-upload.is-dragging .tw21-upload-icons>span:nth-child(2) { transform:translate(-50%,-50%) scale(1.18); }
.tw21-upload.is-dragging .tw21-upload-icons>span:last-child { transform:translate(14%,-50%) rotate(12deg) scale(1.08); }
.tw21-upload strong { font-size:14px; font-weight:500; }
.tw21-upload p { margin:4px 0 0; font-size:12px; color:var(--ui-secondary); }
.tw21-upload-browse { display:flex; align-items:center; gap:8px; border:1px solid var(--ui-line); border-radius:999px; padding:4px 12px; font-size:12px; color:var(--ui-secondary); background:var(--ui-bg); }
.tw21-upload-browse svg { width:14px; height:14px; }
body.fusion-21st .ref-card { padding:24px!important; border-radius:12px!important; background:var(--ui-bg)!important; }
body.fusion-21st .ref-table-wrap { padding:0!important; border:0!important; background:none!important; box-shadow:none!important; overflow:visible; }
body.fusion-21st .stats-grid { gap:16px; margin:24px 0; }
body.fusion-21st .stats-grid>div { border:1px solid var(--ui-line); border-radius:12px; padding:24px; background:var(--ui-bg); box-shadow:0 1px 2px #0000000d; }
body.fusion-21st .stats-grid .stat-value,body.fusion-21st .stat-card>strong { font-size:24px; font-weight:600; color:var(--ui-fg); }
body.fusion-21st .stats-grid .stat-label { font-size:13px; font-weight:400; color:var(--ui-secondary); text-transform:none; letter-spacing:normal; }
body.fusion-21st .ref-card-head { margin-bottom:24px; border:0; padding:0; gap:24px; }
body.fusion-21st .ref-card-section { padding:24px 0 0; margin:0; border:0; }
body.fusion-21st .ref-list-row { padding:16px 0; border-bottom:1px solid var(--ui-line); font-size:14px; }
body.fusion-21st .ref-card-actions { flex-wrap:wrap; gap:8px; }
@media(min-width:901px) {
  body.fusion-21st.sidebar-collapsed>.app-sidebar { width:64px!important; flex-basis:64px!important; padding:12px 8px!important; }
  body.fusion-21st.sidebar-collapsed .app-sidebar .brand-text,
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-nav-label,
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-nav-item>span,
  body.fusion-21st.sidebar-collapsed .app-sidebar .tw21-nav-parent>span,
  body.fusion-21st.sidebar-collapsed .app-sidebar .tw21-chevron,
  body.fusion-21st.sidebar-collapsed .app-sidebar .tw21-nav-branch,
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-section,
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-platform-version,
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-profile-more,
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-profile-trigger .topbar-user-meta { display:none!important; }
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-brand { justify-content:center; padding:8px 0!important; }
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-nav-item,
  body.fusion-21st.sidebar-collapsed .app-sidebar .tw21-nav-parent { justify-content:center; min-height:40px!important; padding:10px!important; gap:0; }
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-footer { margin-top:auto!important; padding:8px 0 0; }
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-profile-trigger { justify-content:center; padding:8px 0; border-color:transparent; }
  body.fusion-21st.sidebar-collapsed .app-sidebar .sidebar-profile-trigger .topbar-user-card { flex:0 0 auto; }
  body.fusion-21st.sidebar-collapsed .sidebar-menu-toggle svg { transform:scaleX(-1); }
}
@media(max-width:900px) { body.fusion-21st>.app-sidebar { display:none!important; } body.fusion-21st .fusion-sidebar-dialog .app-sidebar { width:260px!important; height:100%; } body.fusion-21st .app-content { padding:24px; } body.fusion-21st .app-topbar { height:auto; flex-wrap:wrap; padding:8px 16px!important; } }
@media(max-width:900px) {
  body.fusion-21st .fusion-sidebar-dialog { width:260px; max-width:calc(100vw - 32px); height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-radius:0; background:var(--ui-bg); color:var(--ui-fg); }
  body.fusion-21st .fusion-sidebar-dialog .app-sidebar { flex:1 1 auto!important; height:auto; min-height:0; max-height:none; overflow-y:auto; }
  body.fusion-21st .sidebar-mobile-close { flex:none; min-height:36px; margin:12px 12px 0; border:1px solid var(--ui-line); border-radius:6px; background:var(--ui-bg); color:var(--ui-fg); font-size:13px; }
  body.fusion-21st .fusion-sidebar-dialog .sidebar-nav-item:not([hidden]) { padding:7px 10px!important; min-height:0; font-size:13px; }
  body.fusion-21st .fusion-sidebar-dialog .tw21-nav-children .sidebar-nav-item:not([hidden]) { padding-left:22px!important; }
  body.fusion-21st #sidebarMobileDialog #sidebarModulesGroup > .sidebar-nav-group:not([hidden]) { display:flex!important; flex-direction:column; width:100%; }
}
@media(max-width:640px) { body.fusion-21st .app-content { padding:16px; } body.fusion-21st .topbar-search { display:none; } body.fusion-21st .tw21-input-modal { padding:16px; } body.fusion-21st .tw21-empty { padding:32px 20px; } .tw21-modal-head { gap:12px; } .tw21-modal-mark { width:40px; height:40px; } }
@media(prefers-reduced-motion:reduce) { body.fusion-21st *,body.fusion-21st *:before { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
