@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap";html{box-sizing:border-box;font-size:16px;line-height:var(--line-height-normal)}*,*:before,*:after{box-sizing:inherit;margin:0;padding:0}html,body,#root{font-family:var(--font-family-primary);background:var(--color-bg-snow-white);color:var(--color-text-primary);min-height:100vh;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}code,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);background:var(--color-interactive-hover);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);color:var(--color-text-primary)}pre{padding:var(--spacing-md);border-radius:var(--border-radius-md);overflow-x:auto;margin-bottom:var(--spacing-md)}a{color:var(--color-primary-electric-blue);text-decoration:none;transition:var(--transition-button-hover);border-bottom:1px solid transparent}a:hover,a:focus{color:var(--color-primary-deep-indigo);border-bottom-color:var(--color-primary-electric-blue)}a:focus{outline:2px solid var(--color-interactive-focus);outline-offset:2px;border-radius:var(--border-radius-sm)}button,input,select,textarea{font-family:var(--font-family-primary);font-size:var(--font-size-base);border-radius:var(--border-radius-base);border:1px solid var(--color-border-primary);outline:none;transition:var(--transition-input-focus)}button{cursor:pointer;background:var(--color-bg-snow-white);color:var(--color-text-primary);padding:var(--component-padding-sm) var(--component-padding-md);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-primary);transition:var(--transition-button-hover)}button:hover:not(:disabled){background:var(--color-interactive-hover);border-color:var(--color-border-accent)}button:focus{outline:2px solid var(--color-interactive-focus);outline-offset:2px}button:disabled{background:var(--color-interactive-disabled);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}input,select,textarea{padding:var(--component-padding-sm);background:var(--color-bg-snow-white);color:var(--color-text-primary);border:1px solid var(--color-border-primary);transition:var(--transition-input-focus)}input:focus,select:focus,textarea:focus{border-color:var(--color-interactive-focus);outline:2px solid var(--color-interactive-focus);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}img,video,svg{max-width:100%;height:auto;display:block}ul,ol{list-style:none;padding-left:0;margin-bottom:var(--spacing-md)}li{margin-bottom:var(--spacing-xs);color:var(--color-text-secondary)}:focus{outline:2px solid var(--color-interactive-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-inverse{color:var(--color-text-inverse)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--color-bg-snow-white)}.bg-secondary{background-color:var(--color-interactive-hover)}.bg-accent{background-color:var(--color-accent-aqua-cyan)}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-grid{display:grid}.d-none{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.border{border:1px solid var(--color-border-primary)}.border-0{border:0}.border-radius{border-radius:var(--border-radius-base)}.border-radius-sm{border-radius:var(--border-radius-sm)}.border-radius-lg{border-radius:var(--border-radius-lg)}.border-radius-full{border-radius:var(--border-radius-full)}.shadow-none{box-shadow:var(--shadow-none)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-base{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-deep-indigo) 0%,var(--color-primary-electric-blue) 100%);padding:var(--spacing-lg)}.login-card{background:var(--color-bg-snow-white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-2xl);padding:var(--spacing-3xl);width:100%;max-width:400px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-title{font-family:var(--font-family-secondary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary-deep-indigo);margin-bottom:var(--spacing-sm);letter-spacing:var(--letter-spacing-tight)}.login-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.login-error{background-color:#ff6b6b1a;border:1px solid var(--color-error);border-radius:var(--border-radius-base);padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.login-footer{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-secondary)}@media (max-width: 480px){.login-container{padding:var(--spacing-md)}.login-card{padding:var(--spacing-xl)}.login-title{font-size:var(--font-size-3xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);border:1px solid transparent;border-radius:var(--border-radius-base);cursor:pointer;transition:var(--transition-button-hover);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn--primary{background-color:var(--color-primary-electric-blue);color:var(--color-text-inverse);border-color:var(--color-primary-electric-blue)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-deep-indigo);border-color:var(--color-primary-deep-indigo);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--secondary{background-color:var(--color-bg-snow-white);color:var(--color-text-primary);border-color:var(--color-border-primary)}.btn--secondary:hover:not(:disabled){background-color:var(--color-interactive-hover);border-color:var(--color-border-accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn--secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-none)}.btn--accent{background-color:var(--color-accent-aqua-cyan);color:var(--color-primary-deep-indigo);border-color:var(--color-accent-aqua-cyan)}.btn--accent:hover:not(:disabled){background-color:var(--color-accent-aqua-cyan);filter:brightness(.9);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--accent:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--ghost{background-color:transparent;color:var(--color-text-primary);border-color:transparent}.btn--ghost:hover:not(:disabled){background-color:var(--color-interactive-hover);color:var(--color-text-primary);transform:translateY(-1px)}.btn--ghost:active:not(:disabled){transform:translateY(0)}.btn--danger{background-color:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){background-color:var(--color-error);filter:brightness(.9);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--danger:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--sm{padding:var(--component-padding-xs) var(--component-padding-sm);font-size:var(--font-size-sm);min-height:32px}.btn--md{padding:var(--component-padding-sm) var(--component-padding-md);font-size:var(--font-size-base);min-height:40px}.btn--lg{padding:var(--component-padding-md) var(--component-padding-lg);font-size:var(--font-size-lg);min-height:48px}.btn--disabled,.btn:disabled{background-color:var(--color-interactive-disabled);color:var(--color-text-muted);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.6;transform:none!important;box-shadow:none!important}.btn--loading{cursor:wait;pointer-events:none}.btn--loading .btn__content{opacity:.7}.btn--full-width{width:100%}.btn__content{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);transition:opacity var(--duration-fast) var(--easing-ease-out)}.btn__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--duration-fast) var(--easing-ease-out)}.btn__icon--left{margin-right:var(--spacing-xs)}.btn__icon--right{margin-left:var(--spacing-xs)}.btn:hover .btn__icon--left{transform:translate(-2px)}.btn:hover .btn__icon--right{transform:translate(2px)}.btn__loading-spinner{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn__loading-icon{width:16px;height:16px;animation:var(--transition-loading-spin)}.btn:focus{outline:2px solid var(--color-interactive-focus);outline-offset:2px}.btn--primary:focus{box-shadow:var(--shadow-focus-primary)}.btn--secondary:focus{box-shadow:var(--shadow-focus-primary)}.btn--accent:focus{box-shadow:var(--shadow-focus-success)}.btn--ghost:focus{box-shadow:var(--shadow-focus-primary)}.btn--danger:focus{box-shadow:var(--shadow-focus-error)}@media (max-width: 768px){.btn--lg{padding:var(--component-padding-sm) var(--component-padding-md);font-size:var(--font-size-base);min-height:40px}.btn--md{padding:var(--component-padding-xs) var(--component-padding-sm);font-size:var(--font-size-sm);min-height:36px}.btn--sm{padding:var(--spacing-xs) var(--component-padding-xs);font-size:var(--font-size-xs);min-height:28px}}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input__label{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--spacing-xs)}.input__required{color:var(--color-error);margin-left:var(--spacing-xs)}.input__container{position:relative;display:flex;align-items:center}.input{width:100%;font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary);background-color:var(--color-bg-snow-white);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-base);padding:var(--component-padding-sm);transition:var(--transition-input-focus);outline:none;box-sizing:border-box}.input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.input--sm{padding:var(--component-padding-xs);font-size:var(--font-size-sm);min-height:32px}.input--md{padding:var(--component-padding-sm);font-size:var(--font-size-base);min-height:40px}.input--lg{padding:var(--component-padding-md);font-size:var(--font-size-lg);min-height:48px}.input:not(.input--error):not(.input--success):focus{border-color:var(--color-interactive-focus);box-shadow:var(--shadow-focus-primary)}.input--success{border-color:var(--color-success)}.input--success:focus{border-color:var(--color-success);box-shadow:var(--shadow-focus-success)}.input--error{border-color:var(--color-error)}.input--error:focus{border-color:var(--color-error);box-shadow:var(--shadow-focus-error)}.input--disabled,.input:disabled{background-color:var(--color-interactive-disabled);color:var(--color-text-muted);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.6}.input--disabled::placeholder,.input:disabled::placeholder{color:var(--color-text-muted)}.input--readonly,.input[readonly]{background-color:var(--color-interactive-hover);color:var(--color-text-secondary);cursor:default}.input__icon{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;z-index:1;transition:color var(--duration-fast) var(--easing-ease-out)}.input__icon--left{left:var(--component-padding-sm)}.input__icon--right{right:var(--component-padding-sm)}.input--sm .input__icon{width:16px;height:16px}.input--md .input__icon{width:18px;height:18px}.input--lg .input__icon{width:20px;height:20px}.input:focus+.input__icon--right,.input:focus~.input__icon--right{color:var(--color-interactive-focus)}.input--success:focus+.input__icon--right,.input--success:focus~.input__icon--right{color:var(--color-success)}.input--error:focus+.input__icon--right,.input--error:focus~.input__icon--right{color:var(--color-error)}.input--has-left-icon{padding-left:calc(var(--component-padding-sm) + 18px + var(--spacing-xs))}.input--has-right-icon{padding-right:calc(var(--component-padding-sm) + 18px + var(--spacing-xs))}.input--sm.input--has-left-icon{padding-left:calc(var(--component-padding-xs) + 16px + var(--spacing-xs))}.input--sm.input--has-right-icon{padding-right:calc(var(--component-padding-xs) + 16px + var(--spacing-xs))}.input--lg.input--has-left-icon{padding-left:calc(var(--component-padding-md) + 20px + var(--spacing-xs))}.input--lg.input--has-right-icon{padding-right:calc(var(--component-padding-md) + 20px + var(--spacing-xs))}.input__feedback{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input__helper-text{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin:0}.input__error-text{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-error);margin:0}.input--full-width{width:100%}@media (max-width: 768px){.input--lg{padding:var(--component-padding-sm);font-size:var(--font-size-base);min-height:40px}.input--md{padding:var(--component-padding-xs);font-size:var(--font-size-sm);min-height:36px}.input--sm{padding:var(--spacing-xs);font-size:var(--font-size-xs);min-height:28px}.input--lg.input--has-left-icon{padding-left:calc(var(--component-padding-sm) + 18px + var(--spacing-xs))}.input--lg.input--has-right-icon{padding-right:calc(var(--component-padding-sm) + 18px + var(--spacing-xs))}.input--md.input--has-left-icon{padding-left:calc(var(--component-padding-xs) + 16px + var(--spacing-xs))}.input--md.input--has-right-icon{padding-right:calc(var(--component-padding-xs) + 16px + var(--spacing-xs))}.input--sm.input--has-left-icon{padding-left:calc(var(--spacing-xs) + 14px + var(--spacing-xs))}.input--sm.input--has-right-icon{padding-right:calc(var(--spacing-xs) + 14px + var(--spacing-xs))}}.layout{display:grid;grid-template-columns:var(--layout-sidebar-width) 1fr;min-height:100vh;background-color:var(--color-bg-snow-white)}.layout__sidebar{background-color:var(--color-bg-snow-white);border-right:1px solid var(--color-border-primary);display:flex;flex-direction:column;position:relative;transition:var(--transition-panel-collapse);overflow:hidden}.layout__sidebar--collapsed{width:60px;min-width:60px}.layout__sidebar--collapsed .layout__sidebar-content{opacity:0;pointer-events:none}.layout__sidebar-toggle{position:absolute;top:var(--spacing-md);right:var(--spacing-sm);width:32px;height:32px;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-base);background-color:var(--color-bg-snow-white);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-button-hover);z-index:10}.layout__sidebar-toggle:hover{background-color:var(--color-interactive-hover);color:var(--color-text-primary);border-color:var(--color-border-accent)}.layout__sidebar-toggle:focus{outline:2px solid var(--color-interactive-focus);outline-offset:2px}.layout__sidebar-content{padding:var(--layout-sidebar-padding);flex:1;overflow-y:auto;transition:opacity var(--duration-normal) var(--easing-ease-out)}.layout__main{background-color:var(--color-bg-snow-white);padding:var(--layout-section-padding);overflow-y:auto;display:flex;flex-direction:column}.layout__header{background-color:var(--color-bg-snow-white);border-bottom:1px solid var(--color-border-primary);padding:var(--spacing-md) var(--layout-section-padding);display:flex;align-items:center;justify-content:space-between;min-height:64px;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#fafafaf2}.layout__footer{background-color:var(--color-bg-snow-white);border-top:1px solid var(--color-border-primary);padding:var(--spacing-md) var(--layout-section-padding);display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-top:auto}@media (max-width: 1024px){.layout{grid-template-columns:240px 1fr}.layout__sidebar{width:240px;min-width:240px}}@media (max-width: 768px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.layout__sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--layout-sidebar-width);transform:translate(-100%);z-index:20;transition:transform var(--transition-panel-collapse)}.layout__sidebar--expanded{transform:translate(0)}.layout__sidebar--collapsed{transform:translate(-100%)}.layout__main{padding:var(--spacing-md)}.layout__header{padding:var(--spacing-sm) var(--spacing-md);min-height:56px}.layout__footer{padding:var(--spacing-sm) var(--spacing-md);min-height:40px}}@media (max-width: 480px){.layout__sidebar{width:100vw}.layout__main{padding:var(--spacing-sm)}.layout__header{padding:var(--spacing-xs) var(--spacing-sm);min-height:48px}.layout__footer{padding:var(--spacing-xs) var(--spacing-sm);min-height:36px}}[data-theme=dark] .layout{background-color:var(--color-bg-charcoal)}[data-theme=dark] .layout__sidebar{background-color:var(--color-bg-charcoal);border-right-color:var(--color-border-primary)}[data-theme=dark] .layout__main{background-color:var(--color-bg-charcoal)}[data-theme=dark] .layout__header{background-color:#202124f2;border-bottom-color:var(--color-border-primary)}[data-theme=dark] .layout__footer{background-color:var(--color-bg-charcoal);border-top-color:var(--color-border-primary)}[data-theme=dark] .layout__sidebar-toggle{background-color:var(--color-bg-charcoal);border-color:var(--color-border-primary);color:var(--color-text-secondary)}[data-theme=dark] .layout__sidebar-toggle:hover{background-color:var(--color-interactive-hover);color:var(--color-text-primary);border-color:var(--color-border-accent)}.theme-toggle{display:flex;align-items:center;gap:var(--spacing-xs);transition:var(--transition-button-hover)}.theme-toggle:hover{transform:scale(1.05)}.theme-toggle-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.theme-toggle svg{transition:transform var(--duration-fast) var(--easing-ease-out)}.theme-toggle:hover svg{transform:rotate(15deg)}.theme-toggle-full-width{width:100%;justify-content:center}.toast{position:relative;width:100%;max-width:480px;background:var(--toast-bg-color);border:1px solid var(--toast-border-color);border-radius:12px;box-shadow:0 4px 12px #00000026;overflow:hidden;font-family:var(--font-family-primary, "Inter", sans-serif);color:var(--toast-text-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1)}.toast-progress{position:absolute;top:0;left:0;right:0;height:3px;background:#fff3;overflow:hidden}.toast-progress-bar{height:100%;background:var(--toast-progress-color);transition:width linear}.toast-content{display:flex;align-items:flex-start;gap:12px;padding:8px 24px;position:relative}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--toast-text-color)}.toast-text{flex:1;min-width:0}.toast-title{font-size:14px;font-weight:600;line-height:1.4;margin-bottom:4px;color:var(--toast-text-color)}.toast-message{font-size:13px;line-height:1.4;color:var(--toast-text-color);opacity:.9}.toast-action{background:transparent;border:1px solid currentColor;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--toast-text-color);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;flex-shrink:0}.toast-action:hover{background:#ffffff1a;transform:translateY(-1px)}.toast-action:active{transform:translateY(0)}.toast-close{background:transparent;border:none;border-radius:6px;padding:4px;color:var(--toast-text-color);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7}.toast-close:hover{background:#ffffff1a;opacity:1;transform:scale(1.1)}.toast-close:active{transform:scale(1)}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast-container .toast{pointer-events:auto}@media (max-width: 768px){.toast{max-width:calc(100vw - 40px);margin:0 20px}.toast-container{top:10px;right:10px;left:10px}.toast-content{padding:6px 20px}.toast-title{font-size:13px}.toast-message{font-size:12px}}@media (prefers-color-scheme: dark){.toast{box-shadow:0 4px 12px #0000004d}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}.toast.toast-exiting{animation:toastSlideOut .25s cubic-bezier(.4,0,.2,1) forwards}.toast:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003;transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-action:focus-visible,.toast-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media (prefers-contrast: high){.toast{border-width:2px}.toast-progress{height:4px}}@media (prefers-reduced-motion: reduce){.toast,.toast-action,.toast-close{animation:none;transition:none}.toast:hover{transform:none}}:root{--color-primary-deep-indigo: #1B1F3B;--color-primary-electric-blue: #4C9AFF;--color-accent-aqua-cyan: #00FFC2;--color-accent-soft-coral: #FF6B6B;--color-bg-snow-white: #FAFAFA;--color-bg-charcoal: #202124;--color-neutral-cool-gray: #C3C8D0;--color-neutral-light-slate: #5F6A7D;--color-success: #00FFC2;--color-error: #FF6B6B;--color-error-bg: rgba(255, 107, 107, .1);--color-warning: #FFB800;--color-info: #4C9AFF;--color-text-primary: #0F1419;--color-text-secondary: #374151;--color-text-inverse: #FFFFFF;--color-text-muted: #6B7280;--color-border-primary: #C3C8D0;--color-border-secondary: #E5E7EB;--color-border-accent: #4C9AFF;--color-interactive-hover: #F3F4F6;--color-interactive-active: #E5E7EB;--color-interactive-focus: #4C9AFF;--color-interactive-disabled: #F9FAFB;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-secondary: "Space Grotesk", "Inter", monospace;--font-family-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0em;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--spacing-base: .25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--spacing-5xl: 8rem;--component-padding-xs: .5rem;--component-padding-sm: .75rem;--component-padding-md: 1rem;--component-padding-lg: 1.5rem;--component-padding-xl: 2rem;--layout-container-padding: 1.5rem;--layout-container-max-width: 1200px;--layout-section-padding: 2rem;--layout-section-margin: 1rem;--layout-sidebar-width: 280px;--layout-sidebar-padding: 1.5rem;--border-radius-none: 0;--border-radius-sm: .125rem;--border-radius-base: .25rem;--border-radius-md: .375rem;--border-radius-lg: .5rem;--border-radius-xl: .75rem;--border-radius-2xl: 1rem;--border-radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-focus-primary: 0 0 0 3px rgba(76, 154, 255, .1);--shadow-focus-error: 0 0 0 3px rgba(255, 107, 107, .1);--shadow-focus-success: 0 0 0 3px rgba(0, 255, 194, .1);--shadow-focus-warning: 0 0 0 3px rgba(255, 184, 0, .1);--easing-linear: linear;--easing-ease-in: cubic-bezier(.4, 0, 1, 1);--easing-ease-out: cubic-bezier(0, 0, .2, 1);--easing-ease-in-out: cubic-bezier(.4, 0, .2, 1);--easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: 0ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s;--transition-button-hover: all .15s cubic-bezier(.4, 0, .2, 1);--transition-button-active: all .1s cubic-bezier(.4, 0, .2, 1);--transition-input-focus: all .15s cubic-bezier(.4, 0, .2, 1);--transition-panel-expand: height .3s cubic-bezier(.4, 0, .2, 1);--transition-panel-collapse: height .25s cubic-bezier(.4, 0, .2, 1);--transition-modal-enter: all .2s cubic-bezier(.4, 0, .2, 1);--transition-modal-exit: all .15s cubic-bezier(.4, 0, .2, 1);--transition-page-enter: all .3s cubic-bezier(.4, 0, .2, 1);--transition-page-exit: all .25s cubic-bezier(.4, 0, .2, 1);--transition-loading-spin: transform 1s linear infinite;--transition-loading-pulse: opacity 1.5s ease-in-out infinite}[data-theme=dark]{--color-bg-snow-white: #1A1A1A;--color-bg-charcoal: #FAFAFA;--color-text-primary: #FFFFFF;--color-text-secondary: #E5E7EB;--color-text-inverse: #0F1419;--color-text-muted: #9CA3AF;--color-border-primary: #4B5563;--color-border-secondary: #374151;--color-interactive-hover: #2D3748;--color-interactive-active: #4A5568;--color-interactive-disabled: #2D3748;--color-error-bg: rgba(255, 107, 107, .15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .5)}.confirmation-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000040;z-index:9999;display:flex;align-items:center;justify-content:center}.confirmation-dialog{background:var(--color-bg-snow-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);padding:var(--spacing-xl);min-width:320px;max-width:90vw;color:var(--color-text-primary);display:flex;flex-direction:column;gap:var(--spacing-md);border:1px solid var(--color-border-primary)}.confirmation-message{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.confirmation-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.confirmation-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary-electric-blue);cursor:pointer}.confirmation-checkbox-label{font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.confirmation-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}@media (max-width: 768px){.confirmation-dialog{margin:var(--spacing-md);padding:var(--spacing-lg);min-width:auto;width:calc(100vw - var(--spacing-md) * 2)}.confirmation-message{font-size:var(--font-size-base)}.confirmation-actions{flex-direction:column;align-items:stretch}}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.graph-toolbar{position:fixed;left:16px;top:50%;transform:translateY(-50%);z-index:1000;height:auto;max-height:90vh}.graph-toolbar-nav{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-snow-white);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden;transition:all var(--duration-fast) var(--easing-ease-out)}.graph-toolbar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border-primary)}.graph-toolbar-logo{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all var(--duration-fast) var(--easing-ease-out)}.graph-toolbar-logo--expanded{width:32px}.graph-toolbar-toggle{padding:var(--spacing-xs)!important;border-radius:var(--border-radius-base)!important;background-color:var(--color-interactive-hover)!important;color:var(--color-text-primary)!important;border:none!important;min-width:auto!important;min-height:auto!important}.graph-toolbar-toggle:hover{background-color:var(--color-interactive-active)!important;transform:translateY(-1px)!important;box-shadow:var(--shadow-sm)!important}.graph-toolbar-content{flex:1;padding:var(--spacing-sm);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.toolbar-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.toolbar-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs)}.toolbar-section-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.toolbar-item{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-base);cursor:pointer;transition:all var(--duration-fast) var(--easing-ease-out);color:var(--color-text-primary);background-color:transparent;border:1px solid transparent;min-width:44px}.toolbar-item:hover:not(.toolbar-item--disabled){background-color:var(--color-interactive-hover);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.toolbar-item--active{background-color:var(--color-primary-electric-blue);color:var(--color-text-inverse);border-color:var(--color-primary-electric-blue);box-shadow:var(--shadow-sm)}.toolbar-item--active:hover{background-color:var(--color-primary-deep-indigo);border-color:var(--color-primary-deep-indigo);transform:translateY(-1px);box-shadow:var(--shadow-md)}.toolbar-item--disabled{opacity:.5;cursor:not-allowed;color:var(--color-text-muted)}.toolbar-item--disabled:hover{transform:none;box-shadow:none;background-color:transparent}.toolbar-item--stop-generation{border:1px solid var(--color-semantic-error)!important;background-color:#ff6b6b1a!important;box-shadow:0 0 0 1px #ff6b6b4d!important}.toolbar-item--stop-generation:hover{background-color:#ff6b6b33!important;box-shadow:0 0 0 2px #ff6b6b66!important;transform:translateY(-1px)!important}.toolbar-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;transition:transform var(--duration-fast) var(--easing-ease-out)}.toolbar-item:hover .toolbar-item-icon{transform:scale(1.1)}.toolbar-item-text{overflow:hidden;transition:opacity var(--duration-fast) var(--easing-ease-out),visibility var(--duration-fast) var(--easing-ease-out),width var(--duration-fast) var(--easing-ease-out),margin-left var(--duration-fast) var(--easing-ease-out);white-space:nowrap;margin-left:0;font-size:var(--font-size-sm);width:0;opacity:0;visibility:hidden;flex-shrink:0}.toolbar-item-text--expanded{width:120px;opacity:1;visibility:visible;margin-left:var(--spacing-sm)}.graph-toolbar-footer{border-top:1px solid var(--color-border-primary);padding:var(--spacing-sm)}@media (max-width: 768px){.graph-toolbar{left:8px;right:8px;top:auto;bottom:16px;transform:none;max-height:60vh}.graph-toolbar-nav{flex-direction:row;align-items:center;padding:var(--spacing-sm)}.graph-toolbar-header{border-bottom:none;border-right:1px solid var(--color-border-primary);padding:var(--spacing-sm)}.graph-toolbar-content{flex-direction:row;padding:var(--spacing-sm);overflow-x:auto;overflow-y:hidden}.toolbar-section,.toolbar-section-items{flex-direction:row;gap:var(--spacing-xs)}.toolbar-item{flex-direction:column;padding:var(--spacing-xs);text-align:center;min-width:60px}.toolbar-item-text{margin-left:0!important;margin-top:var(--spacing-xs)!important;font-size:var(--font-size-xs)!important;width:0!important;opacity:0!important;visibility:hidden!important;display:none!important}.toolbar-item-text--expanded{width:auto!important;opacity:1!important;visibility:visible!important;display:inline!important}.graph-toolbar-footer{border-top:none;border-left:1px solid var(--color-border-primary);padding:var(--spacing-sm)}}.graph-toolbar-content::-webkit-scrollbar{width:4px}.graph-toolbar-content::-webkit-scrollbar-track{background:transparent}.graph-toolbar-content::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--border-radius-base)}.graph-toolbar-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-accent)}.toolbar-item:focus{outline:2px solid var(--color-interactive-focus);outline-offset:2px}.graph-toolbar-toggle:focus{outline:2px solid var(--color-interactive-focus);outline-offset:2px}
