.company-selector{position:relative;width:100%;max-width:280px}.company-selector__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:4px 16px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all .1s ease}.company-selector__trigger:hover{border-color:var(--color-border-secondary);background-color:var(--color-bg-hover)}.company-selector__trigger:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.company-selector__icon{width:18px;height:18px;color:var(--color-text-tertiary);flex-shrink:0}.company-selector__value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-selector__arrow{width:20px;height:20px;color:var(--color-text-tertiary);transition:transform .1s ease;flex-shrink:0}.company-selector__arrow--open{transform:rotate(180deg)}.company-selector__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:6px;box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:100;animation:fadeIn .1s ease forwards}.company-selector__empty{padding:16px;text-align:center;color:var(--color-text-tertiary);font-size:.875rem}.company-selector__option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;text-align:left;color:var(--color-text-primary);font-size:.875rem;transition:background-color .1s ease}.company-selector__option:hover{background-color:var(--color-bg-hover)}.company-selector__option--selected{background-color:var(--color-primary-light);color:var(--color-primary)}.company-selector__option--selected .company-selector__option-icon{color:var(--color-primary)}.company-selector__option-icon{width:16px;height:16px;color:var(--color-text-tertiary);flex-shrink:0}.company-selector__option-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.subcompany-selector{position:relative;width:100%;max-width:280px}.subcompany-selector__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:4px 16px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all .1s ease}.subcompany-selector__trigger:hover{border-color:var(--color-border-secondary);background-color:var(--color-bg-hover)}.subcompany-selector__trigger:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.subcompany-selector__trigger:disabled{opacity:.6;cursor:not-allowed}.subcompany-selector__icon{width:18px;height:18px;color:var(--color-text-tertiary);flex-shrink:0}.subcompany-selector__label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subcompany-selector__chevron{width:20px;height:20px;color:var(--color-text-tertiary);transition:transform .1s ease;flex-shrink:0}.subcompany-selector__chevron--open{transform:rotate(180deg)}.subcompany-selector__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:6px;box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:100;list-style:none;padding:0;margin:0;animation:subcompanyFadeIn .1s ease forwards}.subcompany-selector__option{display:flex;flex-direction:column;width:100%;padding:8px 16px;text-align:left;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background-color .1s ease}.subcompany-selector__option:hover{background-color:var(--color-bg-hover)}.subcompany-selector__option--selected{background-color:var(--color-primary-light)}.subcompany-selector__option--selected .subcompany-selector__option-name{color:var(--color-primary);font-weight:500}.subcompany-selector__option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subcompany-selector__option-description{font-size:.75rem;color:var(--color-text-tertiary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes subcompanyFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.top-toolbar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);gap:16px}.top-toolbar__brand{display:flex;align-items:center;gap:8px;min-width:200px}.top-toolbar__logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-weight:700;font-size:.875rem;border-radius:6px}.top-toolbar__title{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:1rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.top-toolbar__center{flex:1;display:flex;justify-content:center;gap:4px;max-width:400px}.top-toolbar__actions{display:flex;align-items:center;gap:8px;min-width:200px;justify-content:flex-end}.top-toolbar__action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:var(--color-text-secondary);transition:all .1s ease}.top-toolbar__action-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.top-toolbar__action-btn--logout:hover{background-color:var(--color-error-light);color:var(--color-error)}.top-toolbar__action-btn svg{width:20px;height:20px}.top-toolbar__user{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;background-color:var(--color-bg-tertiary)}.top-toolbar__user-icon{width:24px;height:24px;color:var(--color-text-secondary)}.top-toolbar__user-name{font-size:.8125rem;color:var(--color-text-primary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-toolbar__user-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;background-color:var(--color-primary);color:var(--color-text-inverse)}.left-panel{width:56px;min-width:56px;background-color:var(--color-bg-primary);border-right:1px solid var(--color-border-primary);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.left-panel__nav{display:flex;flex-direction:column;padding:8px 0;gap:2px}.left-panel__item{position:relative}.left-panel__link{display:flex;align-items:center;justify-content:center;width:100%;height:44px;color:var(--color-text-tertiary);transition:all .1s ease;position:relative}.left-panel__link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background-color:var(--color-primary);border-radius:0 4px 4px 0;transition:height .1s ease}.left-panel__link svg{width:22px;height:22px}.left-panel__link:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.left-panel__link:hover .left-panel__tooltip{opacity:1;visibility:visible;transform:translate(0)}.left-panel__link--active{color:var(--color-primary);background-color:var(--color-primary-light)}.left-panel__link--active:before{height:24px}.left-panel__tooltip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(-4px);padding:4px 8px;background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;opacity:0;visibility:hidden;transition:all .1s ease;z-index:700;box-shadow:var(--shadow-md);pointer-events:none}.right-panel{width:280px;min-width:280px;background-color:var(--color-panel-bg);border-left:1px solid var(--color-border-primary);display:flex;flex-direction:column;overflow:hidden}.right-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--color-border-primary);background-color:var(--color-panel-header);min-height:44px}.right-panel__title{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);margin:0}.right-panel__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:var(--color-text-tertiary);transition:all .1s ease}.right-panel__close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.right-panel__close svg{width:18px;height:18px}.right-panel__content{flex:1;overflow-y:auto;padding:0}.right-panel__empty{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;padding:16px}.right-panel__empty p{color:var(--color-text-tertiary);font-size:.875rem}.right-panel__details{font-size:.75rem}.right-panel__details pre{background-color:var(--color-bg-tertiary);padding:8px;border-radius:6px;overflow-x:auto;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.6875rem;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.formatted-details{display:flex;flex-direction:column;height:100%}.formatted-details--empty{display:flex;align-items:center;justify-content:center}.formatted-details--empty p{color:var(--color-text-tertiary)}.formatted-details__toolbar{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid var(--color-border-primary);background-color:var(--color-bg-secondary)}.formatted-details__toggle{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);background-color:transparent;border:1px solid transparent;transition:all .1s ease}.formatted-details__toggle svg{width:14px;height:14px}.formatted-details__toggle:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.formatted-details__toggle--active{color:var(--color-primary);background-color:var(--color-primary-light);border-color:var(--color-primary)}.formatted-details__raw{flex:1;overflow:auto;padding:16px}.formatted-details__raw pre{background-color:var(--color-bg-tertiary);padding:16px;border-radius:6px;font-family:Monaco,Consolas,monospace;font-size:.6875rem;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;margin:0}.formatted-details__formatted{flex:1;overflow:auto;padding:16px}.formatted-details__field{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid var(--color-border-secondary)}.formatted-details__field:last-child{border-bottom:none}.formatted-details__key{font-size:.6875rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.03em}.formatted-details__value{font-size:.8125rem;color:var(--color-text-primary);word-break:break-word}.formatted-details__value--null{color:var(--color-text-tertiary);font-style:italic}.formatted-details__value--boolean{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border-radius:4px;font-size:.75rem;font-weight:500}.formatted-details__value--boolean svg{width:14px;height:14px}.formatted-details__value--boolean-true{color:var(--color-success);background-color:var(--color-success-light)}.formatted-details__value--boolean-false{color:var(--color-error);background-color:var(--color-error-light)}.formatted-details__value--number{color:var(--color-info);font-family:Monaco,Consolas,monospace}.formatted-details__value--timestamp{color:var(--color-warning);font-size:.75rem}.formatted-details__value--url{color:var(--color-primary);text-decoration:none;word-break:break-all}.formatted-details__value--url:hover{text-decoration:underline}.formatted-details__value--string{line-height:1.5}.formatted-details__value--empty{color:var(--color-text-tertiary);font-style:italic}.formatted-details__array{display:flex;flex-wrap:wrap;gap:4px}.formatted-details__array-item{display:inline-block;padding:2px 4px;background-color:var(--color-bg-tertiary);border-radius:4px;font-size:.75rem;color:var(--color-text-secondary)}.formatted-details__array-index{font-size:.625rem;font-weight:600;color:var(--color-text-tertiary);margin-right:4px}.formatted-details__nested-array{display:flex;flex-direction:column;gap:8px;margin-top:4px}.formatted-details__nested-item{display:flex;flex-direction:column;gap:4px;padding:4px;background-color:var(--color-bg-tertiary);border-radius:4px;border-left:2px solid var(--color-border-primary)}.formatted-details__nested-object{padding-left:16px;border-left:2px solid var(--color-border-secondary);margin-top:4px}.formatted-details__nested-object .formatted-details__field{padding:4px 0}.formatted-details__nested-object .formatted-details__field:first-child{padding-top:0}.formatted-details__nested-object .formatted-details__key{font-size:.625rem}.formatted-details__nested-object .formatted-details__value{font-size:.75rem}.bottom-panel{height:200px;min-height:200px;background-color:var(--color-console-bg);border-top:1px solid var(--color-border-primary);display:flex;flex-direction:column;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.bottom-panel__header{display:flex;align-items:center;gap:16px;padding:4px 16px;border-bottom:1px solid rgba(255,255,255,.1);min-height:32px}.bottom-panel__title{font-size:.75rem;font-weight:600;color:var(--color-console-text);text-transform:uppercase;letter-spacing:.05em}.bottom-panel__count{font-size:.6875rem;color:var(--color-text-tertiary);margin-left:auto}.bottom-panel__actions{display:flex;gap:4px}.bottom-panel__action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;color:var(--color-text-tertiary);transition:all .1s ease}.bottom-panel__action:hover{background-color:#ffffff1a;color:var(--color-console-text)}.bottom-panel__action svg{width:16px;height:16px}.bottom-panel__content{flex:1;overflow-y:auto;padding:4px 16px}.bottom-panel__empty{color:var(--color-text-tertiary);font-size:.75rem;padding:16px;text-align:center}.bottom-panel__log{display:flex;gap:8px;padding:2px 0;font-size:.75rem;line-height:1.4;border-bottom:1px solid rgba(255,255,255,.05)}.bottom-panel__log:last-of-type{border-bottom:none}.bottom-panel__log--log .bottom-panel__level{color:var(--color-console-log)}.bottom-panel__log--info .bottom-panel__level{color:var(--color-console-info)}.bottom-panel__log--warn{background-color:#ce91781a}.bottom-panel__log--warn .bottom-panel__level{color:var(--color-console-warn)}.bottom-panel__log--error{background-color:#f14c4c1a}.bottom-panel__log--error .bottom-panel__level{color:var(--color-console-error)}.bottom-panel__timestamp{color:var(--color-text-tertiary);flex-shrink:0;width:85px}.bottom-panel__level{flex-shrink:0;width:45px;font-weight:600}.bottom-panel__message{color:var(--color-console-text);flex:1;word-break:break-word}.bottom-panel__data{color:var(--color-text-tertiary);font-size:.6875rem;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--color-bg-primary)}.layout__body{display:flex;flex:1;overflow:hidden}.layout__main{flex:1;overflow:auto;background-color:var(--color-bg-secondary);position:relative}.layout[data-console-visible=true] .layout__body{height:calc(100vh - 248px)}.layout[data-console-visible=false] .layout__body{height:calc(100vh - 48px)}.login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);padding:32px}.login__container{width:100%;max-width:400px;text-align:center}.login__brand{margin-bottom:48px}.login__logo{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-weight:700;font-size:1.75rem;border-radius:12px;margin-bottom:16px;box-shadow:var(--shadow-lg)}.login__title{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:4px}.login__subtitle{color:var(--color-text-tertiary);font-size:1rem;font-weight:500}.login__content{background-color:var(--color-bg-elevated);padding:32px;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-primary)}.login__heading{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.login__description{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:24px;line-height:1.5}.login__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 24px;background-color:var(--color-primary);color:var(--color-text-inverse);font-size:1rem;font-weight:600;border-radius:6px;transition:all .1s ease}.login__button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.login__button:active{transform:translateY(0)}.login__button svg{width:22px;height:22px}.login__footer{margin-top:32px}.login__footer p{color:var(--color-text-tertiary);font-size:.75rem}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px;background-color:var(--color-bg-secondary)}.error-boundary__content{text-align:center;max-width:500px;padding:32px;background-color:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg)}.error-boundary__icon{width:64px;height:64px;color:var(--color-error);margin-bottom:16px}.error-boundary__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.error-boundary__message{color:var(--color-text-secondary);margin-bottom:24px}.error-boundary__actions{display:flex;gap:16px;justify-content:center;margin-bottom:24px}.error-boundary__button{display:inline-flex;align-items:center;gap:4px;padding:8px 24px;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .1s ease}.error-boundary__button--primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.error-boundary__button--primary:hover{background-color:var(--color-primary-hover)}.error-boundary__button--secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.error-boundary__button--secondary:hover{background-color:var(--color-bg-hover)}.error-boundary__button svg{width:18px;height:18px}.error-boundary__details{text-align:left;margin-top:16px}.error-boundary__details summary{cursor:pointer;color:var(--color-text-tertiary);font-size:.875rem;margin-bottom:8px}.error-boundary__details summary:hover{color:var(--color-text-secondary)}.error-boundary__details pre{background-color:var(--color-bg-tertiary);padding:16px;border-radius:6px;font-size:.75rem;overflow-x:auto;color:var(--color-error);text-align:left;max-height:200px;overflow-y:auto}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.loading--small .loading__spinner{width:24px;height:24px}.loading--small .loading__message{font-size:var(--font-size-sm)}.loading--medium .loading__spinner{width:40px;height:40px}.loading--medium .loading__message{font-size:var(--font-size-base)}.loading--large .loading__spinner{width:64px;height:64px}.loading--large .loading__message{font-size:var(--font-size-lg)}.loading__spinner{position:relative}.loading__spinner-circle{width:100%;height:100%;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading__message{color:var(--color-text-secondary);margin:0;text-align:center}.loading__overlay{position:fixed;inset:0;background-color:var(--color-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000}@keyframes spin{to{transform:rotate(360deg)}}:root{color-scheme:light;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-active: #3730a3;--color-primary-light: #e0e7ff;--color-accent: #f59e0b;--color-accent-hover: #d97706;--color-accent-light: #fef3c7;--color-success: #10b981;--color-success-light: #d1fae5;--color-error: #ef4444;--color-error-light: #fee2e2;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-info: #3b82f6;--color-info-light: #dbeafe;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-elevated: #ffffff;--color-bg-hover: #f1f5f9;--color-bg-active: #e2e8f0;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-text-muted: #cbd5e1;--color-text-inverse: #ffffff;--color-border-primary: #e2e8f0;--color-border-secondary: #cbd5e1;--color-border-focus: var(--color-primary);--color-panel-bg: #f8fafc;--color-panel-border: #e2e8f0;--color-panel-header: #f1f5f9;--color-table-header: #f1f5f9;--color-table-row-hover: #f8fafc;--color-table-row-selected: #e0e7ff;--color-table-border: #e2e8f0;--color-scrollbar-track: #f1f5f9;--color-scrollbar-thumb: #cbd5e1;--color-scrollbar-thumb-hover: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--color-console-bg: #1e1e1e;--color-console-text: #d4d4d4;--color-console-log: #6a9955;--color-console-warn: #ce9178;--color-console-error: #f14c4c;--color-console-info: #4fc1ff}[data-theme=dark]{color-scheme:dark;--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-active: #6366f1;--color-primary-light: #312e81;--color-accent: #fbbf24;--color-accent-hover: #fcd34d;--color-accent-light: #78350f;--color-success: #34d399;--color-success-light: #064e3b;--color-error: #f87171;--color-error-light: #7f1d1d;--color-warning: #fbbf24;--color-warning-light: #78350f;--color-info: #60a5fa;--color-info-light: #1e3a5f;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-elevated: #1e293b;--color-bg-hover: #334155;--color-bg-active: #475569;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-border-primary: #334155;--color-border-secondary: #475569;--color-border-focus: var(--color-primary);--color-panel-bg: #1e293b;--color-panel-border: #334155;--color-panel-header: #0f172a;--color-table-header: #1e293b;--color-table-row-hover: #334155;--color-table-row-selected: #312e81;--color-table-border: #334155;--color-scrollbar-track: #1e293b;--color-scrollbar-thumb: #475569;--color-scrollbar-thumb-hover: #64748b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .4);--color-console-bg: #0f172a;--color-console-text: #e2e8f0;--color-console-log: #6a9955;--color-console-warn: #ce9178;--color-console-error: #f14c4c;--color-console-info: #4fc1ff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:Inter,Segoe UI,-apple-system,sans-serif;font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;overflow:hidden}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-weight:600;line-height:1.25;color:var(--color-text-primary)}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin-bottom:16px}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:color .1s ease}a:hover{color:var(--color-primary-hover);text-decoration:underline}code,pre{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875em}code{background-color:var(--color-bg-tertiary);padding:2px 4px;border-radius:4px}pre{background-color:var(--color-bg-tertiary);padding:16px;border-radius:6px;overflow-x:auto}pre code{background:none;padding:0}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:8px 16px;transition:border-color .1s ease,box-shadow .1s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed}input::placeholder,textarea::placeholder,select::placeholder{color:var(--color-text-tertiary)}textarea{resize:vertical;min-height:80px}select{cursor:pointer}label{display:block;font-weight:500;margin-bottom:4px;color:var(--color-text-secondary)}ul,ol{list-style:none}img,svg{display:block;max-width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .2s ease forwards}.animate-slide-in-right{animation:slideInFromRight .3s ease forwards}.animate-slide-in-bottom{animation:slideInFromBottom .3s ease forwards}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}
