.dt{display:flex;flex-direction:column;gap:12px}.dt__toolbar{justify-content:space-between;flex-wrap:wrap}.dt__toolbar,.dt__toolbar-left{display:flex;align-items:center;gap:12px}.dt__toolbar-left{flex:1 1 auto;min-width:0}.dt__title{margin:0;font-family:var(--edorer-font-display,var(--edorer-font-sans));font-weight:600;font-size:var(--edorer-fs-xl,22px);color:var(--edorer-ink,var(--edorer-text));letter-spacing:-.01em}.dt__search{flex:0 1 280px;min-width:160px;border:1px solid var(--edorer-border);border-radius:var(--edorer-radius-md);padding:8px 12px;font-family:inherit;font-size:14px;color:var(--edorer-ink);background:var(--edorer-surface);transition:border-color .15s,box-shadow .15s}.dt__search:focus{outline:none;border-color:var(--edorer-brand);box-shadow:var(--edorer-ring)}.dt__toolbar-right{display:flex;align-items:center;gap:10px}.dt__poppers{gap:4px}.dt__actions,.dt__poppers{display:flex;align-items:center}.dt__actions{gap:8px}.dt__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--edorer-radius-md);border:1px solid var(--edorer-border);background:var(--edorer-surface);color:var(--edorer-gray-600);font-size:16px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s}.dt__icon:hover{background:var(--edorer-surface-alt);color:var(--edorer-brand-700)}.dt__icon:active{transform:scale(.96)}.dt__icon.is-open{background:var(--edorer-brand-50);border-color:var(--edorer-brand-200);color:var(--edorer-brand-700)}.dt__icon-badge{top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.dt__icon-badge,.dt__icon-dot{position:absolute;border-radius:999px;background:var(--edorer-brand);box-shadow:0 0 0 2px var(--edorer-surface)}.dt__icon-dot{top:-3px;right:-3px;width:8px;height:8px}.dt__mobile-controls{display:none}.dt-popper{position:relative}.dt-popper__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:6000;min-width:240px;max-width:320px;max-height:70vh;overflow-y:auto;background:var(--edorer-surface);border:1px solid var(--edorer-border);border-radius:var(--edorer-radius-lg);box-shadow:var(--edorer-elev-3,var(--edorer-shadow-lg));padding:8px;transform-origin:top right}.dt-popper__head{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--edorer-text-muted);padding:4px 8px 8px}.dt-menu{display:flex;flex-direction:column;gap:2px}.dt-menu__row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:var(--edorer-radius-sm);font-family:inherit;font-size:13.5px;color:var(--edorer-ink);cursor:pointer;text-align:left;transition:background .12s}.dt-menu__row:hover{background:var(--edorer-surface-alt)}.dt-menu__row.is-active{color:var(--edorer-brand-700);font-weight:600}.dt-menu__label{min-width:0}.dt-menu__sortind{color:var(--edorer-brand);font-size:12px}.dt-menu__empty{padding:10px;font-size:13px;color:var(--edorer-text-muted)}.dt-menu__reset{margin-top:6px;padding:8px 10px;border:none;background:transparent;border-top:1px solid var(--edorer-border-soft);border-radius:0;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--edorer-brand-700);cursor:pointer;text-align:left}.dt-menu__reset:hover{color:var(--edorer-brand-900);text-decoration:underline}.dt-menu--filters{gap:10px;padding:4px}.dt-filter{display:flex;flex-direction:column;gap:4px}.dt-filter__label{font-size:12px;font-weight:600;color:var(--edorer-ink)}.dt-filter__input,.dt-filter__select{width:100%;box-sizing:border-box;border:1px solid var(--edorer-border);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13.5px;color:var(--edorer-ink);background:var(--edorer-surface);appearance:menulist}.dt-filter__input:focus,.dt-filter__select:focus{outline:none;border-color:var(--edorer-brand);box-shadow:var(--edorer-ring)}.dt-menu--columns{gap:2px}.dt-col{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:var(--edorer-radius-sm)}.dt-col:hover{background:var(--edorer-surface-alt)}.dt-col__check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--edorer-ink);cursor:pointer;min-width:0}.dt-col__check input{width:16px;height:16px;accent-color:var(--edorer-brand);cursor:pointer}.dt-acsel{position:relative;width:100%}.dt-acsel__field{display:flex;align-items:center;gap:6px;height:38px;padding:0 4px 0 10px;border:1px solid var(--edorer-border);border-radius:8px;background:var(--edorer-surface);transition:border-color .15s,box-shadow .15s}.dt-acsel[data-open] .dt-acsel__field,.dt-acsel__field:focus-within{border-color:var(--edorer-brand);box-shadow:var(--edorer-ring)}.dt-acsel__search{color:var(--edorer-text-muted);font-size:12px;flex:0 0 auto}.dt-acsel__input{flex:1 1 auto;min-width:0;border:none;background:transparent;font-family:inherit;font-size:13.5px;color:var(--edorer-ink);outline:none;padding:0}.dt-acsel__input::placeholder{color:var(--edorer-text-muted)}.dt-acsel__chevron,.dt-acsel__x{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 auto;border:none;background:transparent;border-radius:6px;color:var(--edorer-text-muted);font-size:11px;cursor:pointer;transition:background .15s,color .15s,transform .18s}.dt-acsel__chevron:hover,.dt-acsel__x:hover{background:var(--edorer-surface-alt);color:var(--edorer-ink)}.dt-acsel[data-open] .dt-acsel__chevron{transform:rotate(180deg)}.dt-acsel[data-open]{z-index:2000}.dt-acsel__menu{z-index:5000;max-height:260px;overflow-y:auto;background:var(--edorer-surface,#fff);border:1px solid var(--edorer-border);border-radius:10px;box-shadow:var(--edorer-elev-3,var(--edorer-shadow-lg));padding:6px;isolation:isolate}@media (prefers-reduced-motion:no-preference){.dt-acsel__menu{animation:dt-pop-in .13s var(--edorer-ease-out,cubic-bezier(.22,1,.36,1)) both}}.dt-acsel__empty{padding:10px;font-size:13px;color:var(--edorer-text-muted);text-align:center}.dt-acsel__opt{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:8px;font-family:inherit;font-size:13.5px;color:var(--edorer-ink);cursor:pointer}.dt-acsel__opt.is-active,.dt-acsel__opt:hover{background:var(--edorer-surface-alt)}.dt-acsel__opt.is-picked{font-weight:600;color:var(--edorer-brand-700)}.dt__chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dt__chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 4px 4px 10px;border-radius:999px;background:var(--edorer-brand-50);border:1px solid var(--edorer-brand-200);font-size:12.5px;color:var(--edorer-brand-800)}.dt__chip-label{font-weight:600;flex:0 0 auto}.dt__chip-value{font-weight:500;min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt__chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto;border:none;background:transparent;border-radius:999px;color:var(--edorer-brand-700);font-size:9px;cursor:pointer;transition:background .12s,color .12s}.dt__chip-x:hover{background:var(--edorer-brand-100);color:var(--edorer-brand-900)}.dt__chips-clear{border:none;background:transparent;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--edorer-text-muted);cursor:pointer;padding:4px 6px;border-radius:6px}.dt__chips-clear:hover{color:var(--edorer-ink);text-decoration:underline}.dt__pagination-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.dt__pagination-top .pagination{margin:0}.dt__view-saved{font-size:12px;color:var(--edorer-text-muted);white-space:nowrap}.dt__bulkbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px;border-radius:var(--edorer-radius-lg);background:var(--edorer-brand-50);border:1px solid var(--edorer-brand-200);box-shadow:var(--edorer-elev-1)}.dt__bulkbar-count{font-weight:700;font-size:13.5px;color:var(--edorer-brand-800)}.dt__bulkbar-link{border:none;background:transparent;color:var(--edorer-brand-700);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline}.dt__bulkbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;min-width:0;flex:1 1 auto;justify-content:flex-end}.dt__bulkbar-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--edorer-border);background:var(--edorer-surface);border-radius:var(--edorer-radius-md);font-family:inherit;font-size:13px;font-weight:600;color:var(--edorer-gray-800);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.dt__bulkbar-btn:hover{background:var(--edorer-surface-alt);transform:translateY(-1px)}.dt__bulkbar-btn.is-danger{color:var(--edorer-danger-600);border-color:var(--edorer-danger-100,#fee2e2);background:var(--edorer-danger-50)}.dt__bulkbar-btn.is-danger:hover{background:var(--edorer-danger-100,#fee2e2)}.dt__bulkbar-clear,.dt__bulkbar-icon{display:inline-flex;font-size:13px}.dt__bulkbar-clear{align-items:center;gap:5px;padding:7px 12px;border:none;background:transparent;border-radius:var(--edorer-radius-md);font-family:inherit;color:var(--edorer-text-muted);cursor:pointer}.dt__bulkbar-clear:hover{color:var(--edorer-ink);background:rgba(var(--edorer-brand-rgb),.06)}.dt__table-wrap{background:var(--edorer-surface);border:1px solid var(--edorer-border-soft);border-radius:var(--edorer-radius-lg);overflow-x:auto;overflow-y:visible;box-shadow:var(--edorer-elev-1)}.dt__table{width:100%;border-collapse:collapse;font-size:13.5px}.dt__table td,.dt__table th{border-right:none;border-left:none;border-inline:none}.dt__table thead th{position:sticky;top:0;z-index:1;text-align:left;background:var(--edorer-surface-alt);border-bottom:1px solid var(--edorer-border-soft);border-right:none;border-left:none;white-space:nowrap}.dt__th{padding:0}.dt__th.is-right .dt__th-btn{justify-content:flex-end}.dt__th.is-center .dt__th-btn{justify-content:center}.dt__th-btn{display:inline-flex;align-items:center;gap:6px;width:100%;padding:11px 14px;border:none;background:transparent;font-family:inherit;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--edorer-text-muted);cursor:pointer;transition:color .12s}.dt__th-btn:hover:not(.is-static){color:var(--edorer-brand-700)}.dt__th-btn.is-static{cursor:default}.dt__th-sort{display:inline-flex;font-size:11px;color:var(--edorer-brand);transition:opacity .15s,transform .15s}.dt__th-sort-hint{opacity:0;color:var(--edorer-text-subtle)}.dt__th-btn:hover .dt__th-sort-hint{opacity:.5}.dt__td-check,.dt__th-check{width:40px;text-align:center;padding:0 0 0 14px}.dt__td-check input,.dt__th-check input{width:16px;height:16px;accent-color:var(--edorer-brand);cursor:pointer}.dt__table td{padding:8px 14px;border-bottom:1px solid var(--edorer-border-soft);color:var(--edorer-ink,var(--edorer-text));vertical-align:middle}@media (min-width:721px){.dt__table td{max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt__table td.dt__td--wrap,.dt__table td:has(.dt-cell--stack){white-space:normal}.dt__table td.card-table__primary,.dt__table td:has(.dt-cell--stack){min-width:220px;max-width:420px}}.dt-cell--stack,.dt-cell__title{white-space:normal}.dt-cell__title{display:block;overflow-wrap:anywhere;word-break:break-word;overflow:visible;line-height:1.3;min-height:1.3em}.dt-cell__sub{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt__table td.is-right{text-align:right;font-variant-numeric:tabular-nums}.dt__table td.is-center{text-align:center}.dt__table tbody tr:last-child td{border-bottom:none}.dt__row{transition:background .12s}.dt__row:hover td{background:var(--edorer-surface-alt)}.dt__row.is-selected td{background:var(--edorer-brand-50)}.dt__row.is-selected:hover td{background:var(--edorer-brand-100)}.dt__row--lastvisited td{background:var(--edorer-brand-50,#eef2ff);box-shadow:inset 3px 0 0 0 var(--edorer-brand,#6366f1);transition:background 4s ease}.dt__row--lastvisited:hover td{background:var(--edorer-brand-100,#e0e7ff)}.dt__empty,.dt__error,.dt__loading{text-align:center!important;padding:44px 16px!important;color:var(--edorer-text-muted);font-size:13.5px}.dt__error{color:var(--edorer-danger-600,#dc2626)}.dt--loading .dt__table-wrap{position:relative}.dt__tbody--loading{opacity:.55;transition:opacity .15s ease}.dt--loading .dt__table-wrap:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:2;background:linear-gradient(90deg,transparent 0,var(--edorer-brand,#6366f1) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.dt--loading .dt__table-wrap:after{animation:dt-loading-bar 1.1s ease-in-out infinite}@keyframes dt-loading-bar{0%{background-position:-40% 0}to{background-position:140% 0}}}@media (prefers-reduced-motion:reduce){.dt--loading .dt__table-wrap:after{background-position:50% 0}}.dt-sheet{gap:22px}.dt-sheet,.dt-sheet__sec{display:flex;flex-direction:column}.dt-sheet__sec{gap:8px}.dt-sheet__h{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--edorer-text-muted)}.dt-menu--sheet .dt-menu__row{padding:11px 12px;font-size:15px}.dt-menu--sheet .dt-col{padding:9px 10px}.dt-menu--sheet .dt-filter__input,.dt-menu--sheet .dt-filter__select{padding:10px 12px;font-size:16px}@media (prefers-reduced-motion:no-preference){.dt-popper__panel{animation:dt-pop-in .16s var(--edorer-ease-out,cubic-bezier(.22,1,.36,1)) both}@keyframes dt-pop-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.dt__bulkbar{animation:dt-bulk-in .24s var(--edorer-ease-out,cubic-bezier(.22,1,.36,1)) both}@keyframes dt-bulk-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dt__row--enter{animation:dt-row-in .28s var(--edorer-ease-out,cubic-bezier(.22,1,.36,1)) backwards;animation-delay:calc(min(var(--dt-i, 0) * 14ms, .16s))}@keyframes dt-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:720px){.dt__poppers{display:none}.dt__toolbar{gap:10px}.dt__search{min-width:0;min-height:44px}.dt__search,.dt__toolbar-left{flex:1 1 100%}.dt__toolbar-right{flex:1 1 100%;justify-content:space-between;gap:8px}.dt__mobile-controls{display:flex;flex:1 1 100%;gap:8px}.dt__mctl{position:relative;flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:0 6px;border:1px solid var(--edorer-border);background:var(--edorer-surface);border-radius:var(--edorer-radius-md);font-family:inherit;font-size:12.5px;font-weight:600;color:var(--edorer-gray-700);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.dt__mctl .anticon{font-size:13px}.dt__mctl>span:not(.dt__badge):not(.dt__mctl-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt__mctl--icon{flex:0 0 44px;padding:0;gap:0}.dt__mctl:active{transform:scale(.97)}.dt__mctl-dot{width:7px;height:7px;flex:0 0 auto}.dt__badge,.dt__mctl-dot{border-radius:999px;background:var(--edorer-brand)}.dt__badge{min-width:16px;height:16px;padding:0 4px;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.dt__actions{flex:1 1 auto}.dt__actions>*{flex:1 1 auto;min-height:40px}.dt__pagination-top{display:block;padding:0 16px}.dt__pagination-top .pagination{margin:8px 0 6px}.dt__view-saved{display:none}.dt__toolbar-left,.dt__toolbar-right{padding-left:0!important;padding-right:0!important}.dt__table-wrap{background:transparent;border:none;box-shadow:none;overflow:visible}.dt__td-check,.dt__th-check{display:none!important}.dt__row.is-selected{outline:2px solid var(--edorer-brand);outline-offset:-1px;border-radius:14px}}.top-bar{display:flex;align-items:stretch;background:hsla(0,0%,100%,.82);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--edorer-border-soft);min-height:60px;position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top,0)}.top-bar__hamburger{display:none;align-items:center;justify-content:center;width:40px;height:40px;margin-left:8px;margin-right:-4px;border:0;background:transparent;border-radius:10px;color:var(--edorer-text);font-size:20px;cursor:pointer}.top-bar__hamburger:hover{background:var(--edorer-surface-alt,rgba(0,0,0,.04))}.top-bar__hamburger:focus-visible{outline:2px solid var(--edorer-brand);outline-offset:1px}@media (max-width:1023px){.top-bar__hamburger{display:inline-flex}.top-bar__brand{width:auto;padding:0 12px}.top-bar__brand-text{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:767px){.top-bar__brand-text{max-width:140px}}.top-bar__brand{width:248px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:flex-start;gap:11px;padding:0 20px;text-decoration:none;color:var(--edorer-text)}.top-bar__brand-logo{height:32px;width:auto;min-width:32px;max-width:140px;border-radius:9px;object-fit:contain;background:var(--edorer-surface);box-shadow:var(--edorer-elev-1);padding:2px}.top-bar__right{flex:1;display:flex;align-items:center;gap:14px;padding:0 24px}.top-bar__brand-mark{width:32px;height:32px;border-radius:9px;background:var(--edorer-grad-brand);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;box-shadow:var(--edorer-elev-brand)}.top-bar__brand-text{font-family:var(--edorer-font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--edorer-ink)}.top-bar__tenant{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;background:var(--edorer-surface);border:1px solid var(--edorer-border);border-radius:999px;font-size:13px;color:var(--edorer-text);box-shadow:var(--edorer-elev-1)}.top-bar__tenant-logo,.top-bar__tenant-mark{width:22px;height:22px;border-radius:7px;background:var(--edorer-grad-brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;object-fit:cover;font-weight:700;font-size:11px}.top-bar__tenant-name{font-weight:600;letter-spacing:-.005em}.top-bar__spacer{flex:1}.top-bar__user{position:relative}.top-bar__user-btn{appearance:none;background:transparent;border:1px solid transparent;border-radius:999px;padding:4px 14px 4px 4px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:background .18s var(--edorer-ease-out),border-color .18s var(--edorer-ease-out),box-shadow .18s var(--edorer-ease-out);font-family:inherit;color:var(--edorer-text)}.top-bar__user-btn:hover,.top-bar__user-btn[aria-expanded=true]{background:var(--edorer-surface);border-color:var(--edorer-border);box-shadow:var(--edorer-elev-1)}.top-bar__avatar{width:32px;height:32px;border-radius:50%;background:var(--edorer-grad-brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:var(--edorer-elev-1)}.top-bar__user-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}.top-bar__user-name{font-size:13px;font-weight:600;color:var(--edorer-text);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.top-bar__user-role{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--edorer-text-muted)}.top-bar__user-role[data-role=admin],.top-bar__user-role[data-role=platform-admin]{color:var(--edorer-warn-600)}.top-bar__user-role[data-role=teacher]{color:var(--edorer-success-600)}.top-bar__user-role[data-role=applicant]{color:var(--edorer-brand-700)}.top-bar__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:244px;background:#fff;color:var(--edorer-text);border:1px solid var(--edorer-border);border-radius:var(--edorer-radius-lg);box-shadow:var(--edorer-elev-3);padding:6px;z-index:60;display:flex;flex-direction:column;gap:2px;animation:top-bar-pop .2s var(--edorer-ease-out)}@keyframes top-bar-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.top-bar__menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:transparent;border:none;border-radius:8px;color:var(--edorer-text);font-size:13.5px;font-weight:500;cursor:pointer;text-align:left;font-family:inherit;width:100%;transition:background .15s var(--edorer-ease-out)}.top-bar__menu-item .anticon{font-size:14px;color:var(--edorer-text-muted)}.top-bar__menu-item:hover{background:var(--edorer-surface-sunken)}.top-bar__menu-item--danger,.top-bar__menu-item--danger .anticon{color:var(--edorer-danger-600)}.top-bar__menu-item--danger:hover{background:var(--edorer-danger-50)}.top-bar__menu-sep{border:none;border-top:1px solid var(--edorer-border);margin:4px 0}@media (max-width:720px){.top-bar{padding:10px 14px}.top-bar__user-meta{display:none}}.notif{position:relative;display:inline-flex}.notif__spin{display:inline-block;width:14px;height:14px;border:2px solid #d9d9e3;border-top-color:#6c5ce7;border-radius:50%;vertical-align:-2px;margin-right:6px;animation:notif-spin .6s linear infinite}@keyframes notif-spin{to{transform:rotate(1turn)}}.notif__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:transparent;border:none;cursor:pointer;font-size:17px;transition:background .12s,color .12s}.notif__btn,.notif__btn:hover{color:var(--edorer-text,#0f172a)}.notif__btn:hover{background:var(--edorer-surface-alt,rgba(0,0,0,.06))}.notif__btn:focus-visible{outline:2px solid #6c5ce7;outline-offset:2px}.notif__badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;background:#cf1322;color:#fff;border-radius:999px;font-size:10px;font-weight:700;line-height:18px;text-align:center;border:2px solid #14172e;box-sizing:content-box;pointer-events:none}.notif__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:100;width:380px;max-width:calc(100vw - 32px);background:#fff;color:#14172e;border:1px solid #ececec;border-radius:12px;box-shadow:0 16px 40px rgba(20,23,46,.16);overflow:hidden;animation:notif-pop .15s cubic-bezier(.2,.9,.3,1.2)}@keyframes notif-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.notif__panel-h{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f0f0f0}.notif__panel-h strong{font-size:14px}.notif__action{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;color:#6c5ce7;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;font-family:inherit}.notif__action:hover{background:#efeefc}.notif__list{max-height:480px;overflow:auto}.notif__list ul{list-style:none;padding:0;margin:0}.notif__empty{padding:40px 16px;text-align:center;color:#8a8d9c;font-size:13px}.notif__empty p{margin:0}.notif__row{display:flex;align-items:stretch;border-bottom:1px solid #f5f5f5;transition:background .12s}.notif__row:hover{background:#fafaff}.notif__row.is-unread{background:#f6f6ff}.notif__row.is-unread:hover{background:#efeefc}.notif__row-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit}.notif__row-icon{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:#efeefc;color:#531dab;border-radius:50%;font-size:14px}.notif__row.is-unread .notif__row-icon{background:#6c5ce7;color:#fff}.notif__row-text{flex:1;min-width:0;color:#14172e}.notif__row-text strong{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.notif__row-text p{margin:0 0 4px;font-size:12px;color:#6b6e7d;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.notif__row-text time{font-size:11px;color:#8a8d9c}.notif__row-attach{display:inline-flex;align-items:center;gap:5px;margin:0 0 4px;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:600;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif__row-attach:hover{background:#e0e7ff}.notif__dot{flex-shrink:0;width:8px;height:8px;margin-top:6px;background:#6c5ce7;border-radius:50%}.notif__row-rm{background:transparent;border:none;cursor:pointer;width:32px;flex-shrink:0;color:#8a8d9c;font-size:12px;align-self:stretch;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,color .12s}.notif__row:hover .notif__row-rm{opacity:1}.notif__row-rm:hover{color:#cf1322}.top-bar__credits{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;color:#0f172a;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px rgba(15,23,42,.06)}.top-bar__credits:hover{background:#f8fafc;border-color:#cbd5e1}.top-bar__credits .anticon{font-size:14px;color:#6c5ce7}.top-bar__credits.is-low{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.top-bar__credits.is-low .anticon{color:#b91c1c}.top-bar__credits.is-low:hover{background:#fee2e2;border-color:#fca5a5}@media (max-width:767px){.top-bar{min-height:56px;justify-content:flex-start;align-items:center}.top-bar__hamburger{padding:0 6px;min-width:40px;flex:0 0 auto;display:inline-flex}.top-bar__brand,.top-bar__hamburger{height:40px;align-items:center;justify-content:center}.top-bar__brand{position:absolute;left:50%;transform:translateX(-50%);width:auto!important;flex:0 0 auto!important;min-width:0;padding:0 4px!important;gap:6px;display:flex}.top-bar__brand-logo{max-width:120px!important;height:40px!important}.top-bar__right{gap:4px!important;padding:0 6px!important;flex:0 0 auto!important;margin-left:auto!important}.top-bar__brand-text,.top-bar__right .gs,.top-bar__right .lang-switch,.top-bar__right .top-bar__spacer,.top-bar__user-meta{display:none!important}.top-bar__user-btn{padding:4px;gap:0}.top-bar__avatar{width:32px;height:32px;font-size:13px}.notif__btn{width:44px;height:44px}}.shell-menu{width:248px;min-width:248px;background:var(--edorer-surface);border-right:1px solid var(--edorer-border-soft);display:flex;flex-direction:column;padding:0 0 0 12px;position:sticky;top:60px;height:calc(100vh - 60px);align-self:flex-start;box-sizing:border-box}.shell-menu__scrim{display:none;position:fixed;inset:0;background:rgba(15,17,33,.45);-webkit-backdrop-filter:saturate(140%) blur(2px);backdrop-filter:saturate(140%) blur(2px);border:0;padding:0;cursor:pointer;z-index:1099;animation:shell-menu-scrim-fade .18s ease}@keyframes shell-menu-scrim-fade{0%{opacity:0}to{opacity:1}}@media (max-width:1023px){.shell-menu{position:fixed;top:0;left:0;height:100vh;bottom:0;width:min(320px,88vw);min-width:0;z-index:1100;transform:translateX(-100%);transition:transform .28s cubic-bezier(.32,.72,0,1);box-shadow:16px 0 48px -12px rgba(15,17,33,.3);padding-left:12px;padding-top:env(safe-area-inset-top,0)}.shell-menu.is-mobile-open{transform:translateX(0)}.shell-menu__scrim{display:block}.shell-menu.is-mobile-open~.mtab,body:has(.shell-menu.is-mobile-open) .mtab{display:none!important}}.shell-menu__items{display:flex;flex-direction:column;padding:10px 12px 16px;flex:1;min-height:0;overflow-y:auto;gap:1px;scrollbar-width:thin;scrollbar-color:var(--edorer-border) transparent}.shell-menu__items::-webkit-scrollbar{width:6px}.shell-menu__items::-webkit-scrollbar-thumb{background:var(--edorer-border);border-radius:3px}.shell-menu__items::-webkit-scrollbar-track{background:transparent}.shell-menu__section{display:flex;flex-direction:column}.shell-menu__group-toggle{display:flex;align-items:center;gap:8px;width:100%;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--edorer-gray-400);padding:10px 12px;margin-top:6px;line-height:1;background:transparent;border:none;cursor:pointer;text-align:left;border-radius:6px;transition:color .15s var(--edorer-ease-out),background .15s var(--edorer-ease-out)}.shell-menu__section:first-child .shell-menu__group-toggle{margin-top:0}.shell-menu__group-toggle:hover{color:var(--edorer-brand-700);background:var(--edorer-brand-50)}.shell-menu__group-toggle:focus-visible{outline:2px solid var(--edorer-brand);outline-offset:-2px}.shell-menu__group-chevron{font-size:9px;color:var(--edorer-gray-400);display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;transform:rotate(90deg);transition:transform .18s var(--edorer-ease-out),color .15s;flex-shrink:0}.shell-menu__group-toggle.is-collapsed .shell-menu__group-chevron{transform:rotate(0deg)}.shell-menu__group-toggle:hover .shell-menu__group-chevron{color:var(--edorer-brand-600)}.shell-menu__group-body{display:flex;flex-direction:column;gap:1px;overflow:hidden;max-height:1000px;transition:max-height .22s var(--edorer-ease-out),opacity .18s,margin .18s}.shell-menu__group-body.is-collapsed{max-height:0;opacity:0;margin-top:0;pointer-events:none}.shell-menu__item{display:flex;align-items:center;gap:12px;padding:9px 12px;margin-bottom:1px;border-radius:8px;color:var(--edorer-gray-700);text-decoration:none;font-size:13.5px;font-weight:500;position:relative;transition:background .18s var(--edorer-ease-out),color .18s var(--edorer-ease-out)}.shell-menu__item:before{content:"";position:absolute;left:-12px;top:50%;width:3px;height:18px;background:var(--edorer-brand);border-radius:0 3px 3px 0;transform:translateY(-50%) scaleY(0);transform-origin:center;transition:transform .2s var(--edorer-ease-out)}.shell-menu__item:hover{background:var(--edorer-brand-50);color:var(--edorer-brand-700)}.shell-menu__item:hover .shell-menu__icon{color:var(--edorer-brand-600)}.shell-menu__item.is-active{background:var(--edorer-brand-50);color:var(--edorer-brand-700);font-weight:600}.shell-menu__item.is-active:before{transform:translateY(-50%) scaleY(1)}.shell-menu__item.is-active .shell-menu__icon{color:var(--edorer-brand)}.shell-menu__icon{font-size:17px;color:var(--edorer-gray-500);min-width:20px;line-height:1;transition:color .15s var(--edorer-ease-out)}.shell-menu__icon svg{stroke-width:.5}.shell-menu__label{flex:1}.shell-menu__badge{font-size:10.5px;padding:1px 8px;border-radius:999px;background:var(--edorer-brand-100);color:var(--edorer-brand-700);font-weight:700}.shell-menu__item.is-active .shell-menu__badge{background:var(--edorer-brand);color:#fff}.shell-menu__item--external .shell-menu__ext-mark{font-size:11px;color:var(--edorer-text-subtle);margin-left:4px;transition:color .15s}.shell-menu__item--external:hover .shell-menu__ext-mark{color:var(--edorer-brand)}@media (max-width:720px){.shell-menu{width:100%;min-width:100%}}.shell-menu__search{position:relative;display:flex;align-items:center;margin:12px 12px 6px;padding:0 10px;height:36px;border:1px solid var(--edorer-border);border-radius:10px;background:var(--edorer-surface-sunken,#f8fafc);transition:border-color .15s,background-color .15s}.shell-menu__search:focus-within{background:var(--edorer-surface,#fff);border-color:var(--edorer-brand)}.shell-menu__search-icon{color:var(--edorer-text-muted);font-size:13px;margin-right:8px;flex-shrink:0}.shell-menu__search-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:13px;color:var(--edorer-text);outline:none;padding:0;min-width:0}.shell-menu__search-input::placeholder{color:var(--edorer-text-muted)}.shell-menu__search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.shell-menu__search-clear{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:4px;border:none;background:transparent;color:var(--edorer-text-muted);cursor:pointer;border-radius:50%;flex-shrink:0}.shell-menu__search-clear:hover{color:var(--edorer-text)}.shell-menu__empty{padding:24px 14px;font-size:12.5px;color:var(--edorer-text-muted);text-align:center}.shell-menu__kbd{font-size:10px;font-weight:600;padding:1px 6px;margin-left:4px;border-radius:4px;background:rgba(15,17,33,.05);color:var(--edorer-text-muted,#8a8d9c);letter-spacing:.02em}.shell-menu__all-sections{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:6px 8px 10px;padding:10px 12px;border:1px dashed rgba(108,92,231,.32);border-radius:10px;background:rgba(108,92,231,.06);color:#4c3fbd;font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;transition:background-color .12s,border-color .12s}.shell-menu__all-sections:hover{background:rgba(108,92,231,.12);border-color:var(--edorer-brand,#6c5ce7);border-style:solid}.shell-menu__all-sections .anticon{font-size:14px}.shell-menu__pinned-header{display:flex;align-items:center;gap:6px;margin:4px 16px;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--edorer-text-muted,#8a8d9c)}.shell-menu__pinned-header .anticon{font-size:11px;color:var(--edorer-brand,#6c5ce7)}.shell-menu__row{position:relative;display:flex;align-items:center}.shell-menu__row .shell-menu__item{flex:1}.shell-menu__pin{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--edorer-text-muted,#8a8d9c);cursor:pointer;opacity:0;transition:opacity .12s,background-color .12s,color .12s}.shell-menu__pin.is-on,.shell-menu__row:hover .shell-menu__pin{opacity:1}.shell-menu__pin.is-on{color:var(--edorer-brand,#6c5ce7)}.shell-menu__pin:hover{background:rgba(15,17,33,.06);color:var(--edorer-ink,#14172e)}.shell-menu__close{display:none}@media (max-width:1023px){.shell-menu__close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:calc(env(safe-area-inset-top, 0px) + 10px);right:12px;width:36px;height:36px;border-radius:10px;background:var(--edorer-surface-alt,#f3f4f6);border:1px solid var(--edorer-border,#e5e7eb);color:var(--edorer-text,#111827);font-size:14px;cursor:pointer;z-index:2;transition:background .12s,transform 60ms}.shell-menu__close:hover{background:var(--edorer-surface-sunken,#e5e7eb)}.shell-menu__close:active{transform:scale(.94)}.shell-menu.is-mobile-open .shell-menu__search{margin-top:calc(env(safe-area-inset-top, 0px) + 56px)}}@media (max-width:767px){.shell-menu__item{min-height:44px;font-size:14px}.shell-menu__group-toggle{min-height:44px}.shell-menu__all-sections{min-height:44px;font-size:14px}}.shell{min-height:100vh;background:var(--edorer-bg,#f6f7f9)}.shell .top-bar{position:fixed;top:0;left:0;right:0;z-index:50}.shell__main{display:flex;align-items:flex-start;padding-top:60px}.shell__outlet{flex:1;min-width:0;padding:0 12px}.shell__outlet .admin-shell{min-height:auto}@media (max-width:768px){.shell-menu{position:fixed;left:0;top:60px;transform:translateX(-100%);transition:transform .2s;z-index:40}.shell-menu.is-mobile-open{transform:translateX(0)}}