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-0347b828]{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-0347b828]{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-navbar__logo-icon[data-v-0347b828]{width:28px;height:28px;color:var(--color-primary-light)}.app-navbar__logo-text[data-v-0347b828]{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-0347b828]{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}.app-navbar__breadcrumb[data-v-0347b828]{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);white-space:nowrap;overflow:hidden}.app-navbar__breadcrumb-link[data-v-0347b828]{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast);padding:4px 2px;border-radius:var(--border-radius-sm)}.app-navbar__breadcrumb-link[data-v-0347b828]:hover{color:var(--color-primary-light)}.app-navbar__breadcrumb-sep[data-v-0347b828]{width:14px;height:14px;color:var(--color-text-disabled);flex-shrink:0}.app-navbar__breadcrumb-current[data-v-0347b828]{color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis}.app-navbar__right[data-v-0347b828]{position:relative;flex-shrink:0;display:flex;align-items:center}.app-navbar__user[data-v-0347b828]{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-0347b828]:hover{background:var(--overlay-hover)}.app-navbar__avatar[data-v-0347b828]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border);flex-shrink:0}.app-navbar__username[data-v-0347b828]{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-0347b828]{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-0347b828]{transform:rotate(180deg)}.app-navbar__dropdown[data-v-0347b828]{position:absolute;top:calc(100% + 8px);right:0;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;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);z-index:200}.app-navbar__dropdown--open[data-v-0347b828]{opacity:1;visibility:visible;transform:translateY(0)}.app-navbar__dropdown-item[data-v-0347b828]{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-0347b828]:hover{background:var(--overlay-hover)}.app-navbar__dropdown-item svg[data-v-0347b828]{width:16px;height:16px;color:var(--color-text-secondary);flex-shrink:0}.app-navbar__dropdown-divider[data-v-0347b828]{height:1px;background:var(--color-divider);margin:4px 0}.app-sidebar[data-v-f9a5cc67]{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-f9a5cc67]{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-f9a5cc67]{width:28px;height:28px;color:var(--color-primary-light);flex-shrink:0}.app-sidebar__brand-text[data-v-f9a5cc67]{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-f9a5cc67]{display:flex;flex-direction:column;padding:12px 8px;gap:2px;flex:1}.app-sidebar__item[data-v-f9a5cc67]{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-f9a5cc67]:hover{background:#ffffff14;color:var(--color-sidebar-text);text-decoration:none}.app-sidebar__item--active[data-v-f9a5cc67],.app-sidebar__item--active[data-v-f9a5cc67]:hover{background:var(--color-sidebar-active);color:var(--color-sidebar-active-text)}.app-sidebar__icon[data-v-f9a5cc67]{width:20px;height:20px;flex-shrink:0}.app-sidebar__label[data-v-f9a5cc67]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action-card[data-v-15a2610a]{background:var(--color-surface-mid);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:28px 24px;display:flex;align-items:center;gap:20px;cursor:pointer;transition:all var(--transition-fast)}.quick-action-card[data-v-15a2610a]:hover{background:var(--color-surface-high);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-icon[data-v-15a2610a]{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-clickable[data-v-04b1f908]{cursor:pointer}.stat-card-clickable[data-v-04b1f908]:active{transform:translateY(0) scale(.98)}.quick-action-icon[data-v-04b1f908]{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}@keyframes fadeInUp-23638e4b{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up[data-v-23638e4b]{animation:fadeInUp-23638e4b .4s var(--transition-normal) both}.breadcrumb[data-v-23638e4b]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:var(--text-sm);color:var(--color-text-secondary)}.breadcrumb-separator[data-v-23638e4b]{color:var(--color-text-disabled)}.dashboard-list-link[data-v-23638e4b]{transition:background var(--transition-fast)}.dashboard-list-link[data-v-23638e4b]:hover{background:#ffffff08;color:inherit}.dashboard-inline-error[data-v-23638e4b]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border:1px solid rgba(229,115,115,.25);border-radius:var(--border-radius-md);background:var(--color-error-tint)}.dashboard-inline-error__title[data-v-23638e4b]{font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.dashboard-inline-error__message[data-v-23638e4b]{font-size:var(--text-sm);color:var(--color-text-secondary)}.dashboard-panel-state[data-v-23638e4b]{display:flex;flex-direction:column;align-items:center;padding:40px 24px;text-align:center;color:var(--color-text-secondary)}@media (max-width: 767px){.dashboard-main-frame[data-v-23638e4b]{margin-left:0!important;padding-top:calc(var(--height-navbar) + 61px)!important}.dashboard-page-padding[data-v-23638e4b]{padding:16px!important}.dashboard-inline-error[data-v-23638e4b]{flex-direction:column;align-items:stretch}[data-v-23638e4b] .app-navbar{left:0;padding:0 16px}[data-v-23638e4b] .app-sidebar{top:var(--height-navbar);right:0;bottom:auto;width:100%;height:auto;border-right:none;border-bottom:1px solid var(--color-divider)}[data-v-23638e4b] .app-sidebar__brand{display:none}[data-v-23638e4b] .app-sidebar__menu{flex-direction:row;align-items:center;gap:8px;padding:10px 12px;overflow-x:auto}[data-v-23638e4b] .app-sidebar__item{flex-shrink:0}}.upload-dropzone[data-v-039e8f3e]{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-039e8f3e]:hover,.upload-dropzone.drag-over[data-v-039e8f3e]{border-color:var(--color-primary);background:var(--color-primary-tint)}.upload-dropzone.drag-over .dropzone-icon[data-v-039e8f3e]{transform:scale(1.15);color:var(--color-primary-light)}.dropzone-icon[data-v-039e8f3e]{transition:transform var(--transition-normal),color var(--transition-normal)}.progress-bar-track[data-v-039e8f3e]{width:100%;height:6px;background:var(--color-surface-low);border-radius:3px;overflow:hidden}.progress-bar-fill[data-v-039e8f3e]{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-039e8f3e]{background:linear-gradient(90deg,var(--color-success),hsl(142,50%,60%))}.progress-bar-fill.error[data-v-039e8f3e]{background:var(--color-error)}@keyframes pulse-border-039e8f3e{0%,to{border-color:var(--color-primary)}50%{border-color:var(--color-primary-light)}}.upload-dropzone.drag-over[data-v-039e8f3e]{animation:pulse-border-039e8f3e 1.2s ease-in-out infinite}.file-card[data-v-039e8f3e]{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-039e8f3e]:hover{background:var(--color-surface-high)}.video-preview-container[data-v-039e8f3e]{background:#000;border-radius:var(--border-radius-md);overflow:hidden;position:relative}@keyframes fade-in-039e8f3e{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in[data-v-039e8f3e]{animation:fade-in-039e8f3e .3s ease forwards}.chapter-media-upload-center[data-v-039e8f3e]{min-height:100vh}.upload-dropzone--disabled[data-v-039e8f3e]{opacity:.7;cursor:not-allowed}.page-action-btn[data-v-039e8f3e]:disabled,#btn-back[data-v-039e8f3e]:disabled{opacity:.6;cursor:not-allowed;transform:none}.chapter-context-row[data-v-039e8f3e],.chapter-context-stats[data-v-039e8f3e]{flex-wrap:wrap}@media (max-width: 1024px){.main-content[data-v-039e8f3e]{margin-left:72px;padding-left:24px;padding-right:24px;padding-bottom:24px}[data-v-039e8f3e] .app-sidebar{width:72px}[data-v-039e8f3e] .app-sidebar__brand{justify-content:center;padding:0}[data-v-039e8f3e] .app-sidebar__brand-text,[data-v-039e8f3e] .app-sidebar__label{display:none}[data-v-039e8f3e] .app-sidebar__item{justify-content:center;padding:10px}[data-v-039e8f3e] .app-navbar{left:72px}}@media (max-width: 640px){.main-content[data-v-039e8f3e]{margin-left:0;padding-left:16px;padding-right:16px;padding-bottom:16px}.page-header[data-v-039e8f3e]{flex-direction:column;align-items:flex-start;gap:16px}.page-header-actions[data-v-039e8f3e]{width:100%;flex-wrap:wrap}.page-header-actions>button[data-v-039e8f3e]{flex:1 1 auto}[data-v-039e8f3e] .app-sidebar{display:none}[data-v-039e8f3e] .app-navbar{left:0;padding:0 16px}[data-v-039e8f3e] .app-navbar__logo-text{display:none}[data-v-039e8f3e] .app-navbar__center{justify-content:flex-start}}.app-modal[data-v-f2086967]{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-f2086967]{opacity:1;visibility:visible;pointer-events:auto}.app-modal__backdrop[data-v-f2086967]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009}.app-modal__dialog[data-v-f2086967]{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-f2086967]{transform:translateY(0) scale(1)}.app-modal__header[data-v-f2086967]{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-f2086967]{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-f2086967]{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-f2086967]:hover{background:var(--overlay-hover);color:var(--color-text-primary)}.app-modal__body[data-v-f2086967]{padding:24px;overflow-y:auto;flex:1;min-height:0}.app-modal__footer[data-v-f2086967]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-divider);flex-shrink:0}.table-scroll[data-v-893e664c]{overflow-x:auto}.action-btns[data-v-893e664c]{display:flex;gap:8px;align-items:center}.action-btns button[data-v-893e664c]{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-893e664c]{background:var(--color-primary-tint);color:var(--color-primary-light)}.btn-edit[data-v-893e664c]:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-delete[data-v-893e664c]{background:var(--color-error-tint);color:var(--color-error)}.btn-delete[data-v-893e664c]:hover{background:var(--color-error);color:#fff}.btn-allocate[data-v-893e664c]{background:var(--color-info-tint);color:var(--color-info)}.btn-allocate[data-v-893e664c]:hover{background:var(--color-info);color:#fff}.breadcrumb[data-v-25842592]{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-25842592]{color:var(--color-text-disabled)}.filter-tabs[data-v-25842592]{display:flex;align-items:center;gap:12px;overflow-x:auto;min-width:0}.form-grid[data-v-25842592]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .form-full[data-v-25842592]{grid-column:1 / -1}.form-group label[data-v-25842592]{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:6px;font-weight:500}.form-group input[data-v-25842592],.form-group select[data-v-25842592]{width:100%;box-sizing:border-box}.form-group select[data-v-25842592]{-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}.ripple[data-v-25842592]{position:relative;overflow:hidden}[data-v-25842592] .class-management-modal .app-modal__dialog{max-width:560px}[data-v-25842592] .class-management-delete-modal .app-modal__dialog{max-width:420px}@media (max-width: 767px){.page-main[data-v-25842592]{margin-left:0!important}.page-inner[data-v-25842592]{padding:16px!important}.page-header-row[data-v-25842592]{flex-direction:column;align-items:stretch!important;gap:16px}.search-filter-bar[data-v-25842592]{flex-direction:column;align-items:stretch!important}.search-box[data-v-25842592]{max-width:none!important;width:100%}.form-grid[data-v-25842592]{grid-template-columns:1fr}[data-v-25842592] .app-sidebar{display:none}[data-v-25842592] .app-navbar{left:0;padding:0 16px}}@keyframes fadeInUp-4aec152d{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.allocation-row-enter[data-v-4aec152d]{animation:fadeInUp-4aec152d .25s ease-out forwards}@keyframes fadeInUp-18bb3d51{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in-up[data-v-18bb3d51]{animation:fadeInUp-18bb3d51 .3s ease-out forwards}.breadcrumb[data-v-18bb3d51]{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-18bb3d51]{color:var(--color-text-secondary)}.breadcrumb a[data-v-18bb3d51]:hover{color:var(--color-primary-light)}.breadcrumb-separator[data-v-18bb3d51]{color:var(--color-text-disabled)}.page-main--mobile[data-v-18bb3d51]{margin-left:0!important}[data-v-18bb3d51] .app-modal__dialog{width:min(90vw,520px)}@media (max-width: 767px){[data-v-18bb3d51] .app-navbar{left:0;padding:0 16px}[data-v-18bb3d51] .app-navbar__logo-text{display:none}[data-v-18bb3d51] .app-navbar__center{justify-content:flex-start}[data-v-18bb3d51] .app-navbar__breadcrumb{max-width:calc(100vw - 150px)}[data-v-18bb3d51] .app-modal__dialog{width:calc(100vw - 24px)}}.chapter-tree[data-v-26df5336]{display:flex;flex-direction:column;gap:2px}.chapter-node[data-v-26df5336]{border-radius:var(--border-radius-sm);transition:background var(--transition-fast)}.chapter-header[data-v-26df5336]{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-26df5336]:hover{background:var(--overlay-hover)}.chapter-header .chevron[data-v-26df5336]{transition:transform var(--transition-fast);flex-shrink:0}.chapter-header .chevron.collapsed[data-v-26df5336]{transform:rotate(-90deg)}.chapter-children[data-v-26df5336]{padding-left:24px;overflow:hidden;transition:max-height var(--transition-normal)}.lesson-item[data-v-26df5336]{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-26df5336]:hover{background:var(--overlay-hover)}.lesson-item.active[data-v-26df5336]{background:var(--color-primary-tint);border-left-color:var(--color-primary)}.lesson-item .lesson-title[data-v-26df5336]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-switch[data-v-26df5336]{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)}.toggle-switch.active[data-v-26df5336]{background:var(--color-primary);border-color:var(--color-primary)}.toggle-switch[data-v-26df5336]: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-26df5336]:after{transform:translate(20px)}@keyframes fadeIn-26df5336{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in[data-v-26df5336]{animation:fadeIn-26df5336 var(--transition-normal) ease forwards}.tree-panel[data-v-26df5336]{width:420px;min-width:360px;flex-shrink:0}.course-chapter-editor-page[data-v-26df5336]{min-height:100vh}button[data-v-26df5336]:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 1279px){.editor-columns[data-v-26df5336]{flex-direction:column}.tree-panel[data-v-26df5336]{width:100%!important;min-width:0!important}}@media (max-width: 767px){.page-header[data-v-26df5336]{flex-direction:column;align-items:stretch;gap:16px}.page-header>div[data-v-26df5336]:last-child{justify-content:flex-start;flex-wrap:wrap}}.course-card[data-v-5c879825]{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-5c879825]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.course-card-cover[data-v-5c879825]{width:100%;height:160px;object-fit:cover;display:block;filter:brightness(.85);transition:filter var(--transition-fast);background:var(--color-surface-low)}.course-card:hover .course-card-cover[data-v-5c879825]{filter:brightness(.95)}.course-card-body[data-v-5c879825]{padding:20px}.course-card-category[data-v-5c879825]{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-5c879825]{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-5c879825]{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-5c879825]{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--color-divider)}.course-library-main[data-v-b06b50f7]{margin-left:var(--width-sidebar);padding-top:var(--height-navbar);min-height:100vh}.breadcrumb[data-v-b06b50f7]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;font-size:var(--text-sm)}.breadcrumb-separator[data-v-b06b50f7]{color:var(--color-text-disabled)}.filter-tabs[data-v-b06b50f7]{display:flex;align-items:center;gap:12px;max-width:100%;overflow-x:auto;padding-bottom:2px}.form-group[data-v-b06b50f7]{margin-bottom:20px}.form-label[data-v-b06b50f7]{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.form-control[data-v-b06b50f7]{width:100%;box-sizing:border-box}.form-control[data-v-b06b50f7]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}textarea.form-control[data-v-b06b50f7]{resize:vertical;min-height:80px}.form-error[data-v-b06b50f7]{margin-top:8px;font-size:12px;color:var(--color-error)}.empty-state[data-v-b06b50f7]{text-align:center;padding:80px 20px}.empty-state-icon[data-v-b06b50f7]{width:64px;height:64px;margin:0 auto 20px;color:var(--color-text-disabled)}[data-v-b06b50f7] .course-editor-modal .app-modal__dialog{max-width:560px}[data-v-b06b50f7] .delete-course-modal .app-modal__dialog{max-width:420px}@media (max-width: 767px){.course-library-main[data-v-b06b50f7]{margin-left:0}[data-v-b06b50f7] .app-sidebar{display:none}[data-v-b06b50f7] .app-navbar{left:0;padding:0 16px}}.login-page[data-v-5aa371e1]{position:relative;min-height:100vh;overflow-x:hidden}.input-with-icon[data-v-5aa371e1]{position:relative}.input-with-icon input[data-v-5aa371e1]{width:100%;padding-left:44px}.input-with-icon .input-icon[data-v-5aa371e1]{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-5aa371e1]{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-5aa371e1]:hover{color:var(--color-text-primary);background:#ffffff14}.login-card[data-v-5aa371e1]{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-5aa371e1 .5s cubic-bezier(.4,0,.2,1) both}@keyframes fadeSlideUp-5aa371e1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.brand-text[data-v-5aa371e1]{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-5aa371e1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.login-bg img[data-v-5aa371e1]{width:100%;height:100%;object-fit:cover;opacity:.15;filter:brightness(.6)}.login-bg[data-v-5aa371e1]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#100e1bf2,#171429e6,#1c1320f2)}.error-msg[data-v-5aa371e1]{animation:shake-5aa371e1 .4s ease-in-out}@keyframes shake-5aa371e1{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}[data-v-5aa371e1]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input[data-v-5aa371e1]:focus-visible{outline:none}.copyright[data-v-5aa371e1]{animation:fadeIn-5aa371e1 .8s .3s cubic-bezier(.4,0,.2,1) both}@keyframes fadeIn-5aa371e1{0%{opacity:0}to{opacity:1}}@media (max-width: 640px){.login-card[data-v-5aa371e1]{max-width:100%;padding:36px 24px}}.course-card[data-v-a3f19107]{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-a3f19107]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.course-card[data-v-a3f19107]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.course-cover[data-v-a3f19107]{width:100%;height:160px;object-fit:cover;filter:brightness(.85);transition:filter var(--transition-fast)}.course-card:hover .course-cover[data-v-a3f19107]{filter:brightness(1)}.course-cover--placeholder[data-v-a3f19107]{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-surface-high) 0%,var(--color-surface-low) 100%);color:var(--color-primary-light)}.course-meta[data-v-a3f19107]{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-secondary)}.badge[data-v-a3f19107]{display:inline-flex;align-items:center;justify-content:center}.teacher-course-list-page[data-v-c2edea3b]{--teacher-sidebar-mobile-height: 58px}.teacher-course-list-main[data-v-c2edea3b]{min-height:100vh}.breadcrumb[data-v-c2edea3b]{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap}.breadcrumb-link[data-v-c2edea3b]{color:var(--color-text-secondary);transition:color var(--transition-fast)}.breadcrumb-link[data-v-c2edea3b]:hover{color:var(--color-primary-light)}.breadcrumb-separator[data-v-c2edea3b]{color:var(--color-text-disabled)}.skeleton-card[data-v-c2edea3b]{background:var(--color-surface-mid);border-radius:var(--border-radius-md);border:1px solid var(--color-border);overflow:hidden}.skeleton-cover[data-v-c2edea3b]{width:100%;height:160px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:shimmer-c2edea3b 1.5s infinite}.search-input-wrap[data-v-c2edea3b]{position:relative;max-width:320px}.search-input-wrap .search-icon[data-v-c2edea3b]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.search-input-wrap input[data-v-c2edea3b]{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-c2edea3b]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}@keyframes shimmer-c2edea3b{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 767px){.teacher-course-list-main[data-v-c2edea3b]{margin-left:0!important;padding-top:calc(var(--height-navbar) + var(--teacher-sidebar-mobile-height))!important}.search-input-wrap[data-v-c2edea3b]{max-width:none}[data-v-c2edea3b] .app-sidebar{width:100%;height:var(--teacher-sidebar-mobile-height);bottom:auto;border-right:none;border-bottom:1px solid var(--color-divider);z-index:110;overflow:hidden}[data-v-c2edea3b] .app-sidebar__brand{display:none}[data-v-c2edea3b] .app-sidebar__menu{flex-direction:row;align-items:center;padding:8px 12px;gap:8px;overflow-x:auto}[data-v-c2edea3b] .app-sidebar__item{flex:0 0 auto;padding:10px 14px}[data-v-c2edea3b] .app-navbar{left:0;top:var(--teacher-sidebar-mobile-height);padding:0 16px}[data-v-c2edea3b] .app-navbar__left{display:none}[data-v-c2edea3b] .app-navbar__center{justify-content:flex-start}[data-v-c2edea3b] .app-navbar__username{max-width:72px}}.badge[data-v-c7b3455e]{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:12px;font-size:var(--text-xs);font-weight:500;line-height:1.2;white-space:nowrap}.task-row[data-v-f5e0993e]{background:#ffffff05;border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:pointer}.task-row[data-v-f5e0993e]:hover{background:#ffffff0d}.badge[data-v-f5e0993e]{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:12px;font-size:var(--text-xs);font-weight:500;line-height:1.2;white-space:nowrap}.task-description[data-v-f5e0993e]{word-break:break-word}@media (max-width: 767px){.task-row[data-v-f5e0993e]{flex-wrap:wrap;align-items:flex-start}.task-row-action[data-v-f5e0993e]{width:100%;justify-content:center}}@keyframes fadeInUp-e27636ef{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in[data-v-e27636ef]{animation:fadeInUp-e27636ef var(--transition-slow) ease-out forwards}.animate-in[data-v-e27636ef]:nth-child(1){animation-delay:0ms}.animate-in[data-v-e27636ef]:nth-child(2){animation-delay:60ms}.animate-in[data-v-e27636ef]:nth-child(3){animation-delay:.12s}.animate-in[data-v-e27636ef]:nth-child(4){animation-delay:.18s}.page-shell[data-v-e27636ef]{min-height:100vh;overflow-x:hidden}.breadcrumb[data-v-e27636ef]{display:flex;align-items:center;gap:8px;margin-bottom:32px;color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap}.breadcrumb-separator[data-v-e27636ef]{color:var(--color-text-disabled)}.breadcrumb a[data-v-e27636ef]{color:var(--color-text-secondary);text-decoration:none}.breadcrumb a[data-v-e27636ef]:hover{color:var(--color-primary-light)}.card-grid[data-v-e27636ef]{display:grid;gap:var(--card-gap)}.badge[data-v-e27636ef]{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:12px;font-size:var(--text-xs);font-weight:500;line-height:1.2;white-space:nowrap}.ripple[data-v-e27636ef]{position:relative;overflow:hidden}.quick-link[data-v-e27636ef]{background:#ffffff08;border:1px solid var(--color-border);transition:all var(--transition-fast)}.quick-link[data-v-e27636ef]:hover{background:#ffffff0d}.status-message[data-v-e27636ef]{font-size:var(--text-sm)}.tasks-error[data-v-e27636ef]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}@media (max-width: 1100px){.card-grid[data-v-e27636ef]{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-grid[data-v-e27636ef]{grid-template-columns:1fr}.dashboard-main[data-v-e27636ef],.dashboard-side[data-v-e27636ef]{grid-column:span 1 / span 1}}@media (max-width: 767px){.main-frame[data-v-e27636ef]{margin-left:0!important}.page-content[data-v-e27636ef]{padding:20px 16px 24px}.header-row[data-v-e27636ef]{flex-direction:column;align-items:stretch}.header-action[data-v-e27636ef]{justify-content:center}.card-grid[data-v-e27636ef]{grid-template-columns:1fr!important}[data-v-e27636ef] .app-sidebar{transform:translate(-100%)}[data-v-e27636ef] .app-navbar{left:0;padding:0 16px}}.table-container[data-v-015f84b0]{padding:0;overflow:hidden}.teacher-avatar[data-v-015f84b0]{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border)}.action-btn[data-v-015f84b0]{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-015f84b0]:hover{background:#ffffff0d;color:var(--color-text-primary);border-color:var(--color-primary)}.action-btn.danger[data-v-015f84b0]:hover{background:var(--color-error-tint);color:var(--color-error);border-color:var(--color-error)}.data-table[data-v-015f84b0]{min-width:880px}@media (max-width: 767px){.table-container[data-v-015f84b0]{overflow:auto}}.page-shell[data-v-2f9d641e]{margin-left:var(--width-sidebar);padding-top:var(--height-navbar);min-height:100vh}.breadcrumb[data-v-2f9d641e]{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-sm);color:var(--color-text-secondary)}.breadcrumb a[data-v-2f9d641e]{color:var(--color-text-secondary)}.breadcrumb a[data-v-2f9d641e]:hover{color:var(--color-primary-light)}.breadcrumb-separator[data-v-2f9d641e]{color:var(--color-text-disabled)}.filter-tabs[data-v-2f9d641e]{display:flex;align-items:center;gap:12px;min-width:0}.teacher-form-grid[data-v-2f9d641e]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.teacher-form-grid .form-field-full[data-v-2f9d641e]{grid-column:1 / -1}.form-field label[data-v-2f9d641e]{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:8px;font-weight:500}.form-field input[data-v-2f9d641e],.form-field select[data-v-2f9d641e]{width:100%;box-sizing:border-box}.form-field .field-error[data-v-2f9d641e]{font-size:12px;color:var(--color-error);margin-top:4px;display:none}.form-field.has-error .field-error[data-v-2f9d641e]{display:block}.form-field.has-error input[data-v-2f9d641e],.form-field.has-error select[data-v-2f9d641e]{border-color:var(--color-error)}.confirm-content[data-v-2f9d641e]{padding:16px 0;color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.confirm-content strong[data-v-2f9d641e]{color:var(--color-text-primary)}[data-v-2f9d641e] .teacher-modal.app-modal .app-modal__dialog{max-width:620px}[data-v-2f9d641e] .delete-modal.app-modal .app-modal__dialog,[data-v-2f9d641e] .reset-modal.app-modal .app-modal__dialog{max-width:420px}@media (max-width: 1024px){.stats-grid[data-v-2f9d641e]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 767px){[data-v-2f9d641e] .app-sidebar{display:none}[data-v-2f9d641e] .app-navbar{left:0;padding:0 16px}.page-shell[data-v-2f9d641e]{margin-left:0}.page-inner[data-v-2f9d641e]{padding:16px}.page-header-row[data-v-2f9d641e],.toolbar[data-v-2f9d641e]{flex-direction:column;align-items:stretch}.filter-tabs[data-v-2f9d641e]{overflow-x:auto;padding-bottom:4px}.stats-grid[data-v-2f9d641e],.teacher-form-grid[data-v-2f9d641e]{grid-template-columns:1fr}}.profile-grid[data-v-ff5714cd]{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:var(--card-gap)}.avatar-upload-zone[data-v-ff5714cd]{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-ff5714cd]:hover,.avatar-upload-zone.dragover[data-v-ff5714cd]{border-color:var(--color-primary);background:var(--color-primary-tint)}.avatar-ring[data-v-ff5714cd]{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-ff5714cd]{border-radius:50%;border:3px solid var(--color-surface-mid);object-fit:cover}.password-toggle[data-v-ff5714cd]{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-ff5714cd]:hover{color:var(--color-text-primary)}.form-section+.form-section[data-v-ff5714cd]{margin-top:32px;padding-top:32px;border-top:1px solid var(--color-divider)}@keyframes fadeInUp-ff5714cd{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in[data-v-ff5714cd]{animation:fadeInUp-ff5714cd .4s cubic-bezier(.4,0,.2,1) both}.animate-in-delay-1[data-v-ff5714cd]{animation-delay:.08s}.animate-in-delay-2[data-v-ff5714cd]{animation-delay:.16s}.animate-in-delay-3[data-v-ff5714cd]{animation-delay:.24s}[data-v-ff5714cd] .app-modal__footer .app-modal__cancel{display:none}[data-v-ff5714cd] .app-modal__footer{justify-content:center}[data-v-ff5714cd] .app-modal__dialog{max-width:420px}@media (max-width: 1279px){.profile-grid[data-v-ff5714cd]{grid-template-columns:minmax(0,1fr)}}@media (max-width: 767px){.user-profile-page[data-v-ff5714cd]{margin-left:0;padding-left:16px;padding-right:16px;padding-bottom:16px}.page-header[data-v-ff5714cd]{flex-direction:column;align-items:flex-start;gap:16px}[data-v-ff5714cd] .app-sidebar{display:none}[data-v-ff5714cd] .app-navbar{left:0;padding:0 16px}}/*! 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-xl:36rem;--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)}.mt-\[1px\]{margin-top:1px}.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-10{height:calc(var(--spacing) * 10)!important}.\!h-20{height:calc(var(--spacing) * 20)!important}.\!h-24{height:calc(var(--spacing) * 24)!important}.\!h-\[120px\]{height:120px!important}.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}.min-h-0{min-height:0}.min-h-\[20px\]{min-height:20px}.min-h-screen{min-height:100vh}.\!w-20{width:calc(var(--spacing) * 20)!important}.\!w-\[120px\]{width:120px!important}.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-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[1400px\]{max-width:1400px}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-\[920px\]{min-width:920px}.min-w-max{min-width:max-content}.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))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.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}.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-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-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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-\[var\(--border-radius-md\)\]{border-radius:var(--border-radius-md)}.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-12{padding:calc(var(--spacing) * 12)}.p-\[var\(--spacing-page\)\]{padding:var(--spacing-page)}.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{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.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)}.pt-8{padding-top:calc(var(--spacing) * 8)}.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-left{text-align:left}.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-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-70:disabled{opacity:.7}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:self-auto{align-self:auto}.sm\:p-6{padding:calc(var(--spacing) * 6)}}@media (min-width:48rem){.md\:flex-1{flex:1}.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\:gap-4{gap:calc(var(--spacing) * 4)}.md\:gap-5{gap:calc(var(--spacing) * 5)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:self-auto{align-self:auto}.md\:text-right{text-align:right}}@media (min-width:64rem){.lg\:w-auto{width:auto}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\: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))}}}: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)}}
