html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}@media (hover: none) and (pointer: coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toaster] [data-close-button-position=top-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(-35%, -35%)}[data-sonner-toaster] [data-close-button-position=top-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster] [data-close-button-position=bottom-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(-35%, 35%)}[data-sonner-toaster] [data-close-button-position=bottom-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(35%, 35%)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-left);right:var(--toast-close-button-right);top:var(--toast-close-button-top);bottom:var(--toast-close-button-bottom);height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--toasts-before) * .05 + 1));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:calc(var(--mobile-offset-bottom) + max(env(safe-area-inset-bottom),0px))}[data-sonner-toaster][data-y-position=top]{top:calc(var(--mobile-offset-top) + max(env(safe-area-inset-top),0px))}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 43%, 17%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 9%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}.app-navbar[data-v-1c8d5b4c]{position:fixed;top:0;left:var(--width-sidebar);right:0;height:var(--height-navbar);background:var(--color-navbar-bg);box-shadow:var(--shadow-md);display:flex;align-items:center;padding:0 24px;z-index:100;gap:16px}.app-navbar__left[data-v-1c8d5b4c]{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-navbar__logo-icon[data-v-1c8d5b4c]{width:28px;height:28px;color:var(--color-primary-light)}.app-navbar__logo-text[data-v-1c8d5b4c]{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);white-space:nowrap;letter-spacing:.5px}.app-navbar__center[data-v-1c8d5b4c]{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}.app-navbar__breadcrumb[data-v-1c8d5b4c]{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);white-space:nowrap;overflow:hidden}.app-navbar__breadcrumb-link[data-v-1c8d5b4c]{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast);padding:4px 2px;border-radius:var(--border-radius-sm);cursor:pointer}.app-navbar__breadcrumb-link[data-v-1c8d5b4c]:hover{color:var(--color-primary-light)}.app-navbar__breadcrumb-sep[data-v-1c8d5b4c]{width:14px;height:14px;color:var(--color-text-disabled);flex-shrink:0}.app-navbar__breadcrumb-current[data-v-1c8d5b4c]{color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis}.app-navbar__right[data-v-1c8d5b4c]{position:relative;flex-shrink:0;display:flex;align-items:center}.app-navbar__user[data-v-1c8d5b4c]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:var(--border-radius-sm);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.app-navbar__user[data-v-1c8d5b4c]:hover{background:var(--overlay-hover)}.app-navbar__avatar[data-v-1c8d5b4c]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border);flex-shrink:0}.app-navbar__username[data-v-1c8d5b4c]{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-navbar__arrow[data-v-1c8d5b4c]{width:16px;height:16px;color:var(--color-text-secondary);transition:transform var(--transition-fast);flex-shrink:0}.app-navbar__user--active .app-navbar__arrow[data-v-1c8d5b4c]{transform:rotate(180deg)}.app-navbar__dropdown[data-v-1c8d5b4c]{min-width:180px;background:var(--color-surface-high);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:6px 0;opacity:0;transform:translateY(-8px);transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:200;pointer-events:none}.app-navbar__dropdown--open[data-v-1c8d5b4c]{opacity:1;transform:translateY(0);pointer-events:auto}.app-navbar__dropdown-item[data-v-1c8d5b4c]{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast)}.app-navbar__dropdown-item[data-v-1c8d5b4c]:hover{background:var(--overlay-hover)}.app-navbar__dropdown-item svg[data-v-1c8d5b4c]{width:16px;height:16px;color:var(--color-text-secondary);flex-shrink:0}.app-navbar__dropdown-divider[data-v-1c8d5b4c]{height:1px;background:var(--color-divider);margin:4px 0}.app-sidebar[data-v-1f84f280]{position:fixed;top:0;left:0;bottom:0;width:var(--width-sidebar);background:var(--color-sidebar-bg);color:var(--color-sidebar-text);display:flex;flex-direction:column;z-index:100;overflow-y:auto;border-right:1px solid var(--color-divider)}.app-sidebar__brand[data-v-1f84f280]{height:var(--height-navbar);min-height:var(--height-navbar);display:flex;align-items:center;padding:0 20px;gap:12px;border-bottom:1px solid var(--color-divider);flex-shrink:0}.app-sidebar__brand-logo[data-v-1f84f280]{width:28px;height:28px;color:var(--color-primary-light);flex-shrink:0}.app-sidebar__brand-text[data-v-1f84f280]{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__menu[data-v-1f84f280]{display:flex;flex-direction:column;padding:12px 8px;gap:2px;flex:1}.app-sidebar__item[data-v-1f84f280]{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--border-radius-sm);color:var(--color-sidebar-text);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:background var(--transition-fast),color var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none}.app-sidebar__item[data-v-1f84f280]:hover{background:#ffffff14;color:var(--color-sidebar-text);text-decoration:none}.app-sidebar__item--active[data-v-1f84f280],.app-sidebar__item--active[data-v-1f84f280]:hover{background:var(--color-sidebar-active);color:var(--color-sidebar-active-text)}.app-sidebar__icon[data-v-1f84f280]{width:20px;height:20px;flex-shrink:0}.app-sidebar__label[data-v-1f84f280]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-list-link[data-v-8ebd9fe3]:hover,.dashboard-list-link[data-v-74068089]:hover{background:#ffffff08}@keyframes fadeInUp-4c448fbd{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up[data-v-4c448fbd]{animation:fadeInUp-4c448fbd .4s var(--transition-normal) both}.stat-card-clickable[data-v-4c448fbd]{cursor:pointer}.stat-card-clickable[data-v-4c448fbd]:active{transform:translateY(0) scale(.98)}.quick-action-card[data-v-4c448fbd]{background:var(--color-surface-mid);border-radius:var(--border-radius-md);padding:28px 24px;border:1px solid var(--color-border);display:flex;align-items:center;gap:20px;cursor:pointer;transition:all var(--transition-fast)}.quick-action-card[data-v-4c448fbd]:hover{background:var(--color-surface-high);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-icon[data-v-4c448fbd]{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.badge[data-v-4c448fbd]{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:12px;font-size:var(--text-xs);font-weight:500;white-space:nowrap}.breadcrumb[data-v-4c448fbd]{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:var(--text-sm);color:var(--color-text-secondary)}.breadcrumb-separator[data-v-4c448fbd]{color:var(--color-text-disabled)}.dashboard-inline-error[data-v-4c448fbd]{display:flex;flex-wrap:wrap;gap:4px;color:var(--color-error);font-size:var(--text-sm)}.admin-dashboard__main[data-v-4c448fbd]{min-height:100vh}.admin-dashboard__content[data-v-4c448fbd]{width:100%}@media (max-width: 767px){[data-v-4c448fbd] .app-sidebar{display:none}[data-v-4c448fbd] .app-navbar{left:0;padding:0 16px}[data-v-4c448fbd] .app-navbar__center{justify-content:flex-start}.admin-dashboard__main[data-v-4c448fbd]{margin-left:0!important}.admin-dashboard__content[data-v-4c448fbd]{padding:20px 16px!important}}.app-modal[data-v-53b0d36f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s cubic-bezier(.4,0,.2,1),visibility .25s cubic-bezier(.4,0,.2,1)}.app-modal--open[data-v-53b0d36f]{opacity:1;visibility:visible;pointer-events:auto}.app-modal__backdrop[data-v-53b0d36f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009}.app-modal__dialog[data-v-53b0d36f]{position:relative;max-width:600px;width:90%;background:var(--color-surface-modal);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1;display:flex;flex-direction:column;max-height:80vh;transform:translateY(20px) scale(.95);transition:transform .25s cubic-bezier(.4,0,.2,1)}.app-modal--open .app-modal__dialog[data-v-53b0d36f]{transform:translateY(0) scale(1)}.app-modal__header[data-v-53b0d36f]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-divider);flex-shrink:0}.app-modal__title[data-v-53b0d36f]{font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);font-family:var(--font-heading);margin:0;line-height:var(--line-height-tight)}.app-modal__close[data-v-53b0d36f]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;padding:0;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.app-modal__close[data-v-53b0d36f]:hover{background:var(--overlay-hover);color:var(--color-text-primary)}.app-modal__body[data-v-53b0d36f]{padding:24px;overflow-y:auto;flex:1;min-height:0}.app-modal__footer[data-v-53b0d36f]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-divider);flex-shrink:0}.class-management-main[data-v-8553fbd1]{min-height:100vh}.breadcrumb[data-v-8553fbd1]{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap}.breadcrumb-separator[data-v-8553fbd1]{color:var(--color-text-disabled)}.badge[data-v-8553fbd1]{display:inline-flex;align-items:center}.ripple[data-v-8553fbd1]{position:relative;overflow:hidden}.form-grid[data-v-8553fbd1]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .form-full[data-v-8553fbd1]{grid-column:1 / -1}.form-group label[data-v-8553fbd1]{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:6px;font-weight:500}.form-group input[data-v-8553fbd1],.form-group select[data-v-8553fbd1]{width:100%;box-sizing:border-box}.form-group select[data-v-8553fbd1]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.field-invalid[data-v-8553fbd1]{border-color:var(--color-error)!important}.field-error[data-v-8553fbd1]{display:block;margin-top:6px;font-size:12px;color:var(--color-error)}.table-scroll[data-v-8553fbd1]{overflow-x:auto}.filter-tabs[data-v-8553fbd1]{display:flex;gap:12px;align-items:center;overflow-x:auto;min-width:0}.action-btns[data-v-8553fbd1]{display:flex;gap:8px;align-items:center}.action-btns button[data-v-8553fbd1]{padding:6px 12px;border-radius:var(--border-radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.btn-edit[data-v-8553fbd1]{background:var(--color-primary-tint);color:var(--color-primary-light)}.btn-edit[data-v-8553fbd1]:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-delete[data-v-8553fbd1]{background:var(--color-error-tint);color:var(--color-error)}.btn-delete[data-v-8553fbd1]:hover{background:var(--color-error);color:#fff}.btn-allocate[data-v-8553fbd1]{background:var(--color-info-tint);color:var(--color-info)}.btn-allocate[data-v-8553fbd1]:hover{background:var(--color-info);color:#fff}.delete-confirm-btn[data-v-8553fbd1]{background:var(--color-error);color:#fff;padding:12px 24px;border-radius:var(--border-radius-sm);font-weight:500;font-size:var(--text-sm);transition:background var(--transition-fast),transform var(--transition-fast)}.delete-confirm-btn[data-v-8553fbd1]:hover{background:#db5757;transform:translateY(-1px)}.modal-btn[data-v-8553fbd1]:disabled,.btn-primary[data-v-8553fbd1]:disabled,.btn-secondary[data-v-8553fbd1]:disabled,.delete-confirm-btn[data-v-8553fbd1]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}[data-v-8553fbd1] .app-modal__dialog:has(#classManagementForm){max-width:560px;width:min(90vw,560px)}[data-v-8553fbd1] .app-modal__dialog:has(#classManagementDeleteContent){max-width:420px;width:min(90vw,420px)}@media (max-width: 1024px){.action-btns[data-v-8553fbd1]{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 767px){[data-v-8553fbd1] .app-sidebar{display:none}[data-v-8553fbd1] .app-navbar{left:0;padding:0 16px}[data-v-8553fbd1] .app-navbar__center{display:none}.class-management-main[data-v-8553fbd1]{margin-left:0!important}.class-management-header[data-v-8553fbd1]{flex-direction:column;align-items:flex-start!important;gap:16px}.class-management-filterbar[data-v-8553fbd1]{flex-direction:column;align-items:stretch!important}.class-management-search[data-v-8553fbd1]{max-width:none!important;width:100%}.filter-tabs[data-v-8553fbd1]{width:100%;padding-bottom:2px}.form-grid[data-v-8553fbd1]{grid-template-columns:1fr}}@media (max-width: 640px){[data-v-8553fbd1] .app-navbar__logo-text{display:none}.action-btns[data-v-8553fbd1]{min-width:180px}}@keyframes fadeInUp-28dddda0{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in-up[data-v-28dddda0]{animation:fadeInUp-28dddda0 .3s ease-out forwards}.allocation-row-enter[data-v-28dddda0]{animation:fadeInUp-28dddda0 .25s ease-out forwards}.class-resource-page[data-v-28dddda0]{min-height:100vh;background:var(--color-bg-page)}.class-resource-page__main[data-v-28dddda0]{margin-left:var(--width-sidebar);padding-top:var(--height-navbar);min-height:100vh}.class-resource-page__content[data-v-28dddda0]{width:100%}.breadcrumb[data-v-28dddda0]{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap}.breadcrumb a[data-v-28dddda0]{color:var(--color-text-secondary);transition:color var(--transition-fast)}.breadcrumb a[data-v-28dddda0]:hover{color:var(--color-primary-light)}.breadcrumb-separator[data-v-28dddda0]{color:var(--color-text-disabled)}.table-scroll[data-v-28dddda0]{overflow-x:auto}[data-v-28dddda0] .allocation-modal .app-modal__dialog{max-width:520px}[data-v-28dddda0] .delete-modal .app-modal__dialog{max-width:440px}@media (max-width: 1024px){[data-v-28dddda0] .app-sidebar{width:72px}[data-v-28dddda0] .app-sidebar__brand{justify-content:center;padding:0 12px}[data-v-28dddda0] .app-sidebar__brand-text,[data-v-28dddda0] .app-sidebar__label{display:none}[data-v-28dddda0] .app-sidebar__item{justify-content:center;padding:10px 0}[data-v-28dddda0] .app-navbar{left:72px;padding:0 16px}.class-resource-page__main[data-v-28dddda0]{margin-left:72px}.class-resource-page__content[data-v-28dddda0]{padding-left:20px;padding-right:20px}}@media (max-width: 640px){[data-v-28dddda0] .app-sidebar{position:fixed;top:0;left:0;right:0;bottom:auto;width:100%;height:auto;border-right:none;border-bottom:1px solid var(--color-divider)}[data-v-28dddda0] .app-sidebar__brand{height:56px;min-height:56px;justify-content:flex-start;padding:0 16px}[data-v-28dddda0] .app-sidebar__brand-text,[data-v-28dddda0] .app-sidebar__label{display:inline}[data-v-28dddda0] .app-sidebar__menu{flex-direction:row;overflow-x:auto;padding:8px}[data-v-28dddda0] .app-sidebar__item{justify-content:flex-start;padding:10px 12px}[data-v-28dddda0] .app-navbar{top:112px;left:0;padding:0 16px}.class-resource-page__main[data-v-28dddda0]{margin-left:0;padding-top:176px}.class-resource-page__content[data-v-28dddda0]{padding:16px}.class-info-header[data-v-28dddda0],.section-header[data-v-28dddda0],.bottom-actions[data-v-28dddda0]{flex-direction:column;align-items:stretch}.class-info-meta[data-v-28dddda0]{flex-wrap:wrap;gap:10px 16px}.bottom-actions[data-v-28dddda0]>*{width:100%;justify-content:center}}.chapter-tree[data-v-7984abdc]{display:flex;flex-direction:column;gap:2px}.chapter-node[data-v-7984abdc]{border-radius:var(--border-radius-sm);transition:background var(--transition-fast)}.chapter-header[data-v-7984abdc]{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;border-radius:var(--border-radius-sm);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.chapter-header[data-v-7984abdc]:hover{background:var(--overlay-hover)}.chapter-header .chevron[data-v-7984abdc]{transition:transform var(--transition-fast);flex-shrink:0}.chapter-header .chevron.collapsed[data-v-7984abdc]{transform:rotate(-90deg)}.chapter-children[data-v-7984abdc]{padding-left:24px;overflow:hidden;transition:max-height var(--transition-normal)}.lesson-item[data-v-7984abdc]{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast);border-left:3px solid transparent}.lesson-item[data-v-7984abdc]:hover{background:var(--overlay-hover)}.lesson-item.active[data-v-7984abdc]{background:var(--color-primary-tint);border-left-color:var(--color-primary)}.lesson-item .lesson-title[data-v-7984abdc]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-panel[data-v-7984abdc]{width:min(420px,100%);min-width:min(360px,100%);flex-shrink:0}@media (max-width: 1279px){.left-panel[data-v-7984abdc]{width:100%;min-width:0}}@media (max-width: 640px){.chapter-header[data-v-7984abdc],.lesson-item[data-v-7984abdc]{padding-left:12px;padding-right:12px}}.toggle-switch[data-v-738bc5b0]{position:relative;width:44px;height:24px;background:var(--color-surface-low);border-radius:12px;cursor:pointer;transition:background var(--transition-fast);border:1px solid var(--color-border);flex-shrink:0}.toggle-switch.active[data-v-738bc5b0]{background:var(--color-primary);border-color:var(--color-primary)}.toggle-switch[data-v-738bc5b0]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform var(--transition-fast)}.toggle-switch.active[data-v-738bc5b0]:after{transform:translate(20px)}@keyframes fadeIn-738bc5b0{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in[data-v-738bc5b0]{animation:fadeIn-738bc5b0 var(--transition-normal) ease forwards}.course-chapter-editor[data-v-738bc5b0]{min-height:calc(100vh - var(--height-navbar))}.editor-layout[data-v-738bc5b0]{min-height:calc(100vh - var(--height-navbar) - var(--spacing-page) * 2 - 100px)}.right-panel[data-v-738bc5b0]{min-height:0}.left-skeleton[data-v-738bc5b0]{width:min(420px,100%);min-width:min(360px,100%);flex-shrink:0}.detail-scroll[data-v-738bc5b0]{min-height:0}.course-error-state[data-v-738bc5b0]{min-height:420px}@media (max-width: 1279px){.editor-layout[data-v-738bc5b0]{min-height:auto}.chapter-editor-header[data-v-738bc5b0]{align-items:flex-start;flex-direction:column;gap:16px}.chapter-editor-actions[data-v-738bc5b0]{width:100%;flex-wrap:wrap}.detail-actions[data-v-738bc5b0]{gap:12px;flex-wrap:wrap}.detail-actions>button[data-v-738bc5b0]{flex:1 1 220px;justify-content:center}}@media (max-width: 640px){.chapter-editor-actions[data-v-738bc5b0]{flex-direction:column;align-items:stretch}.chapter-editor-actions>button[data-v-738bc5b0]{width:100%;justify-content:center}}.course-card[data-v-6f622813]{background:var(--color-surface-mid);border-radius:var(--border-radius-md);border:1px solid var(--color-border);overflow:hidden;transition:all var(--transition-normal);position:relative}.course-card[data-v-6f622813]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.course-card-cover[data-v-6f622813]{width:100%;height:160px;object-fit:cover;display:block;filter:brightness(.85);transition:filter var(--transition-fast)}.course-card:hover .course-card-cover[data-v-6f622813]{filter:brightness(.95)}.course-card-body[data-v-6f622813]{padding:20px}.course-card-category[data-v-6f622813]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:500;background:var(--color-primary-tint);color:var(--color-primary-light);margin-bottom:10px}.course-card-title[data-v-6f622813]{font-family:var(--font-heading);font-size:17px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px;line-height:var(--line-height-tight)}.course-card-desc[data-v-6f622813]{font-size:13px;color:var(--color-text-secondary);line-height:var(--line-height-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px;min-height:39px}.course-card-footer[data-v-6f622813]{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--color-divider)}.content-shell[data-v-420cb9fd]{margin-left:var(--width-sidebar);padding-top:var(--height-navbar);min-height:100vh}.breadcrumb[data-v-420cb9fd]{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap}.breadcrumb a[data-v-420cb9fd]{color:var(--color-text-secondary)}.breadcrumb a[data-v-420cb9fd]:hover{color:var(--color-primary-light)}.breadcrumb-separator[data-v-420cb9fd]{color:var(--color-text-disabled)}.form-group[data-v-420cb9fd]{margin-bottom:20px}.form-label[data-v-420cb9fd]{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.form-control[data-v-420cb9fd]{width:100%;box-sizing:border-box}.form-control[data-v-420cb9fd]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}textarea.form-control[data-v-420cb9fd]{resize:vertical;min-height:80px}.form-error[data-v-420cb9fd]{margin-top:8px;font-size:12px;color:var(--color-error)}.empty-state[data-v-420cb9fd]{text-align:center;padding:80px 20px}.empty-state-icon[data-v-420cb9fd]{width:64px;height:64px;margin:0 auto 20px;color:var(--color-text-disabled)}.btn-danger[data-v-420cb9fd]{background:var(--color-error);color:var(--color-text-on-primary);padding:12px 24px;border-radius:var(--border-radius-sm);font-weight:500;font-size:var(--text-sm);transition:background var(--transition-fast),transform var(--transition-fast)}.btn-danger[data-v-420cb9fd]:hover{background:#db5757;transform:translateY(-1px)}.btn-danger[data-v-420cb9fd]:active{transform:translateY(0)}[data-v-420cb9fd] .course-modal-host .app-modal__dialog{max-width:560px}[data-v-420cb9fd] .delete-modal-host .app-modal__dialog{max-width:420px}@media (max-width: 767px){.content-shell[data-v-420cb9fd]{min-width:0}}.login-body[data-v-b1aa1664]{min-height:100vh}.input-with-icon[data-v-b1aa1664]{position:relative}.input-with-icon input[data-v-b1aa1664]{width:100%;padding-left:44px}.input-with-icon .input-icon[data-v-b1aa1664]{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none;width:18px;height:18px}.input-with-icon .input-trailing-icon[data-v-b1aa1664]{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);cursor:pointer;background:none;border:none;padding:4px;border-radius:50%;transition:all var(--transition-fast);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.input-with-icon .input-trailing-icon[data-v-b1aa1664]:hover{color:var(--color-text-primary);background:#ffffff14}.login-card[data-v-b1aa1664]{background:var(--color-surface-high);border-radius:16px;padding:48px 40px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);width:100%;max-width:420px;animation:fadeSlideUp-b1aa1664 .5s cubic-bezier(.4,0,.2,1) both}@keyframes fadeSlideUp-b1aa1664{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.brand-text[data-v-b1aa1664]{font-family:var(--font-heading);font-weight:700;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-bg[data-v-b1aa1664]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.login-bg img[data-v-b1aa1664]{width:100%;height:100%;object-fit:cover;opacity:.15;filter:brightness(.6)}.login-bg[data-v-b1aa1664]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#100e1bf2,#171429e6,#1c1320f2)}.error-msg[data-v-b1aa1664]{animation:shake-b1aa1664 .4s ease-in-out}@keyframes shake-b1aa1664{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}[data-v-b1aa1664]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input[data-v-b1aa1664]:focus-visible{outline:none}.copyright[data-v-b1aa1664]{animation:fadeIn-b1aa1664 .8s .3s cubic-bezier(.4,0,.2,1) both}@keyframes fadeIn-b1aa1664{0%{opacity:0}to{opacity:1}}@media (max-width: 480px){.login-card[data-v-b1aa1664]{padding:32px 24px;max-width:calc(100vw - 32px)}}.media-upload-center-page[data-v-b02ed1db]{min-height:100vh}.upload-dropzone[data-v-b02ed1db]{border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-surface-low);transition:border-color var(--transition-normal),background var(--transition-normal);cursor:pointer;position:relative}.upload-dropzone[data-v-b02ed1db]:hover,.upload-dropzone.drag-over[data-v-b02ed1db]{border-color:var(--color-primary);background:var(--color-primary-tint)}.upload-dropzone.drag-over .dropzone-icon[data-v-b02ed1db]{transform:scale(1.15);color:var(--color-primary-light)}.dropzone-icon[data-v-b02ed1db]{transition:transform var(--transition-normal),color var(--transition-normal)}.progress-bar-track[data-v-b02ed1db]{width:100%;height:6px;background:var(--color-surface-low);border-radius:3px;overflow:hidden}.progress-bar-fill[data-v-b02ed1db]{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:3px;transition:width .3s ease}.progress-bar-fill.complete[data-v-b02ed1db]{background:linear-gradient(90deg,var(--color-success),hsl(142,50%,60%))}.progress-bar-fill.error[data-v-b02ed1db]{background:var(--color-error)}@keyframes pulse-border-b02ed1db{0%,to{border-color:var(--color-primary)}50%{border-color:var(--color-primary-light)}}.upload-dropzone.drag-over[data-v-b02ed1db]{animation:pulse-border-b02ed1db 1.2s ease-in-out infinite}.file-card[data-v-b02ed1db]{background:var(--color-surface-mid);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:16px;transition:background var(--transition-fast)}.file-card[data-v-b02ed1db]:hover{background:var(--color-surface-high)}.video-preview-container[data-v-b02ed1db]{background:#000;border-radius:var(--border-radius-md);overflow:hidden;position:relative}@keyframes fade-in-b02ed1db{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in[data-v-b02ed1db]{animation:fade-in-b02ed1db .3s ease forwards}.main-content[data-v-b02ed1db]{min-height:100vh}.btn-primary[data-v-b02ed1db]:disabled,.btn-secondary[data-v-b02ed1db]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-b02ed1db]:disabled:hover{background:var(--color-primary);transform:none}.btn-secondary[data-v-b02ed1db]:disabled:hover{border-color:var(--color-border);background:transparent}@media (max-width: 1279px){.context-card-row[data-v-b02ed1db]{align-items:flex-start;flex-direction:column}.context-stats[data-v-b02ed1db]{flex-wrap:wrap;gap:12px 24px;width:100%}}@media (max-width: 1024px){.media-upload-center-page[data-v-b02ed1db] .app-sidebar{display:none}.media-upload-center-page[data-v-b02ed1db] .app-navbar{left:0;padding:0 16px}.main-content[data-v-b02ed1db]{margin-left:0;padding-left:16px;padding-right:16px;padding-bottom:24px}}@media (max-width: 640px){.main-content[data-v-b02ed1db]{padding-top:calc(var(--height-navbar) + 16px)}.page-header[data-v-b02ed1db]{align-items:stretch;flex-direction:column;gap:16px}.upload-dropzone[data-v-b02ed1db]{min-height:240px!important;padding:32px 20px}}.course-card[data-v-fe844356]{background:var(--color-surface-mid);border-radius:var(--border-radius-md);border:1px solid var(--color-border);overflow:hidden;cursor:pointer;transition:all var(--transition-normal)}.course-card[data-v-fe844356]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.course-card[data-v-fe844356]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.course-cover[data-v-fe844356]{width:100%;height:160px;object-fit:cover;filter:brightness(.85);transition:filter var(--transition-fast);background:var(--color-surface-high)}.course-card:hover .course-cover[data-v-fe844356]{filter:brightness(1)}.course-cover--placeholder[data-v-fe844356]{display:flex;align-items:center;justify-content:center;color:var(--color-primary-light);background:radial-gradient(circle at top left,rgba(66,135,245,.18),transparent 45%),linear-gradient(135deg,var(--color-surface-high) 0%,var(--color-surface-low) 100%)}.course-meta[data-v-fe844356]{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-secondary)}.course-meta svg[data-v-fe844356]{flex-shrink:0}.page-main[data-v-daa6f677]{min-height:100vh}.breadcrumb[data-v-daa6f677]{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;overflow-x:auto}.breadcrumb a[data-v-daa6f677]{color:var(--color-text-secondary);transition:color var(--transition-fast)}.breadcrumb a[data-v-daa6f677]:hover{color:var(--color-primary-light)}.breadcrumb-separator[data-v-daa6f677]{color:var(--color-text-disabled);flex-shrink:0}.filter-tabs[data-v-daa6f677]{display:flex;align-items:center;gap:12px;overflow-x:auto;padding-bottom:2px}.search-input-wrap[data-v-daa6f677]{position:relative;max-width:320px}.search-input-wrap .search-icon[data-v-daa6f677]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.search-input-wrap input[data-v-daa6f677]{padding-left:40px;width:100%;background:var(--color-surface-mid);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);height:42px}.search-input-wrap input[data-v-daa6f677]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.skeleton-card[data-v-daa6f677]{background:var(--color-surface-mid);border-radius:var(--border-radius-md);border:1px solid var(--color-border);overflow:hidden}.skeleton-cover[data-v-daa6f677]{width:100%;height:160px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@media (max-width: 767px){.page-main[data-v-daa6f677]{margin-left:0!important}[data-v-daa6f677] .app-sidebar{display:none}[data-v-daa6f677] .app-navbar{left:0;padding:0 16px}[data-v-daa6f677] .app-navbar__logo-text{display:none}[data-v-daa6f677] .app-navbar__center{justify-content:flex-start}}@keyframes fadeInUp-cea9fdea{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in[data-v-cea9fdea]{animation:fadeInUp-cea9fdea var(--transition-slow) ease-out forwards}.animate-in[data-v-cea9fdea]:nth-child(1){animation-delay:0ms}.animate-in[data-v-cea9fdea]:nth-child(2){animation-delay:60ms}.animate-in[data-v-cea9fdea]:nth-child(3){animation-delay:.12s}.animate-in[data-v-cea9fdea]:nth-child(4){animation-delay:.18s}.breadcrumb[data-v-cea9fdea]{display:flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--color-text-secondary);font-size:12px;flex-wrap:wrap}.breadcrumb-link[data-v-cea9fdea]{color:var(--color-primary-light);text-decoration:none}.breadcrumb-separator[data-v-cea9fdea]{color:var(--color-text-disabled)}.card-grid[data-v-cea9fdea]{display:grid;gap:var(--card-gap)}.badge[data-v-cea9fdea]{display:inline-flex;align-items:center;justify-content:center}.ripple[data-v-cea9fdea]{position:relative;overflow:hidden}.stat-card-action[data-v-cea9fdea]:focus-visible,.task-row[data-v-cea9fdea]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.task-row[data-v-cea9fdea]:hover{background:#ffffff0d!important}.quick-entry[data-v-cea9fdea]:hover{border-color:var(--color-primary)!important}.teacher-dashboard-shell[data-v-cea9fdea]{min-width:0}@media (max-width: 1279px){.stats-grid[data-v-cea9fdea]{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-grid[data-v-cea9fdea]{grid-template-columns:minmax(0,1fr)!important}.tasks-panel[data-v-cea9fdea],.quick-panel[data-v-cea9fdea]{grid-column:span 1 / span 1!important}}@media (max-width: 1023px){.teacher-dashboard-main[data-v-cea9fdea]{margin-left:0!important}[data-v-cea9fdea] .app-sidebar{transform:translate(-100%);pointer-events:none}[data-v-cea9fdea] .app-navbar{left:0}}@media (max-width: 767px){.teacher-dashboard-shell[data-v-cea9fdea]{padding:24px 16px!important}.welcome-header[data-v-cea9fdea]{flex-direction:column;align-items:flex-start;gap:16px}.stats-grid[data-v-cea9fdea]{grid-template-columns:minmax(0,1fr)!important}[data-v-cea9fdea] .app-navbar{padding:0 16px;gap:12px}[data-v-cea9fdea] .app-navbar__logo-text{display:none}[data-v-cea9fdea] .app-navbar__center{justify-content:flex-start}}.teacher-management-page[data-v-4f437be2]{--text-body: var(--text-base)}.teacher-management-main[data-v-4f437be2]{margin-left:var(--width-sidebar);padding-top:var(--height-navbar);min-height:100vh}.breadcrumb[data-v-4f437be2]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary)}.breadcrumb-separator[data-v-4f437be2]{color:var(--color-text-disabled)}.filter-tabs[data-v-4f437be2]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-form-grid[data-v-4f437be2]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.teacher-form-grid .form-field-full[data-v-4f437be2]{grid-column:1 / -1}.form-field label[data-v-4f437be2]{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:8px;font-weight:500}.form-field input[data-v-4f437be2],.form-field select[data-v-4f437be2]{width:100%;box-sizing:border-box}.form-field .field-error[data-v-4f437be2]{font-size:12px;color:var(--color-error);margin-top:4px;display:none}.form-field.has-error .field-error[data-v-4f437be2]{display:block}.form-field.has-error input[data-v-4f437be2],.form-field.has-error select[data-v-4f437be2]{border-color:var(--color-error)}.teacher-avatar[data-v-4f437be2]{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border);flex-shrink:0}.action-btn[data-v-4f437be2]{padding:6px 12px;border-radius:var(--border-radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary)}.action-btn[data-v-4f437be2]:hover{background:#ffffff0d;color:var(--color-text-primary);border-color:var(--color-primary)}.action-btn.danger[data-v-4f437be2]:hover{background:var(--color-error-tint);color:var(--color-error);border-color:var(--color-error)}.action-btn[data-v-4f437be2]:disabled{opacity:.6;cursor:not-allowed}.confirm-content[data-v-4f437be2]{padding:16px 0;color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.confirm-content strong[data-v-4f437be2]{color:var(--color-text-primary)}.pagination-bar[data-v-4f437be2]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 4px 0}.pagination-summary[data-v-4f437be2]{color:var(--color-text-secondary);font-size:var(--text-sm)}.pagination-actions[data-v-4f437be2]{display:flex;align-items:center;gap:8px}.pagination-btn[data-v-4f437be2]{padding:8px 14px;border-radius:var(--border-radius-sm);font-size:var(--text-sm);font-weight:500;border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);transition:all var(--transition-fast)}.pagination-btn[data-v-4f437be2]:hover:not(:disabled){background:#ffffff0d;border-color:var(--color-primary)}.pagination-btn[data-v-4f437be2]:disabled{opacity:.45;cursor:not-allowed}[data-v-4f437be2] .teacher-management-modal--wide .app-modal__dialog{max-width:620px;width:min(620px,calc(100vw - 32px))}[data-v-4f437be2] .teacher-management-modal--narrow .app-modal__dialog{max-width:420px;width:min(420px,calc(100vw - 32px))}[data-v-4f437be2] .app-modal__confirm:disabled,[data-v-4f437be2] .app-modal__cancel:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 1023px){.teacher-management-main[data-v-4f437be2]{margin-left:0}[data-v-4f437be2] .app-sidebar{display:none}[data-v-4f437be2] .app-navbar{left:0}}@media (max-width: 767px){.teacher-form-grid[data-v-4f437be2]{grid-template-columns:1fr}.teacher-management-main[data-v-4f437be2]{padding-top:var(--height-navbar)}}.profile-grid[data-v-61ddd39d]{display:grid;grid-template-columns:1fr;gap:var(--card-gap)}.avatar-upload-zone[data-v-61ddd39d]{border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);transition:border-color var(--transition-fast),background var(--transition-fast);cursor:pointer}.avatar-upload-zone[data-v-61ddd39d]:hover,.avatar-upload-zone.dragover[data-v-61ddd39d]{border-color:var(--color-primary);background:var(--color-primary-tint)}.avatar-ring[data-v-61ddd39d]{background:conic-gradient(var(--color-primary),var(--color-accent),var(--color-primary));padding:4px;border-radius:50%;display:inline-flex}.avatar-ring img[data-v-61ddd39d]{border-radius:50%;border:3px solid var(--color-surface-mid);object-fit:cover}.password-toggle[data-v-61ddd39d]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-disabled);cursor:pointer;padding:4px;transition:color var(--transition-fast)}.password-toggle[data-v-61ddd39d]:hover{color:var(--color-text-primary)}.form-section+.form-section[data-v-61ddd39d]{margin-top:32px;padding-top:32px;border-top:1px solid var(--color-divider)}@keyframes fadeInUp-61ddd39d{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in[data-v-61ddd39d]{animation:fadeInUp-61ddd39d .4s cubic-bezier(.4,0,.2,1) both}.animate-in-delay-1[data-v-61ddd39d]{animation-delay:.08s}.animate-in-delay-2[data-v-61ddd39d]{animation-delay:.16s}.animate-in-delay-3[data-v-61ddd39d]{animation-delay:.24s}@media (min-width: 1024px){.profile-grid[data-v-61ddd39d]{grid-template-columns:1fr 380px}}@media (max-width: 767px){.overview-row[data-v-61ddd39d]{flex-direction:column;align-items:flex-start}.overview-id[data-v-61ddd39d]{text-align:left}}.student-dashboard-main[data-v-ca1d078e]{min-height:100vh}.breadcrumb[data-v-ca1d078e]{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap}.breadcrumb-separator[data-v-ca1d078e]{color:var(--color-text-disabled)}.student-dashboard-card[data-v-ca1d078e]{padding:24px}@media (max-width: 767px){.student-dashboard-main[data-v-ca1d078e]{margin-left:0!important}[data-v-ca1d078e] .app-sidebar{display:none}[data-v-ca1d078e] .app-navbar{left:0;padding:0 16px}[data-v-ca1d078e] .app-navbar__center{justify-content:flex-start}[data-v-ca1d078e] .app-navbar__logo-text{display:none}}/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-page:#121212;--color-surface-low:#1e1e1e;--color-surface-mid:#242424;--color-surface-high:#2c2c2c;--color-surface-modal:#2c2c2c;--color-primary:#4d80b3;--color-primary-light:#82a6c9;--color-primary-tint:#4287f51f;--color-accent:#e89c30;--color-accent-light:#edb25e;--color-success:#40bf6e;--color-success-tint:#4cc98a1f;--color-warning:#f5a83d;--color-warning-tint:#fbb0401f;--color-error:#d74242;--color-error-tint:#e573731f;--color-info:#3caadd;--color-info-tint:#4fc1e91f;--color-text-primary:#ffffffde;--color-text-secondary:#fff9;--color-text-disabled:#ffffff61;--color-text-on-primary:#fff;--color-border:#ffffff1f;--color-divider:#ffffff14;--color-navbar-bg:var(--color-surface-mid);--color-sidebar-bg:var(--color-surface-mid);--color-sidebar-text:var(--color-text-primary);--color-sidebar-active:#4287f529;--color-sidebar-active-text:var(--color-primary-light)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p{margin:0}a{color:var(--color-primary-light);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-surface-low);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);transition:border-color var(--transition-fast);padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-disabled)}}@layer components{.login-container{min-height:100vh;padding:var(--spacing-page);background:linear-gradient(135deg,#0c141d,#151f28);justify-content:center;align-items:center;display:flex}.main-content{margin-left:var(--width-sidebar);padding-top:var(--height-navbar);min-height:100vh;padding-left:var(--spacing-page);padding-right:var(--spacing-page);padding-bottom:var(--spacing-page)}.surface-raised{background:var(--color-surface-mid);border-radius:var(--border-radius-md);padding:24px}.surface-elevated{background:var(--color-surface-high);border-radius:var(--border-radius-md);padding:24px}.stat-card{background:linear-gradient(135deg,var(--color-surface-mid) 0%,var(--color-surface-low) 100%);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast);padding:24px}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-radius:var(--border-radius-sm);font-weight:500;font-size:var(--text-sm);transition:background var(--transition-fast),transform var(--transition-fast);padding:12px 24px;position:relative;overflow:hidden}.btn-primary:hover{background:var(--color-primary-light);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-weight:500;font-size:var(--text-sm);transition:border-color var(--transition-fast),background var(--transition-fast);background:0 0;padding:12px 24px}.btn-secondary:hover{border-color:var(--color-primary);background:var(--overlay-hover)}.btn-accent{background:var(--color-accent);color:var(--color-text-on-primary);border-radius:var(--border-radius-sm);font-weight:500;font-size:var(--text-sm);transition:background var(--transition-fast),transform var(--transition-fast);padding:12px 24px}.btn-accent:hover{background:var(--color-accent-light);transform:translateY(-1px)}.badge-success{background:var(--color-success-tint);color:var(--color-success);font-size:var(--text-xs);white-space:nowrap;border-radius:12px;padding:4px 12px;font-weight:500}.badge-warning{background:var(--color-warning-tint);color:var(--color-warning);font-size:var(--text-xs);white-space:nowrap;border-radius:12px;padding:4px 12px;font-weight:500}.badge-error{background:var(--color-error-tint);color:var(--color-error);font-size:var(--text-xs);white-space:nowrap;border-radius:12px;padding:4px 12px;font-weight:500}.badge-info{background:var(--color-info-tint);color:var(--color-info);font-size:var(--text-xs);white-space:nowrap;border-radius:12px;padding:4px 12px;font-weight:500}.badge-neutral{background:var(--color-surface-high);color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;border-radius:12px;padding:4px 12px;font-weight:500}.filter-tab{color:var(--color-text-secondary);border:1px solid var(--color-border);font-size:var(--text-sm);transition:all var(--transition-fast);white-space:nowrap;background:0 0;border-radius:20px;flex-shrink:0;padding:8px 16px;font-weight:500}.filter-tab:hover{background:var(--overlay-hover);color:var(--color-text-primary)}.filter-tab.active{background:var(--color-primary-tint);color:var(--color-primary-light);border-color:var(--color-primary)}.data-table{border-collapse:separate;border-spacing:0;background:var(--color-surface-mid);border-radius:var(--border-radius-md);width:100%;overflow:hidden}.data-table thead{background:var(--color-surface-high)}.data-table th{text-align:left;font-weight:500;font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-divider);padding:16px}.data-table td{font-size:var(--text-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-divider);padding:16px}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--overlay-hover)}.data-table tbody tr:last-child td{border-bottom:none}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line{background:linear-gradient(90deg,var(--color-surface-low) 25%,var(--color-surface-mid) 50%,var(--color-surface-low) 75%);border-radius:var(--border-radius-sm);background-size:200% 100%;height:16px;animation:1.5s infinite skeleton-shimmer}.skeleton-circle{background:linear-gradient(90deg,var(--color-surface-low) 25%,var(--color-surface-mid) 50%,var(--color-surface-low) 75%);background-size:200% 100%;border-radius:50%;width:40px;height:40px;animation:1.5s infinite skeleton-shimmer}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.form-helper{font-size:var(--text-xs);color:var(--color-text-disabled)}.icon-btn{width:40px;height:40px;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--overlay-hover);color:var(--color-text-primary)}.page-header{margin-bottom:var(--spacing-page);justify-content:space-between;align-items:center;display:flex}.page-title{font-size:var(--text-2xl);color:var(--color-text-primary);font-weight:700}.empty-state{text-align:center;color:var(--color-text-disabled);flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;display:flex}.empty-state-icon{opacity:.5;margin-bottom:16px;font-size:64px}}@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-top-12{top:calc(var(--spacing) * -12)}.right-0{right:0}.z-10{z-index:10}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:var(--spacing)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\[18px\]{height:18px}.max-h-\[60vh\]{max-height:60vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-\[1400px\]{max-width:1400px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\[900px\]{min-width:900px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[var\(--card-gap\)\]{gap:var(--card-gap)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.bg-\[var\(--color-bg-page\)\]{background-color:var(--color-bg-page)}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.p-\[var\(--spacing-page\)\]{padding:var(--spacing-page)}.\!px-3{padding-inline:calc(var(--spacing) * 3)!important}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.\!py-1\.5{padding-block:calc(var(--spacing) * 1.5)!important}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-\[14px\]{padding-block:14px}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[26px\]{font-size:26px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.text-\[var\(--text-base\)\]{color:var(--text-base)}.text-\[var\(--text-lg\)\]{color:var(--text-lg)}.text-\[var\(--text-sm\)\]{color:var(--text-sm)}.text-\[var\(--text-xl\)\]{color:var(--text-xl)}.text-\[var\(--text-xs\)\]{color:var(--text-xs)}.text-white{color:var(--color-white)}.accent-\[var\(--color-primary\)\]{accent-color:var(--color-primary)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (min-width:900px){.max-\[900px\]\:max-w-full{max-width:100%}.max-\[900px\]\:flex-col{flex-direction:column}.max-\[900px\]\:items-stretch{align-items:stretch}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:self-auto{align-self:auto}.md\:p-8{padding:calc(var(--spacing) * 8)}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}}}:root{--height-navbar:64px;--width-sidebar:240px;--spacing-page:32px;--card-gap:24px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--font-heading:"Inter", -apple-system, "Noto Sans SC", sans-serif;--font-body:"Roboto", -apple-system, "Noto Sans SC", sans-serif;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--color-bg-page:#121212;--color-surface-low:#1e1e1e;--color-surface-mid:#242424;--color-surface-high:#2c2c2c;--color-surface-modal:#2c2c2c;--color-primary:#4d80b3;--color-primary-light:#82a6c9;--color-primary-dark:#36597d;--color-primary-tint:#4287f51f;--color-accent:#e89c30;--color-accent-light:#edb25e;--color-accent-tint:#eb984e1f;--color-success:#40bf6e;--color-success-tint:#4cc98a1f;--color-warning:#f5a83d;--color-warning-tint:#fbb0401f;--color-error:#d74242;--color-error-tint:#e573731f;--color-info:#3caadd;--color-info-tint:#4fc1e91f;--color-text-primary:#ffffffde;--color-text-secondary:#fff9;--color-text-disabled:#ffffff61;--color-text-on-primary:#fff;--color-border:#ffffff1f;--color-divider:#ffffff14;--color-navbar-bg:var(--color-surface-mid);--color-navbar-text:var(--color-text-primary);--color-sidebar-bg:var(--color-surface-mid);--color-sidebar-text:var(--color-text-primary);--color-sidebar-active:#4287f529;--color-sidebar-active-text:var(--color-primary-light);--color-sidebar-hover:#ffffff14;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 8px #0006, 0 2px 4px #0000004d;--shadow-lg:0 12px 24px #00000080, 0 6px 12px #0006;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--overlay-hover:#ffffff14;--overlay-active:#ffffff1f}*{border-color:#ffffff1f}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
