:root{--primary: #4285f4;--primary-hover: #357ae8;--bg: #0f172a;--card-bg: rgba(30, 41, 59, .7);--text: #f8fafc;--text-muted: #94a3b8;--border: rgba(255, 255, 255, .1);--glass-bg: rgba(30, 41, 59, .4);--glass-border: rgba(255, 255, 255, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;height:100vh;overflow:hidden;background-image:radial-gradient(at 0% 0%,hsla(210,100%,20%,.15) 0px,transparent 50%),radial-gradient(at 50% 0%,hsla(225,100%,20%,.15) 0px,transparent 50%),radial-gradient(at 100% 0%,hsla(240,100%,20%,.15) 0px,transparent 50%)}#app{display:flex;flex-direction:column;height:100%}header{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}header h1{font-size:1.5rem;font-weight:700}header h1 span{color:var(--primary);font-weight:300}main{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem;overflow:hidden}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:1rem;padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 25px -5px #0000004d;transition:transform .2s}#login-section{max-width:400px;text-align:center;animation:fadeIn .5s ease-out}#login-section h2{margin-bottom:1rem}#login-section p{color:var(--text-muted);margin-bottom:2rem}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn.primary{background-color:var(--primary);color:#fff}.btn.primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4285f44d}.icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{color:var(--text);background:#ffffff1a}.main-layout{width:100%;max-width:1200px;height:85vh!important;display:flex!important;flex-direction:column;gap:1.5rem;margin:0 auto}.tab-nav{display:flex;gap:.5rem;padding:0 .5rem;border-bottom:1px solid var(--border)}.tab-btn{background:transparent;border:none;color:var(--text-muted);padding:.75rem 1.5rem;font-size:1rem;font-family:inherit;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab-btn:hover{color:var(--text);background:#ffffff0d;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{display:none;flex:1;height:100%;overflow:hidden}.tab-content.active{display:flex;flex-direction:column}.tools-pane,.chat-pane{background:var(--glass-bg);border:1px solid var(--border);border-radius:1rem;display:flex;flex-direction:column;flex:1;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pane-header{padding:1.25rem;border-bottom:1px solid var(--border);background:#ffffff05;display:flex;justify-content:space-between;align-items:center}.pane-header h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}#tools-list{flex:1;overflow-y:auto;padding:1rem;list-style:none}.chat-pane{display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{max-width:85%;padding:.75rem 1rem;border-radius:1rem;font-size:.95rem;line-height:1.5}.message.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:.25rem}.message.assistant{align-self:flex-start;background:#ffffff1a;color:var(--text);border-bottom-left-radius:.25rem}.chat-input-area{padding:1.25rem;border-top:1px solid var(--border);background:#ffffff05}#chat-form{display:flex;gap:.75rem;align-items:flex-end}#chat-input{flex:1;background:#ffffff0d;border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;color:#fff;font-family:inherit;font-size:.95rem;outline:none;transition:all .2s;resize:none;min-height:48px;max-height:200px;line-height:1.5}#chat-input:focus{border-color:var(--primary);background:#ffffff14;box-shadow:0 0 0 2px #4285f433}.send-btn{width:48px!important;height:48px;padding:0!important;display:flex;align-items:center;justify-content:center;border-radius:50%!important;flex-shrink:0}.model-selector{display:flex;align-items:center;gap:.75rem}.model-selector select{background:#1e293b;border:1px solid var(--border);color:#fff;padding:.4rem .6rem;border-radius:.4rem;font-family:inherit;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.model-selector select option{background:#1e293b;color:#fff}.sidebar h3{margin-bottom:1rem;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}#tools-list{list-style:none}.tool-item{margin-bottom:.75rem;border-radius:.75rem;overflow:hidden;background:#ffffff08;border:1px solid var(--border);transition:all .3s cubic-bezier(.4,0,.2,1)}.tool-item:hover{background:#ffffff0f;border-color:#fff3}.tool-header{padding:1rem 1.25rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.tool-header .tool-info h4{font-weight:600;font-size:1rem;color:var(--text)}.tool-header .tool-info p{font-size:.75rem;color:var(--text-muted)}.tool-indicator{transition:transform .3s;opacity:.5}.tool-item.expanded .tool-indicator{transform:rotate(180deg)}.tool-item.expanded{background:#ffffff0f;border-color:var(--primary);box-shadow:0 4px 20px -5px #00000080}.tool-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.tool-item.expanded .tool-content{grid-template-rows:1fr}.tool-content-inner{overflow:hidden;padding:0 1.25rem 1.25rem}.tool-description{font-size:.9rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.6}.tool-details-section{padding-top:1.25rem;border-top:1px solid var(--border)}.tool-details-section h5{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.schema-view{background:#000;border-radius:.5rem;padding:1rem;overflow-x:auto}.schema-view pre{color:#10b981;font-family:Monaco,Consolas,monospace;font-size:.8rem;white-space:pre}.input-group label{font-size:.875rem;margin-bottom:.4rem}.input-group input{font-size:.9rem;padding:.6rem .75rem}.btn.primary{width:100%;font-size:.9rem}.content{display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}#execution-output{flex:1;background:#000;padding:1rem;font-family:Monaco,Consolas,monospace;font-size:.875rem;overflow:auto}pre{color:#10b981}.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}footer{padding:1rem;text-align:center;font-size:.875rem;color:var(--text-muted);border-top:1px solid var(--border)}.loading{color:var(--text-muted);font-style:italic}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem;color:var(--text-muted)}.input-group input,.input-group textarea{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid var(--border);border-radius:.5rem;color:#fff;font-family:inherit}.message.assistant h1,.message.assistant h2,.message.assistant h3{margin:1rem 0 .5rem;color:var(--primary)}.message.assistant p{margin-bottom:.75rem}.message.assistant ul,.message.assistant ol{margin-bottom:.75rem;padding-left:1.5rem}.message.assistant pre{background:#000;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:.75rem 0;border:1px solid var(--border)}.message.assistant code{font-family:Monaco,Consolas,monospace;background:#0000004d;padding:.2rem .4rem;border-radius:.25rem}.message.assistant table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.85rem}.message.assistant th,.message.assistant td{border:1px solid var(--border);padding:.5rem;text-align:left}.message.assistant th{background:#ffffff0d}.status-indicator{align-self:flex-start;display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#ffffff0d;border-radius:2rem;font-size:.85rem;color:var(--text-muted);margin-bottom:1rem;border:1px solid var(--border);animation:fadeIn .3s ease-out}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.usage-note{align-self:flex-start;font-size:.7rem;color:var(--text-muted);margin-top:-.5rem;margin-bottom:1rem;margin-left:1rem;font-family:inherit}.modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.modal.hidden{display:none!important}.modal-content{width:100%;max-width:500px;margin:1rem;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.25rem;font-weight:600}.section-title{font-weight:600;font-size:1.1rem;margin-bottom:.5rem;color:var(--primary)}.settings-desc{font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}.status-msg{margin:1rem 0;font-size:.875rem;min-height:1.25rem}.status-msg.success{color:#10b981}.status-msg.error{color:#ef4444}.admin-pane{padding:1.5rem;overflow-y:auto}.admin-controls{margin-bottom:2rem;padding:1.5rem;background:#ffffff08;border:1px solid var(--border);border-radius:.75rem}#add-to-allowlist-form{display:flex;gap:1rem}#add-to-allowlist-form input{flex:1}#add-to-allowlist-form .btn{width:auto}.allowlist-container{display:flex;flex-direction:column;gap:1rem}.allowlist-container h4{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}#allowlist-results{list-style:none;display:flex;flex-direction:column;gap:.5rem}.allow-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--border);border-radius:.5rem}.allow-item span{font-family:Monaco,Consolas,monospace;font-size:.9rem}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.btn.danger{background-color:#ef4444;color:#fff}.btn.danger:hover{background-color:#dc2626}
