.layout{display:flex;height:100vh;width:100vw;overflow:hidden}.nav-sidebar{background:linear-gradient(180deg,#1a1a2e,#16213e);color:#fff;height:100vh;display:flex;flex-direction:column;border-right:1px solid #2d3748;transition:width .3s ease,transform .3s ease;position:relative;z-index:1000;flex-shrink:0}.nav-sidebar.open{width:240px}.nav-sidebar.closed{width:60px}.nav-sidebar-header{padding:20px 15px;border-bottom:1px solid #2d3748;display:flex;align-items:center;justify-content:space-between;min-height:70px}.nav-sidebar-title{font-size:18px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-sidebar.closed .nav-sidebar-title{display:none}.nav-toggle-btn{background:transparent;border:1px solid #4a5568;color:#fff;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.nav-toggle-btn:hover{background:#2d3748;border-color:#718096}.nav-sidebar.closed .nav-toggle-btn{width:36px;height:36px;margin:0 auto}.nav-menu{flex:1;padding:15px 10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.nav-menu-item{display:flex;align-items:center;gap:12px;padding:12px 15px;border:none;background:transparent;color:#cbd5e0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:15px;text-align:left;width:100%}.nav-menu-item:hover{background:#ffffff1a;color:#fff}.nav-menu-item.active{background:#4299e133;color:#fff;font-weight:500;border-left:3px solid #4299e1}.nav-menu-icon{font-size:20px;width:24px;text-align:center;flex-shrink:0}.nav-menu-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-sidebar.closed .nav-menu-item{justify-content:center;padding:12px}.nav-sidebar.closed .nav-menu-label{display:none}.layout-main{flex:1;height:100vh;overflow:hidden;transition:margin-left .3s ease;background:#f7fafc}.layout-main.sidebar-open,.layout-main.sidebar-closed{margin-left:0}.nav-sidebar-overlay{display:none}@media(max-width:1024px){.nav-sidebar.open{width:200px}}@media(max-width:768px){.nav-sidebar{position:fixed;left:0;top:0;z-index:2000;box-shadow:2px 0 10px #0000004d}.nav-sidebar.open{transform:translate(0);width:260px}.nav-sidebar.closed{transform:translate(-100%);width:260px}.nav-sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:1500}.layout-main{margin-left:0!important;width:100%}.nav-toggle-btn{display:flex}}.nav-menu::-webkit-scrollbar{width:6px}.nav-menu::-webkit-scrollbar-track{background:transparent}.nav-menu::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.nav-menu::-webkit-scrollbar-thumb:hover{background:#718096}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #7f0bb9;--background: #ffffff;--surface: #f3f4f6;--text-primary: #1f2937;--text-secondary: #6b7280;--border: #e5e7eb;--error: #ef4444;--success: #10b981;--user-message-bg: #7f0bb9;--user-message-text: #ffffff;--assistant-message-bg: #f3f4f6;--assistant-message-text: #1f2937;--code-bg: #d8d9dc}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--text-primary)}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.app-header h1{font-size:1.5rem;font-weight:600}.header-controls{display:flex;gap:.75rem;align-items:center}.header-controls .nav-link{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:6px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #7f0bb933}.header-controls .nav-link:hover{background:#6b0a9e;box-shadow:0 4px 8px #7f0bb94d;transform:translateY(-1px)}.header-controls .nav-link:active{transform:translateY(0);box-shadow:0 1px 2px #7f0bb933}.header-controls button{padding:.5rem 1rem;background:#fff;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.header-controls button:hover{background:var(--surface);border-color:var(--primary-color)}.app-content{display:flex;flex:1;overflow:hidden}.sidebar{width:260px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border)}.sidebar-header h2{font-size:1rem;margin-bottom:.5rem}.new-conversation-button{width:100%;padding:.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.new-conversation-button:hover{opacity:.9}.conversation-list{flex:1;overflow-y:auto;padding:.5rem}.conversation-item{padding:.75rem;margin-bottom:.25rem;background:#fff;border-radius:6px;cursor:pointer;position:relative}.conversation-item:hover{background:#e5e7eb}.conversation-item.active{background:var(--primary-color);color:#fff}.conversation-title{font-weight:500;margin-bottom:.25rem;cursor:text;-webkit-user-select:text;user-select:text}.conversation-title-input{width:100%;padding:.25rem;font-size:1rem;font-weight:500;border:1px solid var(--primary-color);border-radius:4px;background:#fff;outline:none;margin-bottom:.25rem}.conversation-date{font-size:.75rem;opacity:.7}.conversation-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.conversation-item:hover .conversation-actions{opacity:1}.share-button-icon,.delete-button{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem}.share-button-icon:hover,.delete-button:hover{transform:scale(1.1)}.no-conversations{text-align:center;padding:2rem;color:var(--text-secondary)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-interface{display:flex;flex-direction:column;height:100%}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border)}.chat-header h1{font-size:1.25rem;font-weight:600}.chat-title-editable{cursor:text;-webkit-user-select:text;user-select:text;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.chat-title-editable:hover{background:var(--surface)}.chat-title-input{font-size:1.25rem;font-weight:600;padding:.25rem .5rem;border:2px solid var(--primary-color);border-radius:4px;background:#fff;outline:none;min-width:300px}.clear-button{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.clear-button:hover{background:var(--surface)}.error-banner{background:#fee;color:var(--error);padding:1rem;text-align:center;border-bottom:1px solid var(--error)}.message-list{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1rem}.message-item{display:flex;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-item.user{justify-content:flex-end}.message-item.assistant{justify-content:flex-start}.message-content{max-width:70%;display:flex;flex-direction:column;gap:.5rem}.message-role{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.message-text{padding:1rem 1.25rem;border-radius:18px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%;overflow:hidden}.message-item.user .message-text{background:var(--user-message-bg);color:var(--user-message-text);border-radius:18px 18px 4px}.message-item.assistant .message-text{background:var(--assistant-message-bg);color:var(--assistant-message-text);border-radius:18px 18px 18px 4px}.streaming-cursor{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;line-height:1.3}.message-text h1{font-size:1.75rem}.message-text h2{font-size:1.5rem}.message-text h3{font-size:1.25rem}.message-text h4{font-size:1.125rem}.message-text h5{font-size:1rem}.message-text h6{font-size:.875rem}.message-text p{margin-bottom:.75rem;line-height:1.6}.message-text ul,.message-text ol{margin-bottom:.75rem;padding-left:1.5rem;line-height:1.6}.message-text li{margin-bottom:.25rem}.message-text ul{list-style-type:disc}.message-text ol{list-style-type:decimal}.message-text blockquote{margin:.75rem 0;padding-left:1rem;border-left:3px solid var(--border);color:var(--text-secondary);font-style:italic}.message-text table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.875rem;display:block;overflow-x:auto;max-width:100%}.message-text th,.message-text td{border:1px solid var(--border);padding:.5rem;text-align:left;word-wrap:break-word;overflow-wrap:break-word}.message-text th{background:var(--surface);font-weight:600}.message-text tr:hover{background:var(--surface)}.message-text a{color:var(--primary-color);text-decoration:underline}.message-text a:hover{opacity:.8}.message-text hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.message-text strong{font-weight:600}.message-text em{font-style:italic}.message-text pre{background:var(--code-bg);border-radius:8px;padding:1rem;overflow-x:auto;margin:.75rem 0;max-width:100%;white-space:pre-wrap;word-wrap:break-word}.message-text code{font-family:Courier New,monospace;font-size:.9em}.message-text :not(pre)>code{background:#e5e7eb;padding:.2em .4em;border-radius:3px;color:#d63384}.tool-executions-simple{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;opacity:.5}.tool-execution-simple{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.tool-check{font-size:.875rem}.tool-spinner{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.spinner-small{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.tool-label{font-size:.875rem}.message-input-container{padding:1rem 2rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:.75rem;align-items:flex-end;background:#fff}.message-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:12px;font-size:1rem;font-family:inherit;resize:none;outline:none}.message-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.message-input:disabled{background:var(--surface);cursor:not-allowed}.send-button{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.send-button:hover:not(:disabled){opacity:.9}.send-button:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee;color:var(--error);padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:1rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:1.5rem;min-width:400px;max-width:500px;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary)}.modal-close:hover{color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;font-size:.875rem;color:var(--text-primary)}.form-group select{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;outline:none}.form-group select:focus{border-color:var(--primary-color)}.share-button{padding:.75rem 1rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.share-button:hover:not(:disabled){opacity:.9}.share-button:disabled{opacity:.5;cursor:not-allowed}.share-button.primary{background:var(--primary-color);color:#fff}.share-button.danger{background:var(--error);color:#fff}.share-url-container{display:flex;gap:.5rem}.share-url-input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--surface)}.copy-button{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer}.copy-button:hover{opacity:.9}.shared-conversation-page{display:flex;flex-direction:column;height:100vh;background-color:var(--background)}.shared-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.shared-header h1{font-size:1.5rem;font-weight:600}.start-chat-button{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer}.start-chat-button:hover{opacity:.9}.shared-content{flex:1;overflow-y:auto;padding:2rem}.shared-content.loading,.shared-content.error{display:flex;justify-content:center;align-items:center}.error-box{text-align:center;max-width:400px}.error-box h2{font-size:2rem;margin-bottom:1rem}.error-box p{color:var(--text-secondary);margin-bottom:1.5rem}.shared-title{max-width:900px;margin:0 auto 2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.shared-title h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.shared-date{font-size:.875rem;color:var(--text-secondary)}@media(max-width:768px){.sidebar{position:absolute;left:0;top:0;height:100%;z-index:100;box-shadow:2px 0 8px #0000001a}.message-content{max-width:90%}.app-header h1{font-size:1.125rem}.header-controls button{font-size:.75rem;padding:.375rem .75rem}}.digital-twin-page{min-height:100vh;background-color:var(--background);color:var(--text-primary);display:flex;flex-direction:column}.page-header{background-color:var(--surface);padding:1.5rem 2rem;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center}.page-header h1{margin:0;font-size:1.5rem}.back-link{color:var(--primary-color);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--border);border-radius:4px;transition:all .2s}.back-link:hover{background-color:var(--surface);border-color:var(--primary-color)}.page-layout{display:grid;grid-template-columns:220px 1fr 380px;gap:0;flex:1;overflow:hidden;border:2px solid var(--border);border-top:none}.left-panel{background-color:var(--surface);border-right:2px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.center-panel{display:flex;flex-direction:column;overflow-y:auto;background-color:var(--background)}.empty-prompt-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);padding:2rem;text-align:center}.palettes-section{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:1rem;border-bottom:2px solid var(--border)}.editor-section{flex:1;display:flex;flex-direction:column;padding:1rem}.editor-section h3{margin:0 0 1rem;font-size:1.125rem;color:var(--text-primary)}.right-panel{background-color:var(--surface);border-left:2px solid var(--border);display:flex;flex-direction:column;gap:1rem;padding:1rem;overflow-y:auto}.user-list-panel{display:flex;flex-direction:column;height:100%}.user-list-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1rem .5rem;border-bottom:1px solid var(--border)}.user-list-panel .panel-header h3{margin:0;font-size:1.125rem}.btn-clear{padding:.25rem .5rem;background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.btn-clear:hover{background-color:var(--surface);border-color:var(--error)}.upload-section{padding:1rem;border-bottom:1px solid var(--border)}.upload-label{display:block}.btn-upload{width:100%;padding:.75rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9375rem;transition:opacity .2s}.btn-upload:hover:not(:disabled){opacity:.9}.btn-upload:disabled{opacity:.5;cursor:not-allowed}.error-text{color:var(--error);font-size:.875rem;margin-top:.5rem}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;color:var(--text-secondary)}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.user-list-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.list-info{padding:1rem;border-bottom:1px solid var(--border);font-size:.9375rem}.list-info strong{color:var(--primary-color)}.user-list-scroll{flex:1;overflow-y:auto;padding:.5rem}.user-list-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:4px;margin-bottom:.5rem;background-color:var(--background)}.user-list-item:last-child{margin-bottom:0}.user-index{font-size:.75rem;color:var(--text-secondary);min-width:24px;text-align:right}.user-id{font-size:.875rem;font-family:Courier New,monospace;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.field-palette,.question-presets{background-color:var(--surface);border:2px solid var(--border);border-radius:6px;padding:1rem;display:flex;flex-direction:column}.field-palette.empty{justify-content:center;align-items:center}.palette-header{font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:1rem}.palette-hint{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem}.field-list,.preset-list{display:flex;flex-direction:column;gap:.25rem;max-height:300px;overflow-y:auto}.field-item,.preset-button{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px;cursor:pointer;text-align:left;transition:all .2s;width:100%}.field-item:hover,.preset-button:hover{background-color:var(--surface);border-color:var(--primary-color)}.field-item:active,.preset-button:active{transform:translateY(1px)}.field-icon,.preset-icon{font-size:1.125rem;flex-shrink:0}.field-name,.preset-name{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-message{text-align:center;color:var(--text-secondary);font-size:.875rem;padding:1rem}.preset-item{display:flex;align-items:center;gap:.5rem}.preset-item .preset-button{flex:1}.preset-controls{display:flex;gap:.25rem}.btn-icon{padding:.25rem .5rem;background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:.9375rem;transition:all .2s}.btn-icon:hover{background-color:var(--surface);border-color:var(--border)}.preset-edit-form,.preset-add-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px}.preset-name-input,.preset-template-input{padding:.5rem;background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.875rem}.preset-name-input:focus,.preset-template-input:focus{outline:none;border-color:var(--primary-color)}.preset-template-input{resize:vertical;font-family:Courier New,monospace}.preset-actions{display:flex;gap:.5rem}.btn-save,.btn-cancel{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:opacity .2s}.btn-save{background-color:var(--primary-color);color:#fff}.btn-cancel{background-color:var(--border);color:var(--text-primary)}.btn-save:hover,.btn-cancel:hover{opacity:.8}.btn-add-preset{padding:.5rem 1rem;background-color:var(--background);color:var(--primary-color);border:1px dashed var(--border);border-radius:4px;cursor:pointer;width:100%;margin-top:.5rem;transition:all .2s;font-size:.875rem}.btn-add-preset:hover{border-color:var(--primary-color);border-style:solid;background-color:var(--surface)}.prompt-versions{background-color:var(--surface);border:2px solid var(--border);border-radius:6px;padding:1rem;display:flex;flex-direction:column}.version-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;margin-bottom:.5rem}.version-item{display:flex;flex-direction:column;gap:.5rem}.version-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px;cursor:pointer;text-align:left;transition:all .2s;width:100%}.version-button:hover{background-color:var(--surface);border-color:var(--primary-color)}.version-button:active{transform:translateY(1px)}.version-icon{font-size:1rem;flex-shrink:0}.version-name{font-size:.875rem;font-weight:600;white-space:normal;overflow:scroll;flex:1;line-height:1.3}.version-date{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.version-controls{display:flex;gap:.25rem;flex-shrink:0}.version-edit-form,.version-save-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px}.version-name-input,.version-template-input{padding:.5rem;background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.875rem}.version-name-input:focus,.version-template-input:focus{outline:none;border-color:var(--primary-color)}.version-template-input{resize:vertical;font-family:Courier New,monospace}.version-actions{display:flex;gap:.5rem}.btn-save-version{padding:.5rem 1rem;background-color:var(--background);color:var(--primary-color);border:1px dashed var(--border);border-radius:4px;cursor:pointer;width:100%;margin-top:.5rem;transition:all .2s;font-size:.875rem}.btn-save-version:hover:not(:disabled){border-color:var(--primary-color);border-style:solid;background-color:var(--surface)}.btn-save-version:disabled{opacity:.5;cursor:not-allowed}.prompt-editor{background-color:var(--surface);border:2px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;flex:1;transition:border-color .2s}.prompt-editor.drag-over{border-color:var(--primary-color);background-color:var(--surface)}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--background);border-bottom:1px solid var(--border);font-weight:600;font-size:.9375rem}.editor-hint{font-size:.75rem;color:var(--text-secondary);font-weight:400}.prompt-textarea{width:100%;flex:1;min-height:500px;padding:1rem;background-color:var(--surface);color:var(--text-primary);border:none;font-family:Courier New,monospace;font-size:.9375rem;line-height:1.6;resize:none}.prompt-textarea:focus{outline:none}.editor-footer{padding:.5rem 1rem;background-color:var(--background);border-top:1px solid var(--border);font-size:.75rem;color:var(--text-secondary)}.gemini-test-panel{background-color:var(--background);border:2px solid var(--border);border-radius:6px;padding:1rem}.gemini-test-panel .panel-header{margin-bottom:1rem}.gemini-test-panel .panel-header h3{margin:0;font-size:1.125rem}.test-mode-toggle{display:flex;gap:0;margin-bottom:1rem;background-color:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.25rem}.toggle-option{flex:1;padding:.5rem 1rem;background:none;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:all .2s}.toggle-option:hover:not(:disabled){color:var(--text-primary)}.toggle-option.active{background-color:var(--background);color:var(--primary-color);font-weight:600;box-shadow:0 1px 3px #0000001a}.toggle-option:disabled{cursor:not-allowed;opacity:.5}.prompt-preview{margin:1rem 0;padding:1rem;background-color:var(--surface);border:1px solid var(--border);border-radius:4px}.prompt-preview h4{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);font-weight:600}.preview-content{font-family:Courier New,monospace;font-size:.875rem;white-space:pre-wrap;word-break:break-word;line-height:1.5}.test-actions{display:flex;gap:.75rem}.btn-test{width:100%;padding:.75rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:opacity .2s}.btn-test:hover:not(:disabled){opacity:.9}.btn-test:disabled{opacity:.5;cursor:not-allowed}.progress-info{margin-top:1rem;padding:.75rem;background-color:var(--surface);border-left:3px solid var(--primary-color);border-radius:4px;font-size:.875rem}.user-data-viewer{background-color:var(--background);border:2px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.viewer-header{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;background-color:var(--surface);border-bottom:1px solid var(--border)}.nav-button{padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-size:.875rem}.nav-button:hover:not(:disabled){opacity:.9}.nav-button:disabled{opacity:.3;cursor:not-allowed}.user-counter{font-weight:600;min-width:100px;text-align:center;font-size:.9375rem}.viewer-content{display:flex;flex-direction:column;gap:0}.user-data-panel,.gemini-result-panel{padding:1rem}.user-data-panel{border-bottom:1px solid var(--border)}.user-data-panel h3,.gemini-result-panel h3{margin:0 0 1rem;font-size:1rem;color:var(--primary-color)}.data-fields{display:flex;flex-direction:column;gap:.25rem;max-height:400px;overflow-y:auto}.data-field{display:grid;grid-template-columns:120px 1fr;gap:.75rem;padding:.25rem .75rem;background-color:var(--surface);border:1px solid var(--border);border-radius:4px}.field-label{font-weight:600;color:var(--text-secondary);font-size:.8125rem;overflow:scroll}.field-value{color:var(--text-primary);word-break:break-word;font-size:.8125rem}.result-content{display:flex;flex-direction:column;gap:.75rem}.result-metadata{color:var(--text-secondary);font-size:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.result-text{line-height:1.6;font-size:.9375rem}.no-result{color:var(--text-secondary);text-align:center;padding:2rem 1rem;font-style:italic;font-size:.875rem}.error-message{color:var(--error);font-size:.875rem;padding:.75rem;background-color:#ef44441a;border:1px solid var(--error);border-radius:4px;margin:.5rem 0}.collapsible-field{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:.5rem}.field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.field-count{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.toggle-button{padding:.25rem .5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:.75rem;transition:opacity .2s}.toggle-button:hover{opacity:.9}.array-items{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.array-item{display:flex;gap:.5rem;padding:.5rem;background-color:var(--background);border:1px solid var(--border);border-radius:3px;font-size:.8125rem}.item-index{color:var(--text-secondary);font-weight:600;min-width:24px}.item-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.item-field{display:flex;gap:.5rem}.item-key{color:var(--text-secondary);font-weight:600;min-width:120px}.item-value{color:var(--text-primary);word-break:break-word}.gemini-result-large{margin:1rem;padding:0;background-color:var(--surface);border:2px solid var(--primary-color);border-radius:8px;overflow:hidden;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.result-large-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--primary-color);color:#fff}.result-large-header h3{margin:0;font-size:1.125rem;font-weight:600}.btn-close-result{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.btn-close-result:hover{background-color:#fff3}.result-large-content{padding:1.5rem;background-color:var(--background);max-height:500px;overflow-y:auto;line-height:1.8;font-size:1rem}.result-large-content h1,.result-large-content h2,.result-large-content h3,.result-large-content h4{margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-primary)}.result-large-content h1{font-size:1.75rem}.result-large-content h2{font-size:1.5rem}.result-large-content h3{font-size:1.25rem}.result-large-content h4{font-size:1.125rem}.result-large-content p{margin-bottom:1rem}.result-large-content ul,.result-large-content ol{margin-bottom:1rem;padding-left:2rem}.result-large-content li{margin-bottom:.5rem}.result-large-content code{background-color:var(--code-bg);padding:.2em .4em;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.result-large-content pre{background-color:var(--code-bg);padding:1rem;border-radius:6px;overflow-x:auto;margin:1rem 0}.result-large-content pre code{background:none;padding:0}.result-large-content table{width:100%;border-collapse:collapse;margin:1rem 0}.result-large-content th,.result-large-content td{border:1px solid var(--border);padding:.75rem;text-align:left}.result-large-content th{background-color:var(--surface);font-weight:600}.result-large-content blockquote{margin:1rem 0;padding-left:1rem;border-left:4px solid var(--primary-color);color:var(--text-secondary);font-style:italic}.prompt-preview-panel{margin-top:1rem;padding:1rem;background-color:var(--surface);border:2px solid var(--border);border-radius:6px}.prompt-preview-panel h4{margin:0 0 .75rem;font-size:.9375rem;color:var(--text-primary);font-weight:600}.prompt-preview-panel .preview-content{padding:1rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px;font-family:Courier New,monospace;font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}@media(max-width:1280px){.page-layout{grid-template-columns:200px 1fr 320px}.palettes-section{grid-template-columns:1fr}}@media(max-width:1024px){.page-layout{grid-template-columns:1fr}.left-panel,.right-panel{border:none;border-bottom:2px solid var(--border)}.center-panel{border-top:2px solid var(--border)}}@media(max-width:768px){.page-header{padding:1rem}.page-header h1{font-size:1.25rem}.palettes-section{padding:.75rem;gap:.75rem}.editor-section{padding:.75rem}}.data-qa-page{height:100%;background-color:var(--background);color:var(--text-primary);display:flex;flex-direction:column;overflow:hidden}.data-qa-header{background-color:var(--surface);padding:1.5rem 2rem;border-bottom:2px solid var(--border);flex-shrink:0}.data-qa-header h1{margin:0;font-size:1.5rem}.data-qa-layout{display:grid;grid-template-columns:300px 1fr 350px;gap:0;flex:1;min-height:0;overflow:hidden;border:2px solid var(--border);border-top:none}.data-qa-left-panel{background-color:var(--surface);border-right:2px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.data-qa-center-panel{display:flex;flex-direction:column;overflow-y:auto;background-color:var(--background)}.data-qa-right-panel{background-color:var(--surface);border-left:2px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.category-selector{padding:1rem;display:flex;flex-direction:column;gap:1rem}.category-selector h3{margin:0 0 .5rem;font-size:1.125rem}.category-group{display:flex;flex-direction:column;gap:.5rem}.category-group label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.category-select{padding:.75rem;background-color:var(--background);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:.9375rem;cursor:pointer}.category-select:focus{outline:none;border-color:var(--primary-color)}.category-select:disabled{opacity:.5;cursor:not-allowed}.optional-label{font-weight:400;font-size:.75rem;color:var(--text-secondary);opacity:.7}.filter-hint{margin:0;font-size:.75rem;color:var(--text-secondary);opacity:.8}.mode-selector{display:flex;gap:.5rem;margin-bottom:0}.mode-btn{flex:1;padding:.5rem .75rem;background-color:var(--background);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.8125rem;transition:all .2s}.mode-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--text-primary)}.mode-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.react-select__control{background-color:var(--background)!important;border-color:var(--border)!important;min-height:40px!important}.react-select__control:hover{border-color:var(--primary-color)!important}.react-select__control--is-focused{border-color:var(--primary-color)!important;box-shadow:none!important}.react-select__menu{background-color:var(--surface)!important;border:1px solid var(--border)!important;z-index:100!important}.react-select__option{background-color:var(--surface)!important;color:var(--text-primary)!important;cursor:pointer!important}.react-select__option:hover,.react-select__option--is-focused{background-color:var(--background)!important}.react-select__option--is-selected{background-color:var(--primary-color)!important;color:#fff!important}.react-select__single-value,.react-select__input-container{color:var(--text-primary)!important}.react-select__placeholder{color:var(--text-secondary)!important}.react-select__indicator-separator{background-color:var(--border)!important}.react-select__dropdown-indicator,.react-select__clear-indicator{color:var(--text-secondary)!important}.react-select__dropdown-indicator:hover,.react-select__clear-indicator:hover{color:var(--text-primary)!important}.react-select__control--is-disabled{opacity:.5!important}.filter-divider{display:flex;align-items:center;gap:.75rem;margin:.5rem 0;color:var(--text-secondary);font-size:.75rem}.filter-divider:before,.filter-divider:after{content:"";flex:1;height:1px;background-color:var(--border)}.product-data-viewer{padding:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column}.product-data-viewer h4{margin:0 0 .75rem;font-size:1rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.product-count{font-size:.875rem;color:var(--primary-color);font-weight:400}.product-stats{display:flex;gap:1rem;margin-bottom:.75rem;padding:.75rem;background-color:var(--background);border-radius:4px;flex-shrink:0}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:var(--text-secondary)}.stat-value{font-size:1rem;font-weight:600;color:var(--primary-color)}.product-search{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-shrink:0}.product-search-input{flex:1;padding:.5rem .75rem;background-color:var(--background);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:.8125rem}.product-search-input:focus{outline:none;border-color:var(--primary-color)}.product-search-input::placeholder{color:var(--text-secondary)}.search-result-count{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.product-table-wrapper{max-height:400px;overflow:auto;border:1px solid var(--border);border-radius:4px}.product-table{width:100%;border-collapse:collapse;font-size:.75rem}.product-table thead{position:sticky;top:0;z-index:1}.product-table th{background-color:var(--surface);padding:.5rem .375rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.product-table td{padding:.375rem;border-bottom:1px solid var(--border);color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-table tbody tr:hover{background-color:var(--background)}.btn-inspect{margin-top:1rem;padding:.75rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:opacity .2s;flex-shrink:0}.btn-inspect:hover:not(:disabled){opacity:.9}.btn-inspect:disabled{opacity:.5;cursor:not-allowed}.ai-inspect-result{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.inspect-header{display:flex;justify-content:space-between;align-items:center}.inspect-header h2{margin:0;font-size:1.25rem}.inspect-meta{font-size:.875rem;color:var(--text-secondary)}.inspect-content{background-color:var(--surface);border:2px solid var(--border);border-radius:6px;padding:1.5rem;line-height:1.8;flex:1;overflow-y:auto}.inspect-content h1,.inspect-content h2,.inspect-content h3,.inspect-content h4{margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-primary)}.inspect-content h1:first-child,.inspect-content h2:first-child,.inspect-content h3:first-child{margin-top:0}.inspect-content pre{background-color:var(--code-bg);padding:1rem;border-radius:6px;overflow-x:auto;margin:1rem 0}.inspect-content code{font-family:Courier New,monospace;font-size:.9em}.inspect-content table{width:100%;border-collapse:collapse;margin:1rem 0}.inspect-content th,.inspect-content td{border:1px solid var(--border);padding:.5rem;text-align:left;font-size:.875rem}.inspect-content th{background-color:var(--surface);font-weight:600}.inspect-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);padding:2rem;text-align:center}.inspect-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:var(--text-secondary)}.sql-preview-section{margin-top:1rem;padding:1rem;background-color:var(--surface);border:2px solid var(--border);border-radius:6px}.sql-preview-section h3{margin:0 0 1rem;font-size:1rem}.sql-query-item{margin-bottom:1rem;padding:1rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px}.sql-query-item:last-child{margin-bottom:0}.sql-query-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sql-query-number{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.btn-copy-sql{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-copy-sql:hover{background:var(--surface);color:var(--primary);border-color:var(--primary)}.btn-copy-sql:active{transform:scale(.95)}.sql-query-code{background-color:var(--code-bg);padding:.75rem;border-radius:4px;font-family:Courier New,monospace;font-size:.8125rem;overflow-x:auto;white-space:pre-wrap}.history-panel{padding:1rem;display:flex;flex-direction:column;height:100%}.history-panel h3{margin:0 0 1rem;font-size:1.125rem}.history-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.history-item{padding:.75rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s}.history-item:hover{border-color:var(--primary-color)}.history-item.selected{border-color:var(--primary-color);background-color:var(--surface)}.history-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.history-category{font-size:.8125rem;font-weight:600;color:var(--text-primary);line-height:1.3}.history-header-actions{display:flex;align-items:center;gap:.5rem}.history-date{font-size:.6875rem;color:var(--text-secondary);white-space:nowrap}.btn-delete-history{width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s,color .2s}.history-item:hover .btn-delete-history{opacity:1}.btn-delete-history:hover{color:var(--error, #ef4444)}.history-item-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem}.history-count{font-size:.75rem;color:var(--text-secondary)}.history-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.history-status.executed{color:var(--success, #22c55e);background-color:#22c55e1a}.history-status.pending{color:var(--warning, #f59e0b);background-color:#f59e0b1a}.history-empty{text-align:center;color:var(--text-secondary);padding:2rem 1rem;font-size:.875rem}.history-detail{padding:1rem;border-top:1px solid var(--border);background-color:var(--background)}.history-detail h4{margin:0 0 .75rem;font-size:1rem}.history-actions{display:flex;gap:.5rem;margin-top:1rem}.btn-execute-toggle{flex:1;padding:.5rem 1rem;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-execute-toggle.executed{background-color:var(--success, #22c55e);color:#fff;border-color:var(--success, #22c55e)}.btn-execute-toggle.pending{background-color:var(--background);color:var(--text-primary)}.btn-execute-toggle:hover{opacity:.9}.feedback-section{margin-top:1rem;padding:1rem;background-color:var(--surface);border:2px solid var(--border);border-radius:6px}.feedback-section h3{margin:0 0 .75rem;font-size:1rem}.feedback-textarea{width:100%;padding:.75rem;background-color:var(--background);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:.875rem;font-family:inherit;resize:vertical;min-height:60px}.feedback-textarea:focus{outline:none;border-color:var(--primary-color)}.feedback-textarea::placeholder{color:var(--text-secondary)}.btn-refine{margin-top:.75rem;padding:.625rem 1rem;background-color:var(--background);color:var(--text-primary);border:1px solid var(--primary-color);border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-refine:hover:not(:disabled){background-color:var(--primary-color);color:#fff}.btn-refine:disabled{opacity:.5;cursor:not-allowed;border-color:var(--border)}.save-result-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.btn-save-result{padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:opacity .2s}.btn-save-result:hover:not(:disabled){opacity:.9}.btn-save-result:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1280px){.data-qa-layout{grid-template-columns:280px 1fr 300px}}@media(max-width:1024px){.data-qa-layout{grid-template-columns:1fr}.data-qa-left-panel,.data-qa-right-panel{border:none;border-bottom:2px solid var(--border)}}@media(max-width:768px){.data-qa-header{padding:1rem}.data-qa-header h1{font-size:1.25rem}.product-item{grid-template-columns:1fr}}.copy-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text-primary);color:var(--background);padding:8px 16px;border-radius:6px;font-size:.875rem;z-index:9999;animation:toast-fade 1.5s ease-in-out forwards}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%) translateY(10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}85%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}.sql-editor-section{margin-top:1rem;padding:1rem;background-color:var(--surface);border:2px solid var(--border);border-radius:6px}.sql-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.sql-editor-header h3{margin:0;font-size:1rem}.btn-execute-sql{padding:.625rem 1.25rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:opacity .2s}.btn-execute-sql:hover:not(:disabled){opacity:.9}.btn-execute-sql:disabled{opacity:.5;cursor:not-allowed}.sql-editor{width:100%;padding:1rem;background-color:#fff;color:#1a1a1a;border:1px solid var(--border);border-radius:4px;font-family:Courier New,monospace;font-size:.8125rem;line-height:1.6;resize:vertical;min-height:200px}.sql-editor:focus{outline:none;border-color:var(--primary-color)}.sql-editor::placeholder{color:var(--text-secondary)}.query-results{margin-top:1rem;padding:1rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px}.query-results h4{margin:0 0 .75rem;font-size:.9375rem;color:var(--text-primary)}.query-result-item{margin-bottom:1rem}.query-result-item:last-child{margin-bottom:0}.query-result-header{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.affected-rows-badge{display:inline-block;padding:.125rem .5rem;background-color:#22c55e1a;color:var(--success, #22c55e);border:1px solid var(--success, #22c55e);border-radius:4px;font-size:.75rem;font-weight:500}.query-result-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:4px}.query-result-table{width:100%;border-collapse:collapse;font-size:.75rem}.query-result-table th{background-color:var(--surface);padding:.5rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.query-result-table td{padding:.5rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.query-result-table tbody tr:hover{background-color:var(--surface)}.query-result-empty{padding:1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.query-result-success{padding:1rem;text-align:center;background-color:#22c55e1a;border:1px solid var(--success, #22c55e);border-radius:4px;color:var(--success, #22c55e);font-size:.875rem;font-weight:500}.query-errors{margin-top:1rem;padding:1rem;background-color:#ef44441a;border:1px solid var(--error, #ef4444);border-radius:4px}.query-errors h4{margin:0 0 .5rem;font-size:.9375rem;color:var(--error, #ef4444)}.query-error-item{font-size:.875rem;color:var(--error, #ef4444);margin-bottom:.5rem;line-height:1.5}.query-error-item:last-child{margin-bottom:0}.keyword-search-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.keyword-search-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.keyword-input-group{margin-bottom:.5rem}.keyword-input{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;transition:border-color .2s}.keyword-input:focus{outline:none;border-color:var(--primary-color)}.keyword-input:disabled{background-color:var(--background);cursor:not-allowed}.btn-keyword-search{width:100%;margin-top:.75rem;padding:.625rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:opacity .2s}.btn-keyword-search:hover:not(:disabled){opacity:.9}.btn-keyword-search:disabled{opacity:.5;cursor:not-allowed}.history-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.history-panel-header h3{margin:0;font-size:1.125rem}.btn-deploy{padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:600;transition:opacity .2s;white-space:nowrap}.btn-deploy:hover:not(:disabled){opacity:.9}.btn-deploy:disabled{opacity:.5;cursor:not-allowed}.last-deployment-info{margin-bottom:.75rem;padding:.5rem .75rem;background-color:var(--background);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.deploy-success-message{margin-bottom:.75rem;padding:.75rem;background-color:#22c55e1a;border:1px solid var(--success, #22c55e);border-radius:4px;font-size:.875rem;color:var(--success, #22c55e);text-align:center;font-weight:500}.deploy-running-message{margin-bottom:.75rem;padding:.75rem;background-color:#3b82f61a;border:1px solid #3b82f6;border-radius:4px;font-size:.875rem;color:#3b82f6;text-align:center;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem}.deploy-running-message .spinner{width:16px;height:16px;border-width:2px}
