.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-weight:500;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;outline:none;white-space:nowrap}.button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button--small{padding:.375rem .75rem;font-size:.875rem}.button--medium{padding:.5rem 1rem;font-size:.9375rem}.button--large{padding:.75rem 1.5rem;font-size:1rem}.button--primary{background:var(--primary-color);color:#fff}.button--primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.button--secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.button--secondary:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary-color)}.button--danger{background:var(--danger-color);color:#fff}.button--danger:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-1px)}.button--ghost{background:transparent;color:var(--text-secondary)}.button--ghost:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.button--full-width{width:100%}.button--loading{position:relative;color:transparent}.button__spinner{position:absolute;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.input-wrapper{display:flex;flex-direction:column;gap:.5rem}.input-wrapper--full-width{width:100%}.input-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:.5rem;outline:none;transition:all .2s ease}.input--with-icon{padding-left:2.5rem}.input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.input::placeholder{color:var(--text-tertiary)}.input:disabled{opacity:.6;cursor:not-allowed}.input-wrapper--error .input{border-color:var(--danger-color)}.input-wrapper--error .input:focus{box-shadow:0 0 0 3px #ef44441a}.input-icon{position:absolute;left:.75rem;display:flex;align-items:center;color:var(--text-secondary);pointer-events:none}.input-icon svg{width:1.125rem;height:1.125rem}.input-error{font-size:.8125rem;color:var(--danger-color)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal{background:var(--background);border-radius:1rem;box-shadow:0 20px 60px #0000004d;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal--small{width:100%;max-width:400px}.modal--medium{width:100%;max-width:600px}.modal--large{width:100%;max-width:900px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.modal__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.modal__close:hover{background:var(--hover-bg);color:var(--text-primary)}.modal__content{flex:1;overflow-y:auto;padding:1.5rem}.modal__content::-webkit-scrollbar{width:8px}.modal__content::-webkit-scrollbar-track{background:var(--surface)}.modal__content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.modal__content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-spinner__circle{border-radius:50%;border:3px solid var(--border);border-top-color:var(--primary-color);animation:spin .8s linear infinite}.loading-spinner--small .loading-spinner__circle{width:1.5rem;height:1.5rem;border-width:2px}.loading-spinner--medium .loading-spinner__circle{width:2.5rem;height:2.5rem}.loading-spinner--large .loading-spinner__circle{width:4rem;height:4rem;border-width:4px}.loading-spinner__message{margin:0;font-size:.875rem;color:var(--text-secondary)}.loading-spinner-fullscreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--background);z-index:9999}.toast{display:flex;align-items:center;gap:.75rem;min-width:300px;max-width:500px;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;box-shadow:0 10px 40px #0000001a;animation:slideInRight .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast__icon{display:flex;align-items:center;flex-shrink:0}.toast--success{border-left:4px solid var(--success-color)}.toast--success .toast__icon{color:var(--success-color)}.toast--error{border-left:4px solid var(--danger-color)}.toast--error .toast__icon{color:var(--danger-color)}.toast--info{border-left:4px solid var(--primary-color)}.toast--info .toast__icon{color:var(--primary-color)}.toast__message{flex:1;margin:0;font-size:.9375rem;color:var(--text-primary)}.toast__close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.toast__close:hover{background:var(--hover-bg);color:var(--text-primary)}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form__error{padding:.875rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:var(--danger-color);font-size:.875rem;text-align:center}.auth-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.auth-screen__gradient{position:absolute;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);animation:gradientShift 15s ease infinite;background-size:200% 200%}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.auth-screen__content{position:relative;z-index:1;width:100%;max-width:450px;padding:2rem}.auth-screen__card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1.5rem;padding:2.5rem;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .5s ease}.dark-mode .auth-screen__card{background:#1e293bf2}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-screen__header{text-align:center;margin-bottom:2rem}.auth-screen__title{margin:0 0 .5rem;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-screen__subtitle{margin:0;font-size:.9375rem;color:var(--text-secondary)}.auth-screen__toggle{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center}.auth-screen__toggle-text{font-size:.875rem;color:var(--text-secondary)}.auth-screen__toggle-button{margin-left:.5rem;background:none;border:none;color:#667eea;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s ease}.auth-screen__toggle-button:hover{opacity:.8;text-decoration:underline}@media(max-width:640px){.auth-screen__content{padding:1rem}.auth-screen__card{padding:2rem 1.5rem}.auth-screen__title{font-size:1.75rem}}.settings-panel{display:flex;flex-direction:column;gap:2rem}.settings-panel__section{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.settings-panel__section:last-child{border-bottom:none;padding-bottom:0}.settings-panel__section-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.settings-panel__field{display:flex;flex-direction:column;gap:.5rem}.settings-panel__label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.settings-panel__input,.settings-panel__select{width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:.5rem;outline:none;transition:all .2s ease}.settings-panel__input:focus,.settings-panel__select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.settings-panel__select{cursor:pointer}.settings-panel__api-key-input{position:relative;display:flex;align-items:center}.settings-panel__api-key-input .settings-panel__input{padding-right:3rem}.settings-panel__toggle-button{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.settings-panel__toggle-button:hover{background:var(--hover-bg);color:var(--text-primary)}.settings-panel__checkbox-label{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;color:var(--text-primary);cursor:pointer}.settings-panel__checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--primary-color)}.settings-panel__hint{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.settings-panel__hint a{color:var(--primary-color);text-decoration:none}.settings-panel__hint a:hover{text-decoration:underline}.settings-panel__actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.settings-panel__loading{display:flex;align-items:center;justify-content:center;padding:2rem}.settings-panel__model-loading{padding:.5rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.settings-panel__model-info{margin-top:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem}.settings-panel__model-info-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.settings-panel__model-info-header svg{color:var(--primary-color)}.settings-panel__model-details{display:flex;flex-direction:column;gap:.625rem}.settings-panel__model-detail{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.settings-panel__model-detail span:first-child{color:var(--text-secondary);font-weight:500}.settings-panel__model-detail span:last-child{color:var(--text-primary);font-weight:600}.settings-panel__model-description{margin:0 0 .75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.settings-panel__model-capability{display:inline-block;padding:.125rem .5rem;background:var(--primary-color);color:#fff;font-size:.75rem;font-weight:600;border-radius:.25rem;text-transform:capitalize}.context-files{display:flex;flex-direction:column;gap:1.5rem}.context-files__header{display:flex;flex-direction:column;gap:1rem}.context-files__description{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.context-files__token-info{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem}.context-files__token-label{font-size:.875rem;color:var(--text-secondary)}.context-files__token-count{font-size:.875rem;font-weight:600;color:var(--primary-color)}.context-files__error{display:flex;align-items:center;gap:.5rem;padding:.875rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:var(--danger-color);font-size:.875rem}.context-files__upload{display:flex;flex-direction:column}.context-files__file-input{display:none}.context-files__list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.context-files__item{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;transition:all .2s ease}.context-files__item:hover{border-color:var(--primary-color)}.context-files__item-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.context-files__item-info{flex:1;min-width:0}.context-files__item-name{font-size:.9375rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-files__item-meta{font-size:.8125rem;color:var(--text-tertiary);margin-top:.125rem}.context-files__item-remove{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex-shrink:0;background:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.context-files__item-remove:hover{background:#ef44441a;color:var(--danger-color)}.context-files__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 2rem;text-align:center;color:var(--text-tertiary)}.context-files__empty svg{opacity:.5}.context-files__empty p{margin:0;font-size:.9375rem}.context-files__empty-hint{font-size:.875rem;color:var(--text-secondary)}.context-files__list::-webkit-scrollbar{width:8px}.context-files__list::-webkit-scrollbar-track{background:var(--surface)}.context-files__list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.context-files__list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);height:4rem;flex-shrink:0}.header__left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.header__menu-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:transparent;border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.header__menu-button:hover{background:var(--hover-bg);color:var(--text-primary)}.header__project-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;color:var(--text-secondary)}.header__project-name{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__project-description{font-size:.875rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none}.header__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header__action-button{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:transparent;border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.header__action-button:hover{background:var(--hover-bg);color:var(--text-primary)}.header__badge{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;background:var(--primary-color);color:#fff;font-size:.625rem;font-weight:600;border-radius:.5rem}@media(min-width:768px){.header__project-description{display:block}}@media(max-width:640px){.header{padding:.75rem 1rem}.header__project-name,.header__title{font-size:1rem}}.project-form{display:flex;flex-direction:column;gap:1.5rem}.project-form__error{padding:.875rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:var(--danger-color);font-size:.875rem}.project-form__field{display:flex;flex-direction:column;gap:.5rem}.project-form__label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.project-form__textarea{width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;line-height:1.5;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:.5rem;outline:none;resize:vertical;transition:all .2s ease}.project-form__textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.project-form__textarea::placeholder{color:var(--text-tertiary)}.project-form__hint{margin:0;font-size:.8125rem;color:var(--text-secondary)}.project-form__actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.project-settings{display:flex;flex-direction:column;gap:2rem}.project-settings__section{display:flex;flex-direction:column;gap:1rem}.project-settings__section-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.project-settings__section-description{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.project-settings__field{display:flex;flex-direction:column;gap:.5rem}.project-settings__label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.project-settings__select{width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:.5rem;outline:none;cursor:pointer;transition:all .2s ease}.project-settings__select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.project-settings__slider{width:100%;height:.5rem;background:var(--border);border-radius:.25rem;outline:none;-webkit-appearance:none;appearance:none}.project-settings__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.25rem;height:1.25rem;background:var(--primary-color);border-radius:50%;cursor:pointer;transition:transform .2s ease}.project-settings__slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.project-settings__slider::-moz-range-thumb{width:1.25rem;height:1.25rem;background:var(--primary-color);border:none;border-radius:50%;cursor:pointer;transition:transform .2s ease}.project-settings__slider::-moz-range-thumb:hover{transform:scale(1.1)}.project-settings__hint{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.project-settings__model-loading{padding:.625rem .875rem;text-align:center;color:var(--text-secondary);font-size:.875rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem}.project-settings__actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border)}.project-item{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.project-item:hover{background:var(--hover-bg)}.project-item--active{background:var(--primary-color);color:#fff}.project-item--active:hover{background:var(--primary-hover)}.project-item__icon{display:flex;align-items:center;flex-shrink:0;color:inherit;opacity:.8}.project-item--active .project-item__icon{opacity:1}.project-item__content{flex:1;min-width:0}.project-item__name{font-size:.9375rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item--active .project-item__name{color:#fff}.project-item__count{font-size:.75rem;color:var(--text-tertiary);margin-top:.125rem}.project-item--active .project-item__count{color:#fffc}.project-item__menu-wrapper{position:relative}.project-item__menu-button{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;opacity:0;transition:all .2s ease}.project-item:hover .project-item__menu-button{opacity:1}.project-item__menu-button:hover{background:#0000001a}.project-item--active .project-item__menu-button{color:#fff}.project-item--active .project-item__menu-button:hover{background:#fff3}.project-item__menu-overlay{position:fixed;inset:0;z-index:10}.project-item__menu{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:150px;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 10px 40px #00000026;padding:.25rem;z-index:20;animation:fadeIn .15s ease}.project-item__menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:.375rem;font-size:.875rem;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .15s ease}.project-item__menu-item:hover{background:var(--hover-bg)}.project-item__menu-item--danger{color:var(--danger-color)}.project-item__menu-item--danger:hover{background:#ef44441a}.project-list{display:flex;flex-direction:column;height:100%}.project-list__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .75rem}.project-list__title{margin:0;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.project-list__add-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:transparent;border:none;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.project-list__add-button:hover{background:var(--hover-bg);color:var(--primary-color)}.project-list__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1rem;text-align:center;color:var(--text-tertiary)}.project-list__empty svg{opacity:.5}.project-list__empty p{margin:0;font-size:.875rem}.project-list__items{flex:1;overflow-y:auto;padding:.5rem}.project-list__items::-webkit-scrollbar{width:6px}.project-list__items::-webkit-scrollbar-track{background:transparent}.project-list__items::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.project-list__items::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:40;animation:fadeIn .2s ease}@media(min-width:768px){.sidebar-overlay{display:none}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:50;transform:translate(-100%);transition:transform .3s ease}.sidebar--open{transform:translate(0)}@media(min-width:768px){.sidebar{transform:translate(0)}.sidebar:not(.sidebar--open){transform:translate(-100%)}}.sidebar__content{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar__footer{display:flex;align-items:center;gap:.75rem;padding:1rem;border-top:1px solid var(--border);background:var(--background)}.sidebar__user{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.sidebar__user-avatar{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0}.sidebar__user-info{flex:1;min-width:0}.sidebar__user-name{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__logout-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.sidebar__logout-button:hover{background:#ef44441a;color:var(--danger-color)}.sidebar__content::-webkit-scrollbar{width:6px}.sidebar__content::-webkit-scrollbar-track{background:transparent}.sidebar__content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar__content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media(max-width:767px){.sidebar{width:85vw;max-width:320px}}.app-layout{display:flex;height:100vh;overflow:hidden;background:var(--background)}.app-layout__main{flex:1;display:flex;flex-direction:column;min-width:0;transition:margin-left .3s ease}@media(min-width:768px){.app-layout__main{margin-left:280px}.app-layout__main--sidebar-closed{margin-left:0}}.app-layout__content{flex:1;overflow:hidden}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{height:100%}:root{--primary-color: #4f46e5;--primary-hover: #4338ca;--background: #ffffff;--surface: #f8fafc;--hover-bg: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border: #e2e8f0;--success-color: #10b981;--danger-color: #ef4444;--danger-hover: #dc2626;--warning-color: #f59e0b;--info-color: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--font-size-base: 16px}:root[data-font-size=small]{--font-size-base: 14px}:root[data-font-size=large]{--font-size-base: 18px}.dark-mode{--primary-color: #6366f1;--primary-hover: #4f46e5;--background: #0f172a;--surface: #1e293b;--hover-bg: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border: #334155;--success-color: #10b981;--danger-color: #ef4444;--danger-hover: #dc2626;--warning-color: #f59e0b;--info-color: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);color:var(--text-primary);background:var(--background);transition:background .3s ease,color .3s ease}code{font-family:Courier New,Courier,monospace}::selection{background:var(--primary-color);color:#fff}::-moz-selection{background:var(--primary-color);color:#fff}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease}.slide-in{animation:slideIn .3s ease}.loading{pointer-events:none;opacity:.6}.disabled{pointer-events:none;opacity:.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:640px){:root{--font-size-base: 15px}:root[data-font-size=small]{--font-size-base: 13px}:root[data-font-size=large]{--font-size-base: 17px}}
