.toast-container[data-v-d75cf6bc]{position:fixed;bottom:1.5rem;left:50%;z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;transform:translate(-50%)}.toast[data-v-d75cf6bc]{position:relative;display:flex;align-items:center;gap:.5rem;max-width:360px;padding:.6rem .6rem .6rem 1rem;overflow:hidden;border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:.78rem;line-height:1.4;pointer-events:auto}.toast__msg[data-v-d75cf6bc]{flex:1}.toast__action[data-v-d75cf6bc]{display:inline;padding:0;border:none;background:none;color:inherit;font-size:inherit;font-weight:600;text-decoration:underline;opacity:.9;cursor:pointer}.toast__action[data-v-d75cf6bc]:hover{opacity:1}.toast__action[data-v-d75cf6bc]:focus-visible{outline:1px solid currentColor;opacity:1;outline-offset:2px}.toast__close[data-v-d75cf6bc]{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;padding:0;border:none;border-radius:50%;background:var(--toast-close-bg);color:inherit;font-size:.9rem;line-height:1;cursor:pointer;transition:background .1s}.toast__close[data-v-d75cf6bc]:hover{background:var(--toast-close-bg-hover)}.toast__close[data-v-d75cf6bc]:focus-visible{outline:none;background:var(--toast-close-bg-hover);box-shadow:0 0 0 2px currentColor}.toast--error[data-v-d75cf6bc]{background:var(--error);color:var(--text-on-dark)}.toast--success[data-v-d75cf6bc]{background:var(--success);color:var(--text-on-dark)}.toast--warning[data-v-d75cf6bc]{background:var(--warning);color:var(--text-on-dark)}.toast--info[data-v-d75cf6bc]{border:1px solid var(--border);background:var(--surface-white);color:var(--text)}.toast--info .toast__close[data-v-d75cf6bc]{background:var(--surface-inset)}.toast--info .toast__close[data-v-d75cf6bc]:hover{background:var(--surface-dark)}.toast--info .toast__progress[data-v-d75cf6bc]{background:var(--border)}.toast__progress[data-v-d75cf6bc]{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--toast-progress-bg);animation-fill-mode:forwards;animation-name:toast-progress-d75cf6bc;animation-timing-function:linear;transform-origin:left}.toast__progress--value[data-v-d75cf6bc]{transition:transform .4s ease;animation:none}@keyframes toast-progress-d75cf6bc{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-active[data-v-d75cf6bc]{transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s}.toast-leave-active[data-v-d75cf6bc]{transition:transform .2s ease,opacity .15s}.toast-enter-from[data-v-d75cf6bc],.toast-leave-to[data-v-d75cf6bc]{opacity:0;transform:translateY(100%)}.confirm-enter-active[data-v-6b179c2b]{transition:opacity .15s}.confirm-enter-active .confirm__card[data-v-6b179c2b]{transition:transform .15s cubic-bezier(.16,1,.3,1)}.confirm-leave-active[data-v-6b179c2b]{transition:opacity .1s}.confirm-enter-from[data-v-6b179c2b]{opacity:0}.confirm-enter-from .confirm__card[data-v-6b179c2b]{transform:scale(.96)}.confirm-leave-to[data-v-6b179c2b]{opacity:0}.confirm[data-v-6b179c2b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--modal-backdrop)}.confirm__card[data-v-6b179c2b]{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:360px;padding:1.5rem;border-radius:var(--radius-lg);background:var(--surface-white);box-shadow:var(--shadow-lg)}.confirm__title[data-v-6b179c2b]{margin:0;color:var(--text);font-size:.92rem;font-weight:600}.confirm__message[data-v-6b179c2b]{margin:0;color:var(--text-secondary);font-size:.78rem;line-height:1.5}.confirm__footer[data-v-6b179c2b]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.confirm__btn[data-v-6b179c2b]{padding:.45rem .85rem;border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.confirm__btn[data-v-6b179c2b]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-focus)}.confirm__btn--cancel[data-v-6b179c2b]{background:var(--surface);color:var(--text-secondary)}.confirm__btn--cancel[data-v-6b179c2b]:hover{background:var(--surface-inset);color:var(--text)}.confirm__btn--danger[data-v-6b179c2b]{border-color:var(--error);background:var(--error);color:var(--text-on-dark)}.confirm__btn--danger[data-v-6b179c2b]:hover{background:var(--error-strong)}:root.dark-mode{--surface: #141416;--surface-white: #1c1c1f;--surface-dark: #3a3a3f;--surface-inset: #222225;--border: #2e2e32;--border-light: #252528;--text: #e8e6e1;--text-secondary: #a09d96;--text-muted: #6e6b64;--text-on-dark: #fff;--text-on-dark-muted: rgba(255, 255, 255, .55);--error: #e5614a;--error-bg: rgba(229, 97, 74, .12);--error-hover: rgba(229, 97, 74, .1);--error-strong: rgba(229, 97, 74, .9);--success: #3da36a;--success-bg: rgba(61, 163, 106, .12);--success-focus: rgba(61, 163, 106, .18);--success-strong: rgba(61, 163, 106, .9);--warning: #d4890a;--warning-bg: rgba(212, 137, 10, .1);--warning-strong: rgba(212, 137, 10, .9);--file-badge: #c4a96e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .15);--shadow-card: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .4);--shadow-hover: 0 2px 8px rgba(0, 0, 0, .25);--shadow-drop: 0 8px 24px rgba(0, 0, 0, .3);--shadow-lift: 0 3px 12px rgba(0, 0, 0, .25);--shadow-fade: rgba(0, 0, 0, .12);--overlay-bg: rgba(0, 0, 0, .6);--overlay-bg-hover: rgba(0, 0, 0, .8);--overlay-dim: rgba(0, 0, 0, .3);--overlay-sidebar: rgba(0, 0, 0, .5);--overlay-badge: rgba(0, 0, 0, .7);--overlay-icon-active: rgba(255, 255, 255, .5);--overlay-chip-active: rgba(255, 255, 255, .2);--overlay-on-primary: rgba(255, 255, 255, .25);--modal-backdrop: rgba(0, 0, 0, .7);--modal-close-bg: rgba(0, 0, 0, .6);--lightbox-bg: #0a0a0c;--toast-close-bg: rgba(255, 255, 255, .2);--toast-close-bg-hover: rgba(255, 255, 255, .35);--shimmer-highlight: rgba(255, 255, 255, .04);--toast-progress-bg: rgba(255, 255, 255, .2);--btn-accent-bg: var(--surface);--btn-accent-border: var(--border);--btn-accent-text: var(--text);--btn-accent-hover-bg: var(--surface-inset);--btn-accent-hover-border: var(--border);--btn-accent-hover-text: var(--text);color-scheme:dark}:root{--primary: #002157;--primary-deep: #001540;--primary-tint: rgba(0, 33, 87, .06);--primary-tint-subtle: rgba(0, 33, 87, .02);--primary-tint-medium: rgba(0, 33, 87, .04);--primary-focus: rgba(0, 33, 87, .08);--surface: #f6f5f2;--surface-white: #fff;--surface-dark: #d1cfcf;--surface-inset: #edeae4;--border: #e2dfd8;--border-light: #eeebe5;--text: #1a1a1a;--text-secondary: #5c5a55;--text-muted: #9b9790;--text-on-dark: #fff;--text-on-dark-muted: rgba(255, 255, 255, .55);--error: #c4432a;--error-bg: #fef2f0;--error-hover: rgba(196, 67, 42, .08);--error-strong: rgba(196, 67, 42, .9);--success: #2a7c4f;--success-bg: rgba(42, 124, 79, .08);--success-focus: rgba(42, 124, 79, .12);--success-strong: rgba(42, 124, 79, .9);--warning: #b45309;--warning-bg: rgba(180, 83, 9, .08);--warning-strong: rgba(180, 83, 9, .9);--file-badge: #e8d5b0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .2);--shadow-hover: 0 2px 8px rgba(0, 0, 0, .08);--shadow-drop: 0 8px 24px rgba(0, 0, 0, .12);--shadow-lift: 0 3px 12px rgba(0, 0, 0, .08);--shadow-fade: rgba(0, 0, 0, .04);--overlay-bg: rgba(0, 0, 0, .5);--overlay-bg-hover: rgba(0, 0, 0, .7);--overlay-dim: rgba(0, 0, 0, .15);--overlay-sidebar: rgba(0, 0, 0, .3);--overlay-badge: rgba(0, 0, 0, .6);--overlay-icon-active: rgba(255, 255, 255, .5);--overlay-chip-active: rgba(255, 255, 255, .2);--overlay-on-primary: rgba(255, 255, 255, .25);--modal-backdrop: rgba(0, 0, 0, .55);--modal-close-bg: rgba(0, 0, 0, .45);--lightbox-bg: #111113;--toast-close-bg: rgba(255, 255, 255, .2);--toast-close-bg-hover: rgba(255, 255, 255, .35);--shimmer-highlight: rgba(0, 0, 0, .04);--toast-progress-bg: rgba(255, 255, 255, .3);--btn-accent-bg: var(--primary);--btn-accent-border: var(--primary);--btn-accent-text: var(--text-on-dark);--btn-accent-hover-bg: var(--primary-deep);--btn-accent-hover-border: var(--primary-deep);--btn-accent-hover-text: var(--text-on-dark);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--z-shimmer: 1;--z-float: 10;--z-lora-expand: 20;--z-mobile-backdrop: 35;--z-mobile-sidebar: 40;--z-nav: 50;--z-brand-switcher: 60;--z-modal: 100;--z-toast: 200;--sidebar-wide: 380px;--sidebar-narrow: 260px;--bp-mobile: 640px;--bp-tablet: 900px}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:var(--surface);color:var(--text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}body.theme-transitioning{transition:background .2s,color .2s}a{color:inherit;text-decoration:none}input,select,button,textarea{font-family:inherit}*{scrollbar-width:thin;scrollbar-color:var(--surface-dark) transparent}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:3px;background:var(--surface-dark)}::-webkit-scrollbar-thumb:hover{background:var(--surface-dark)}.app{display:flex;flex-direction:column;height:100vh}.app__nav{z-index:var(--z-nav);flex-shrink:0;padding:0 1.5rem;background:var(--primary-deep);transition:background .2s}.app__content{flex:1;overflow:hidden}.app__nav-inner{display:flex;align-items:center;justify-content:space-between;height:3rem;margin:0 auto}.app__left{display:flex;flex:1;align-items:center;gap:.75rem}.app__sidebar-toggle{display:none;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:none;color:var(--text-on-dark-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.app__sidebar-toggle:hover{color:var(--text-on-dark)}.app__logo{display:flex;align-items:center;gap:.55rem;color:var(--text-on-dark);font-size:.8rem;font-weight:900;letter-spacing:.01em;transition:opacity .2s}.app__logo:hover{opacity:.85}.app__logo-mark{padding:.15rem .35rem;border-radius:2px;background:var(--text-on-dark);color:var(--primary);font-size:.65rem;font-weight:700;letter-spacing:.05em}.app__brand-switcher{position:relative}.app__brand-btn{display:flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border:1px solid var(--overlay-on-primary);border-radius:var(--radius-sm);background:none;color:var(--text-on-dark-muted);font-size:.7rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:color .15s,border-color .15s}.app__brand-btn:hover{border-color:var(--text-on-dark-muted);color:var(--text-on-dark)}.app__brand-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app__brand-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-brand-switcher);min-width:160px;margin:0;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-white);box-shadow:var(--shadow-drop);list-style:none}.app__brand-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.82rem;cursor:pointer}.app__brand-item:hover{background:var(--surface);color:var(--text)}.app__brand-item--active{background:var(--primary-tint);color:var(--text);font-weight:600}.app__brand-item-mark{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .25rem;border-radius:2px;background:var(--surface);font-size:.6rem;font-weight:700;letter-spacing:.05em}.app__nav-right{display:flex;flex:1;align-items:center;justify-content:flex-end;gap:.5rem}.app__desktop-only{display:flex;align-items:center;gap:.5rem}.app__settings-wrap{position:relative;display:none}.app__settings-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:none;color:var(--text-on-dark-muted);cursor:pointer;transition:color .15s}.app__settings-btn:hover{color:var(--text-on-dark)}.app__settings-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-brand-switcher);display:flex;flex-direction:column;min-width:180px;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-white);box-shadow:var(--shadow-drop)}.app__settings-label{padding:.3rem .55rem .15rem;color:var(--text-muted);font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.app__settings-opt{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .55rem;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-family:inherit;font-size:.78rem;text-align:left;cursor:pointer;transition:background .1s,color .1s}.app__settings-opt:hover{background:var(--surface);color:var(--text)}.app__settings-opt--active{background:var(--primary-tint);color:var(--text);font-weight:600}.app__settings-opt--danger{color:var(--error)}.app__settings-opt--danger:hover{background:var(--error-hover);color:var(--error)}.app__settings-balance{padding:.35rem .55rem;color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums}.app__settings-divider{height:1px;margin:.2rem .25rem;background:var(--border-light)}.app__balance{padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--overlay-on-primary);color:var(--text-on-dark);font-size:.7rem;font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums}.app__users-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:none;color:var(--text-on-dark-muted);text-decoration:none;cursor:pointer;transition:color .15s}.app__users-btn:hover,.app__users-btn--active{color:var(--text-on-dark)}.app__preview-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.25rem 1rem;background:var(--warning-bg);color:var(--warning);font-size:.68rem}.app__preview-banner strong{font-weight:600;text-transform:capitalize}.app__preview-banner button{padding:.1rem .4rem;border:1px solid var(--warning);border-radius:var(--radius-sm);background:none;color:var(--warning);font-family:inherit;font-size:.62rem;font-weight:500;cursor:pointer;transition:background .1s}.app__preview-banner button:hover{background:var(--warning-bg)}.app__preview-select{padding:.15rem .3rem;border:1px solid var(--overlay-on-primary);border-radius:var(--radius-sm);background:transparent;color:var(--text-on-dark-muted);font-family:inherit;font-size:.65rem;cursor:pointer;transition:border-color .15s,color .15s}.app__preview-select option{background:var(--surface-white);color:var(--text)}.app__preview-select:hover{border-color:var(--text-on-dark-muted);color:var(--text-on-dark)}.app__preview-select--active{border-color:var(--warning);color:var(--text-on-dark)}.app__theme-toggle,.app__logout{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:none;color:var(--text-on-dark-muted);cursor:pointer;transition:color .15s}.app__theme-toggle:hover,.app__logout:hover{color:var(--text-on-dark)}.app__nav-links{display:flex}.app__nav-link{position:relative;padding:.35rem .75rem .5rem;color:var(--text-on-dark-muted);font-size:.78rem;font-weight:400;letter-spacing:.01em;transition:color .15s}.app__nav-link:after{content:"";position:absolute;right:.75rem;bottom:2px;left:.75rem;height:2px;border-radius:1px;background:var(--text-on-dark);transform:scaleX(0);transition:transform .2s cubic-bezier(.16,1,.3,1)}.app__nav-link:hover,.app__nav-link--active{color:var(--text-on-dark)}.app__nav-link--active:after{transform:scaleX(1)}.app__backdrop{display:none}.view-enter-active,.view-leave-active{transition:opacity .15s ease}.view-enter-from,.view-leave-to{opacity:0}@media(max-width:900px){.app__backdrop{position:fixed;top:3rem;right:0;bottom:0;left:0;z-index:var(--z-mobile-backdrop);display:block;background:var(--overlay-sidebar);transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-to,.fade-leave-from{opacity:1}.app__nav{padding:0 .5rem}.app__sidebar-toggle{display:flex}.app__logo-text,.app__logo-mark,.app__desktop-only{display:none}.app__settings-wrap{display:block}.app__nav-link{padding:.35rem .5rem .5rem;font-size:.7rem}kbd{display:none!important}}.menu-enter-active{transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1)}.menu-leave-active{transition:opacity .1s,transform .1s}.menu-enter-from,.menu-leave-to{opacity:0;transform:translateY(-4px)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
