:root{--color-slate-900:#0f172a;--color-slate-800:#1e293b;--color-slate-700:#334155;--color-slate-600:#475569;--color-slate-500:#64748b;--color-slate-400:#94a3b8;--color-slate-300:#cbd5e1;--color-slate-200:#e2e8f0;--color-slate-100:#f1f5f9;--color-slate-50:#f8fafc;--color-cyan-700:#0e7490;--color-cyan-600:#0891b2;--color-cyan-500:#06b6d4;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-primary:var(--color-cyan-600);--color-primary-hover:var(--color-cyan-700);--color-primary-light:var(--color-cyan-500);--color-text-primary:var(--color-slate-600);--color-text-secondary:var(--color-slate-500);--color-text-disabled:var(--color-slate-400);--color-text-on-dark:var(--color-slate-50);--color-text-on-primary:#fff;--color-bg-dark-primary:var(--color-slate-900);--color-bg-dark-secondary:var(--color-slate-800);--color-bg-light-primary:var(--color-slate-50);--color-bg-light-secondary:#fff;--color-border-dark:var(--color-slate-700);--color-border-medium:var(--color-slate-500);--color-border-light:var(--color-slate-200);--logo-text-color:var(--color-slate-600);--logo-accent-color:var(--color-cyan-600);--logo-size-mobile:24px;--logo-size-tablet:28px;--logo-size-desktop:32px;--logo-letter-spacing:1px;--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif;--font-family-mono:"Fira Code","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--line-height-tight:1.2;--line-height-snug:1.4;--line-height-normal:1.6;--line-height-relaxed:1.7;--line-height-loose:1.8;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #00000026;--shadow-xl:0 20px 60px #0000004d;--shadow-primary:0 4px 12px #0891b24d;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}.logo{align-items:center;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:32px;font-size:var(--logo-size-desktop);font-weight:800;font-weight:var(--font-weight-extrabold);gap:2px;letter-spacing:1px;letter-spacing:var(--logo-letter-spacing)}.logo-api,.logo-mcp{color:#475569;color:var(--logo-text-color)}.logo-number{color:#0891b2;color:var(--logo-accent-color);font-size:1.25em;font-weight:900;font-weight:var(--font-weight-black)}@media (max-width:1024px){.logo{font-size:28px;font-size:var(--logo-size-tablet)}}@media (max-width:640px){.logo{font-size:24px;font-size:var(--logo-size-mobile)}}.text-primary{color:#475569;color:var(--color-text-primary)}.text-secondary{color:#64748b;color:var(--color-text-secondary)}.text-disabled{color:#94a3b8;color:var(--color-text-disabled)}.text-brand{color:#0891b2;color:var(--color-primary)}.bg-dark{background-color:#0f172a;background-color:var(--color-bg-dark-primary)}.bg-dark-secondary{background-color:#1e293b;background-color:var(--color-bg-dark-secondary)}.bg-light{background-color:#f8fafc;background-color:var(--color-bg-light-primary)}.bg-light-secondary{background-color:#fff;background-color:var(--color-bg-light-secondary)}.bg-brand{background-color:#0891b2;background-color:var(--color-primary)}.btn{border-radius:.5rem;border-radius:var(--radius-md);display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:.75rem 1.5rem;padding:var(--spacing-3) var(--spacing-6);transition:all .2s ease;transition:all var(--transition-base)}.btn-primary{background-color:#0891b2;background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:#0e7490;background-color:var(--color-primary-hover);box-shadow:0 4px 12px #0891b24d;box-shadow:var(--shadow-primary);transform:translateY(-1px)}.btn-secondary{background-color:initial;border:2px solid #475569;border:2px solid var(--color-text-primary);color:#475569;color:var(--color-text-primary)}.btn-secondary:hover{background-color:#475569;background-color:var(--color-text-primary);color:#fff}.card{border-radius:.75rem;border-radius:var(--radius-lg);padding:1.5rem;padding:var(--spacing-6);transition:all .2s ease;transition:all var(--transition-base)}.card-dark{background-color:#1e293b;background-color:var(--color-bg-dark-secondary);border:1px solid #334155;border:1px solid var(--color-border-dark);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md)}.card-light{background-color:#fff;background-color:var(--color-bg-light-secondary);border:1px solid #e2e8f0;border:1px solid var(--color-border-light);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.card:hover{box-shadow:0 8px 24px #00000026;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.input{background-color:#0f172a;background-color:var(--color-bg-dark-primary);border:1px solid #334155;border:1px solid var(--color-border-dark);border-radius:.5rem;border-radius:var(--radius-md);color:#f8fafc;color:var(--color-text-on-dark);font-size:1rem;font-size:var(--font-size-base);padding:.75rem 1rem;padding:var(--spacing-3) var(--spacing-4);transition:all .2s ease;transition:all var(--transition-base);width:100%}.input:focus{border-color:#0891b2;border-color:var(--color-primary);box-shadow:0 0 0 3px #0891b21a;outline:none}.input::placeholder{color:#94a3b8;color:var(--color-text-disabled)}body{color:var(--color-text-primary);line-height:var(--line-height-normal)}code{font-family:var(--font-family-mono)}.auth-container{align-items:center;background:var(--color-bg-dark-primary);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-8)}.auth-card{background:var(--color-bg-light-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:450px;padding:var(--spacing-10);width:100%}.auth-header{margin-bottom:var(--spacing-8);text-align:center}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-4)}.auth-header h1{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-2) 0}.auth-header p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form .form-group{margin-bottom:0}.auth-form .form-group label{color:var(--color-text-primary);display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-2)}.auth-form .form-input{border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-base);padding:var(--spacing-3);transition:all var(--transition-base);width:100%}.auth-form .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0891b21a;outline:none}.auth-form .form-input:disabled{background-color:var(--color-bg-light-primary);cursor:not-allowed}.auth-button{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-2);padding:var(--spacing-4);transition:all var(--transition-base)}.auth-button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-2px)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-footer{margin-top:1.5rem;text-align:center}.auth-footer p{color:var(--color-text-secondary);margin:var(--spacing-2) 0}.auth-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color var(--transition-base)}.auth-link:hover{color:var(--color-primary-hover);text-decoration:underline}.default-credentials{background:#0891b20d;border:1px solid #0891b233;border-radius:var(--radius-md);margin-top:var(--spacing-4);padding:var(--spacing-3)}.default-credentials small{color:var(--color-primary);font-weight:var(--font-weight-medium)}.error-message{background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);padding:var(--spacing-3)}.oauth-divider{align-items:center;color:var(--color-text-secondary);display:flex;margin:var(--spacing-6) 0;text-align:center}.oauth-divider:after,.oauth-divider:before{border-bottom:1px solid var(--color-border-light);content:"";flex:1 1}.oauth-divider span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0 var(--spacing-4)}.oauth-buttons{display:flex;flex-direction:column;gap:.75rem}.oauth-button{align-items:center;background:var(--color-bg-light-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-3);justify-content:center;padding:var(--spacing-3) var(--spacing-4);transition:all var(--transition-base)}.oauth-button:hover:not(:disabled){background:#0891b20d;border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.oauth-button:active:not(:disabled){transform:translateY(0)}.oauth-button:disabled{cursor:not-allowed;opacity:.6}.oauth-button svg{flex-shrink:0}.oauth-button.google{border-color:#4285f4}.oauth-button.google:hover:not(:disabled){background:#f1f7ff;border-color:#4285f4}.oauth-button.github{border-color:#24292e}.oauth-button.github:hover:not(:disabled){background:#f6f8fa;border-color:#24292e}@media (max-width:480px){.auth-card{padding:var(--spacing-8) var(--spacing-6)}.auth-header h1{font-size:var(--font-size-2xl)}.oauth-button{font-size:var(--font-size-sm);padding:var(--spacing-3)}}.layout-container{background:var(--color-bg-light-primary);display:flex;min-height:100vh;position:relative}.side-menu{background:var(--color-bg-dark-primary);color:var(--color-text-on-dark);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform var(--transition-base);width:260px;z-index:1000}.side-menu-header{border-bottom:1px solid var(--color-border-dark);padding:var(--spacing-8) var(--spacing-6);text-align:center}.side-menu-logo{align-items:center;display:flex;justify-content:center;margin:0;transition:all var(--transition-base)}.side-menu-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-2) 0 0 0;text-align:center}.side-menu-nav{flex:1 1;overflow-y:auto;padding:1.5rem 0}.side-menu-section{margin-bottom:2rem}.side-menu-section-title{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-3);padding:0 var(--spacing-6);text-transform:uppercase}.side-menu-item{align-items:center;border-left:3px solid #0000;color:var(--color-text-on-dark);cursor:pointer;display:flex;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:all var(--transition-base)}.side-menu-item.active,.side-menu-item:hover{background:var(--color-bg-dark-secondary);border-left-color:var(--color-primary)}.side-menu-item.active{font-weight:var(--font-weight-semibold)}.side-menu-item-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.25rem;height:28px;justify-content:center;min-width:28px;width:28px}.side-menu-item-text{flex:1 1}.side-menu-footer{border-top:1px solid var(--color-border-dark);padding:var(--spacing-6)}.side-menu-credits{align-items:center;background:linear-gradient(135deg,#0891b226,#0e749026);border:1px solid var(--color-primary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.credits-icon{filter:drop-shadow(0 0 3px rgba(251,191,36,.5));font-size:1.25rem}.credits-amount{color:var(--color-text-on-dark);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);min-width:2ch}.credits-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.credits-label,.side-menu-claude-setup{font-weight:var(--font-weight-semibold)}.side-menu-claude-setup{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:var(--spacing-2);justify-content:center;margin-bottom:var(--spacing-4);padding:var(--spacing-3);transition:all var(--transition-base);width:100%}.side-menu-claude-setup:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-2px)}.side-menu-user{align-items:center;background:var(--color-bg-dark-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-3);padding:var(--spacing-3)}.side-menu-user-avatar{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);height:40px;justify-content:center;width:40px}.side-menu-user-info{flex:1 1;min-width:0}.side-menu-user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-menu-user-role{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.side-menu-logout{background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--spacing-3);transition:all var(--transition-base);width:100%}.side-menu-logout:hover{background:#ef444433;border-color:var(--color-error)}.main-content{box-sizing:border-box;flex:1 1;margin-left:260px;min-height:100vh;padding:2rem;width:calc(100vw - 260px)}.page-title{color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-2) 0}.page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base)}.page-content{background:var(--color-bg-light-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-8)}.mobile-menu-toggle{background:var(--color-bg-dark-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text-on-dark);cursor:pointer;display:none;font-size:var(--font-size-2xl);height:48px;left:var(--spacing-4);position:fixed;top:var(--spacing-4);transition:all var(--transition-base);width:48px;z-index:1100}.mobile-menu-toggle:hover{background:var(--color-bg-dark-secondary);transform:scale(1.05)}@media (max-width:1024px){.mobile-menu-toggle{align-items:center;display:flex;justify-content:center}.side-menu{transform:translateX(-100%)}.side-menu.mobile-open{transform:translateX(0)}.main-content{margin-left:0!important;padding:6rem 1.5rem 1.5rem;width:100%!important}.page-header{margin-top:0}.page-title{font-size:1.5rem}.page-subtitle{font-size:.9rem}}@media (max-width:768px){.main-content{padding:6rem 1rem 1rem}.page-header{margin-bottom:1.5rem;margin-top:0}.page-title{font-size:1.5rem}.page-subtitle{font-size:.85rem}.page-content{padding:1.5rem}}@media (max-width:480px){.main-content{padding:5.5rem .75rem .75rem}.page-header{margin-top:0}.page-title{font-size:1.25rem}.page-subtitle{font-size:.8rem}.page-content{padding:1rem}}.mobile-menu-overlay{display:none}@media (max-width:1024px){.mobile-menu-overlay{background:#00000080;bottom:0;display:block;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease-in-out;z-index:999}.mobile-menu-overlay.active{opacity:1;pointer-events:auto}}.page-header{align-items:flex-start;display:flex;justify-content:space-between}.btn-primary{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:.75rem 1.5rem;transition:all var(--transition-base)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:var(--color-bg-light-secondary);border:2px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;font-weight:var(--font-weight-semibold);padding:.625rem 1.25rem;transition:all var(--transition-base)}.btn-secondary:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-text-on-primary);transform:translateY(-1px)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-danger-outline{background:#ef44441a;border:2px solid var(--color-error);border-radius:8px;color:var(--color-error);cursor:pointer;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.btn-danger-outline:hover:not(:disabled){background:var(--color-error);box-shadow:0 4px 12px #ef44444d;color:#fff;transform:translateY(-1px)}.btn-danger-outline:disabled{cursor:not-allowed;opacity:.6;transform:none}.alert{border:1px solid;border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6);padding:var(--spacing-4)}.alert-error{background:#ef44441a;border-color:var(--color-error)}.alert-info{background:#0891b214;border-color:var(--color-primary);color:var(--color-slate-700)}.alert-info strong{color:var(--color-primary);font-weight:var(--font-weight-bold)}.loading-state{padding:3rem}.empty-state{padding:4rem 2rem;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1.5rem}.empty-state h3{color:var(--primary-blue-darker);font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:#64748b;margin:0 0 2rem}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media (min-width:1400px){.projects-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}}@media (min-width:1600px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}}@media (min-width:1920px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(480px,1fr))}}@media (min-width:2560px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}}.project-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;height:100%;min-height:280px;padding:1.5rem;transition:all .2s}.project-card:hover{border-color:var(--accent-blue);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.project-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.project-card-title{color:var(--primary-blue-darker);flex:1 1;font-size:1.25rem;font-weight:700;margin:0}.project-status{border-radius:20px;font-size:.75rem;font-weight:600;padding:.375rem .75rem;text-transform:uppercase}.project-status.active{background:#d1fae5;color:#065f46}.project-status.inactive{background:#fee2e2;color:#991b1b}.project-status.processing{animation:pulse 2s ease-in-out infinite;background:#fef3c7;color:#92400e}.project-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem;max-height:3em;overflow:hidden;text-overflow:ellipsis}.project-card-meta{background:var(--bg-light);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.project-card-meta-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.project-card-meta-item:last-child{margin-bottom:0}.project-card-meta-label{color:#64748b;font-size:.9rem;font-weight:600}.project-card-meta-value{color:var(--primary-blue-darker);font-size:.9rem;font-weight:600}.project-card-footer{display:flex;gap:.75rem;margin-top:auto}.project-card-footer button{flex:1 1}.modal-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172abf;padding:var(--spacing-4);z-index:var(--z-modal-backdrop)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:var(--color-bg-light-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:650px;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:var(--color-slate-50);border-bottom:1px solid var(--color-border-light);padding:var(--spacing-6) var(--spacing-8)}.modal-header h2{color:var(--color-slate-900);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-slate-400);cursor:pointer;display:flex;font-size:2rem;height:36px;justify-content:center;line-height:1;transition:all var(--transition-base);width:36px}.modal-close:hover{background:var(--color-slate-200);color:var(--color-slate-700)}.tabs{background:var(--color-slate-50);border-bottom:2px solid var(--color-border-light);padding:0 var(--spacing-8)}.tab,.tabs{gap:var(--spacing-2)}.tab{align-items:center;background:#0000;border-bottom:3px solid #0000;color:var(--color-slate-500);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:-2px;padding:var(--spacing-4) var(--spacing-6);transition:all var(--transition-base)}.tab:hover{background:#0891b20d}.tab.active,.tab:hover{color:var(--color-primary)}.tab.active{border-bottom-color:var(--color-primary)}.modal-content form{flex:1 1;overflow-y:auto;padding:var(--spacing-8)}.form-group{margin-bottom:var(--spacing-6)}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--color-slate-900);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.form-group input,.form-group select,.form-group textarea{background:var(--color-bg-light-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-slate-900);font-family:var(--font-family-sans);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);transition:all var(--transition-base);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--color-bg-light-secondary);border-color:var(--color-primary);box-shadow:0 0 0 3px #0891b21a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--color-slate-100);cursor:not-allowed;opacity:.7}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23475569' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--spacing-4) center;background-repeat:no-repeat;cursor:pointer;padding-right:var(--spacing-10)}.form-group small{color:var(--color-slate-500);display:block;font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-top:var(--spacing-2)}.form-group textarea.openapi-textarea{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.5}.form-row{display:flex;gap:var(--spacing-4)}details{background:var(--color-slate-50);border:2px solid var(--color-border-light);border-radius:var(--radius-md);margin:var(--spacing-6) 0;padding:var(--spacing-4)}details summary{align-items:center;border-radius:var(--radius-sm);color:var(--color-slate-700);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);list-style:none;padding:var(--spacing-2);transition:all var(--transition-base);-webkit-user-select:none;user-select:none}details summary::-webkit-details-marker{display:none}details summary:before{color:var(--color-slate-500);content:"▶";display:inline-block;font-size:.7em;transition:transform var(--transition-base)}details[open] summary:before{transform:rotate(90deg)}details summary:hover{background:#0891b20d;color:var(--color-primary)}details[open]{padding-bottom:var(--spacing-6)}details .form-group:first-of-type{margin-top:var(--spacing-4)}.modal-footer{background:var(--color-slate-50);border-top:1px solid var(--color-border-light);display:flex;gap:var(--spacing-3);justify-content:flex-end;padding:var(--spacing-6) var(--spacing-8)}@media (max-width:1024px){.projects-grid{gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.modal-content{max-width:90%}}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:1rem}.page-header .btn-primary{width:100%}.projects-grid{gap:1rem;grid-template-columns:1fr}.project-card{padding:1.25rem}.project-card-header{align-items:flex-start;flex-direction:column;gap:.75rem}.project-status{align-self:flex-start}.project-card-footer{flex-direction:column}.project-card-footer button{width:100%}.modal-content{margin:.5rem;max-width:95%}.modal-header{padding:1.25rem 1.5rem}.modal-header h2{font-size:1.25rem}.modal-content form{padding:1.5rem}.modal-footer{flex-direction:column-reverse;padding:1.25rem 1.5rem}.modal-footer button{width:100%}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0 var(--spacing-6)}.tab{font-size:var(--font-size-sm);padding:var(--spacing-3) var(--spacing-4);white-space:nowrap}}@media (max-width:480px){.empty-state{padding:3rem 1rem}.empty-state-icon{font-size:3rem}.empty-state h3{font-size:1.25rem}.project-card-title{font-size:1.1rem}.project-card-meta{padding:.875rem}.project-card-meta-item{flex-direction:column;gap:.25rem;margin-bottom:.75rem}.modal-header{padding:1rem}.modal-header h2{font-size:1.1rem}.modal-content form,.modal-footer{padding:1rem}.alert-info{font-size:.875rem;padding:.875rem}.btn-danger-outline,.btn-primary,.btn-secondary{font-size:.95rem;padding:.675rem 1.25rem}}.back-button{background:none;border:none;color:var(--primary-blue);cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:1rem;padding:.5rem 0;transition:all .2s}.back-button:hover{color:var(--accent-blue);transform:translateX(-4px)}.project-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}@media (min-width:1400px){.project-info-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1920px){.project-info-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:2560px){.project-info-grid{grid-template-columns:repeat(5,1fr)}}.info-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:1.5rem}.info-card-label{color:#64748b;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.info-card-value{color:var(--primary-blue-darker);font-size:1.5rem;font-weight:700}.info-card-value.highlight{color:var(--accent-blue)}.status-badge{border-radius:20px;display:inline-block;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.status-badge.pending{background:#fef3c7;color:#92400e}.tech-stack{background:#fff;border:2px solid var(--border-color);border-radius:12px;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.tech-section,.tech-stack{display:flex;flex-wrap:wrap}.tech-section{align-items:center;gap:.75rem}.tech-label{color:var(--primary-blue-darker);font-weight:600}.tech-badge{background:var(--bg-light);border:1px solid var(--border-color);border-radius:6px;color:var(--primary-blue);font-size:.875rem;font-weight:600;padding:.375rem .875rem}.apis-section{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:2rem}.section-title{color:var(--primary-blue-darker);font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.empty-apis{color:#64748b;padding:3rem;text-align:center}.apis-list{gap:1rem}.api-card{border:2px solid var(--border-color);border-radius:10px;padding:1.25rem;transition:all .2s}.api-card.enabled{background:#f0f9ff;border-color:var(--accent-blue)}.api-card.disabled{background:#f8fafc;opacity:.7}.api-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.api-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.api-method-path{align-items:center;display:flex;flex:1 1;gap:.75rem}.api-method-badge{border-radius:6px;color:#fff;font-size:.75rem;font-weight:700;min-width:70px;padding:.375rem .75rem;text-align:center}.api-path{color:var(--primary-blue-darker);font-size:1rem;font-weight:600}.api-description{color:#64748b;line-height:1.5;margin:.75rem 0 0}.api-file{align-items:center;background:#1e3a8a0d;border-radius:6px;display:flex;gap:.5rem;margin-top:.75rem;padding:.625rem}.api-file-icon{font-size:1rem}.api-file-path{color:var(--primary-blue);font-family:Monaco,Menlo,monospace;font-size:.8rem;font-weight:500}.toggle-switch{display:inline-block;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e1;border-radius:28px;bottom:0;box-shadow:inset 0 1px 3px #0000001a;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;box-shadow:0 2px 4px #0003;content:"";height:20px;left:4px;position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1);width:20px}input:checked+.toggle-slider{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 2px 8px #0891b266}input:checked+.toggle-slider:before{box-shadow:0 2px 6px #0000004d;transform:translateX(24px)}input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.toggle-slider:hover:not(input:disabled+.toggle-slider){box-shadow:0 0 0 4px #0891b21a}.api-card-actions{gap:.75rem}.api-card-actions,.btn-icon{align-items:center;display:flex}.btn-icon{background:none;border:2px solid var(--border-color);border-radius:6px;color:var(--primary-blue);cursor:pointer;font-size:1rem;font-weight:700;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-icon:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.api-card.expanded{border-color:var(--accent-blue);box-shadow:0 4px 16px #3b82f633}.api-edit-form{background:#f8fafc;border:2px solid var(--border-color);border-radius:8px;margin-top:1rem;padding:1rem}.api-edit-form .form-group{margin-bottom:1rem}.api-edit-form label{color:var(--primary-blue-darker);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.api-edit-form textarea{border:2px solid var(--border-color);border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;resize:vertical;width:100%}.api-edit-form textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-actions{display:flex;gap:.75rem;justify-content:flex-end}.api-details-panel{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.details-header{align-items:center;border-bottom:2px solid #bae6fd;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.details-header h4{color:var(--primary-blue-darker);font-size:1.1rem;margin:0}.btn-secondary-small{background:#fff;border:2px solid var(--accent-blue);border-radius:6px;color:var(--primary-blue);cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.btn-secondary-small:hover{background:var(--accent-blue);color:#fff}.details-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (min-width:1400px){.details-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1920px){.details-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:2560px){.details-grid{grid-template-columns:repeat(4,1fr)}}.detail-section{background:#fff;border:2px solid var(--border-color);border-radius:8px;padding:1.25rem}.detail-section.full-width{grid-column:1/-1}.detail-section h5{color:var(--primary-blue);font-size:.85rem;font-weight:700;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.detail-value{color:var(--primary-blue-darker);font-size:.95rem;line-height:1.6;margin:0}.detail-value code{background:#f1f5f9;border-radius:4px;color:var(--accent-blue);font-family:Monaco,Menlo,monospace;font-size:.9rem;font-weight:600;padding:.25rem .5rem}.params-list{display:flex;flex-direction:column;gap:.75rem}.param-item{background:#f8fafc;border:1px solid var(--border-color);border-radius:6px;padding:1rem}.param-name{color:var(--primary-blue-darker);font-family:Monaco,Menlo,monospace;font-size:.95rem;font-weight:700}.param-type{background:#dbeafe;color:#1e40af}.param-required,.param-type{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase}.param-required{background:#fee2e2;color:#991b1b}.param-description{color:#64748b;font-size:.875rem;line-height:1.5;margin:.5rem 0 0}.no-data{color:#94a3b8;font-style:italic;margin:0}.json-display{background:#1e293b;border-radius:6px;color:#e2e8f0;font-family:Monaco,Menlo,monospace;font-size:.85rem;line-height:1.6;margin:0;max-height:500px;overflow-x:auto;overflow-y:auto;padding:1.25rem}@media (max-width:768px){.project-info-grid{grid-template-columns:1fr 1fr}.api-card-header,.tech-stack{align-items:flex-start;flex-direction:column}.api-card-header{gap:1rem}.api-method-path{flex-wrap:wrap}}.btn-test{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.375rem;padding:.5rem 1rem;transition:all .2s}.btn-test:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.modal-large{display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden}.test-modal-body{flex:1 1;max-height:calc(90vh - 180px);overflow-y:auto;padding:0 1.5rem}.test-section{margin-bottom:2rem;padding-bottom:0}.test-section:last-child{margin-bottom:1rem}.test-section h3{border-bottom:3px solid var(--accent-blue);color:var(--primary-blue-darker);font-size:1rem;font-weight:700;letter-spacing:.5px;margin:0 0 1.25rem;padding-bottom:.75rem;text-transform:uppercase}.endpoint-info{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:1.5rem}.info-row{grid-gap:1.25rem;align-items:center;border-bottom:1px solid #e2e8f0;display:grid;gap:1.25rem;grid-template-columns:140px 1fr;padding:1rem 0}.info-row:first-child{padding-top:0}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-label{align-items:center;color:var(--primary-blue-darker);display:flex;font-size:.875rem;font-weight:700}.info-label:before{color:var(--accent-blue);content:"▸";font-weight:700;margin-right:.5rem}.info-row code{background:#fff;border:2px solid var(--border-color);border-radius:8px;color:var(--primary-blue);display:block;font-family:Monaco,Menlo,monospace;font-size:.875rem;padding:.625rem 1rem;word-break:break-all}.info-row .api-method-badge{border-radius:6px;box-shadow:0 2px 8px #00000026;color:#fff;display:inline-block;font-size:.875rem;font-weight:700;min-width:70px;padding:.375rem 1rem;text-align:center}.params-form{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.params-form .form-group{margin-bottom:0}.params-form label{align-items:baseline;color:var(--primary-blue-darker);display:flex;font-size:.95rem;font-weight:700;gap:.5rem;margin-bottom:.625rem}.param-type-label{background:#dbeafe;border-radius:4px;color:#1e40af;font-size:.75rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.param-description-small{color:#64748b;font-size:.875rem;line-height:1.5;margin:0 0 .625rem}.params-form input{background:#fff;border:2px solid var(--border-color);border-radius:8px;font-family:Monaco,Menlo,monospace;font-size:.95rem;padding:.875rem 1rem;transition:all .2s;width:100%}.params-form input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.no-params{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed var(--border-color);border-radius:12px;color:#94a3b8;font-style:italic;margin:0;padding:2rem;text-align:center}.test-result{border:2px solid;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:1.5rem}.test-result.success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#4ade80}.test-result.error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#f87171}.result-header{border-bottom:2px solid #0000001a;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem}.result-header,.result-status{align-items:center;display:flex}.result-status{font-size:1.1rem;font-weight:700;gap:.5rem}.test-result.success .result-status{color:#16a34a}.test-result.success .result-status:before{align-items:center;background:#16a34a;border-radius:50%;color:#fff;content:"✓";display:inline-block;display:flex;font-size:1.2rem;height:28px;justify-content:center;width:28px}.test-result.error .result-status{color:#dc2626}.test-result.error .result-status:before{align-items:center;background:#dc2626;border-radius:50%;color:#fff;content:"✗";display:inline-block;display:flex;font-size:1.2rem;height:28px;justify-content:center;width:28px}.result-code{background:#fffc;border-radius:6px;color:var(--primary-blue-darker);font-size:.875rem;font-weight:700;padding:.375rem .75rem}.result-body{background:#1e293b;border-radius:8px;box-shadow:inset 0 2px 8px #0000004d;color:#e2e8f0;font-family:Monaco,Menlo,monospace;font-size:.875rem;line-height:1.7;margin:0;max-height:400px;overflow-x:auto;overflow-y:auto;padding:1.5rem}.result-body::-webkit-scrollbar{height:8px;width:8px}.result-body::-webkit-scrollbar-track{background:#0f172a;border-radius:4px}.result-body::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.result-body::-webkit-scrollbar-thumb:hover{background:#64748b}.result-error{background:#fff;border:2px solid #fca5a5;border-radius:8px;color:#dc2626;font-weight:600;line-height:1.6;margin:0;padding:1.25rem}.result-subsection{margin-top:1.25rem}.result-subsection h4{color:var(--primary-blue-darker);font-size:.95rem;font-weight:700;letter-spacing:.5px;margin:0 0 .875rem;text-transform:uppercase}.debug-section{border-top:2px solid #0000001a;margin-top:1.5rem;padding-top:1.5rem}.debug-subsection{margin-bottom:1.5rem}.debug-subsection:last-child{margin-bottom:0}.debug-subsection h5{background:#fff9;border-left:4px solid var(--accent-blue);border-radius:4px;color:#475569;font-size:.875rem;font-weight:700;letter-spacing:.5px;margin:0 0 1rem;padding:.5rem .75rem;text-transform:uppercase}.debug-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.debug-item{background:#ffffffb3;border:1px solid #0000001a;border-radius:8px;padding:1rem}.debug-item.full-width{grid-column:1/-1}.debug-label{color:#475569;display:block;font-size:.8rem;font-weight:700;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.debug-item code{background:#f8fafc;border:1px solid var(--border-color);border-radius:6px;color:var(--primary-blue);display:block;font-size:.85rem;font-weight:600;padding:.5rem .75rem}.debug-code,.debug-item code{font-family:Monaco,Menlo,monospace}.debug-code{background:#1e293b;border-radius:6px;box-shadow:inset 0 1px 4px #0000004d;color:#e2e8f0;font-size:.8rem;line-height:1.6;margin:0;max-height:300px;overflow-x:auto;overflow-y:auto;padding:1rem}.debug-code::-webkit-scrollbar{height:6px;width:6px}.debug-code::-webkit-scrollbar-track{background:#0f172a;border-radius:3px}.debug-code::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.debug-code::-webkit-scrollbar-thumb:hover{background:#64748b}.proxy-server-page{margin:0 auto;max-width:1200px;padding:2rem}.page-header{margin-bottom:2rem}.page-title{color:#1e3a8a;font-size:2rem;font-weight:700;margin:0 0 .5rem}.page-subtitle{color:#64748b;font-size:1rem;margin:0}.loading-state{color:#64748b;font-size:1.1rem;padding:4rem 2rem;text-align:center}.alert{border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.5rem}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.server-controls-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:2rem;transition:all .2s}.server-controls-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a}.server-status{margin-bottom:1.5rem}.status-indicator{align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.75rem}.status-dot{animation:pulse 2s ease-in-out infinite;border-radius:50%;height:16px;width:16px}.status-dot.running{background:#10b981;box-shadow:0 0 12px #10b98199}.status-dot.stopped{animation:none;background:#ef4444;box-shadow:0 0 12px #ef444499}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status-text{color:#1e3a8a}.control-buttons{display:flex;flex-wrap:wrap;gap:1rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.75rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:not(:disabled):hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.btn-success{background:#10b981;color:#fff}.btn-success:not(:disabled):hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:not(:disabled):hover{background:#dc2626}.btn-secondary{background:#3b82f6;color:#fff}.btn-secondary:not(:disabled):hover{background:#2563eb}.connection-info-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:2rem;transition:all .2s}.connection-info-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a}.connection-info-card h2{color:#1e3a8a;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.info-subtitle{color:#64748b;font-size:.9rem;margin:0 0 1.5rem}.connection-fields{display:flex;flex-direction:column;gap:1.25rem}.connection-field{display:flex;flex-direction:column;gap:.5rem}.connection-field label{color:#1e3a8a;font-size:.95rem;font-weight:600}.copy-field{display:flex;gap:.5rem}.copy-input{background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#1e3a8a;flex:1 1;font-family:Courier New,monospace;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.copy-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-copy{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;min-width:70px;padding:.75rem 1.25rem;transition:all .2s}.btn-copy:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.btn-copy.copied{background:#10b981}.btn-copy.copied:hover{background:#059669}.usage-stats-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:2rem;transition:all .2s}.usage-stats-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a}.usage-stats-card h2{color:#1e3a8a;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:all .2s}.stat-item:hover{border-color:#3b82f6;transform:translateY(-2px)}.stat-label{color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#1e3a8a;font-size:2rem;font-weight:700}@media (max-width:768px){.proxy-server-page{padding:1rem}.page-title{font-size:1.5rem}.control-buttons{flex-direction:column}.btn{justify-content:center;width:100%}.stats-grid{grid-template-columns:1fr}.copy-field{flex-direction:column}.btn-copy{width:100%}}.logs-container{margin:0 auto;max-width:1400px;padding:2rem}.logs-header{margin-bottom:2rem}.logs-header h1{color:#1a1a1a;font-size:2rem;margin-bottom:.5rem}.logs-header .subtitle{color:#666;font-size:1rem}.tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:2rem}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.tab.active,.tab:hover{color:#3b82f6}.tab.active{border-bottom-color:#3b82f6;font-weight:600}.summary-section{margin-bottom:2rem}.summary-section h2{color:#1a1a1a;font-size:1.5rem;margin-bottom:1rem}.summary-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media (min-width:1400px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}}@media (min-width:1920px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}}.summary-card{background:#fff;border-left:4px solid #3b82f6;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.summary-card.api-card{border-left-color:#10b981}.summary-card h3{color:#1a1a1a;font-size:1.25rem;margin-bottom:1rem}.metric-row{display:flex;gap:2rem;margin-bottom:1rem}.metric{flex:1 1}.metric-value{color:#1a1a1a;display:block;font-size:2rem;font-weight:700}.metric.success .metric-value{color:#10b981}.metric.error .metric-value{color:#ef4444}.metric-label{color:#666;display:block;font-size:.875rem;margin-top:.25rem}.success-bar{background:#e5e7eb;border-radius:9999px;height:24px;margin:1rem 0;overflow:hidden;position:relative}.success-fill{background:linear-gradient(90deg,#10b981,#34d399);height:100%;transition:width .3s}.success-text{color:#1a1a1a;font-size:.875rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.avg-time{background:#f9fafb;border-radius:4px;color:#666;font-size:.875rem;padding:.5rem;text-align:center}.timeline-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h2{color:#1a1a1a;font-size:1.5rem}.section-header select{border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.charts-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:2rem}@media (min-width:1600px){.charts-row{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}}@media (min-width:2200px){.charts-row{grid-template-columns:repeat(auto-fit,minmax(550px,1fr))}}.chart-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.chart-card h3{color:#1a1a1a;font-size:1.125rem;margin-bottom:1rem}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filters input,.filters select{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:.875rem;min-width:200px;padding:.5rem 1rem}.filters button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1.5rem;transition:background .2s}.filters button:hover{background:#2563eb}.logs-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;overflow:hidden}.logs-table{border-collapse:collapse;width:100%}.logs-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.logs-table th{color:#374151;font-weight:600;letter-spacing:.025em;text-align:left;text-transform:uppercase}.logs-table td,.logs-table th{font-size:.875rem;padding:.75rem 1rem}.logs-table td{border-bottom:1px solid #f3f4f6;color:#1f2937}.logs-table tbody tr{transition:background .1s}.logs-table tbody tr:hover{background:#f9fafb}.logs-table tbody tr.error-row{background:#fef2f2}.logs-table tbody tr.error-row:hover{background:#fee2e2}.endpoint-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.badge.success{background:#d1fae5;color:#065f46}.badge.error{background:#fee2e2;color:#991b1b}.method-badge{background:#e5e7eb;border-radius:4px;color:#374151;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.method-badge.method-get{background:#dbeafe;color:#1e40af}.method-badge.method-post{background:#d1fae5;color:#065f46}.method-badge.method-put{background:#fef3c7;color:#92400e}.method-badge.method-delete{background:#fee2e2;color:#991b1b}.method-badge.method-patch{background:#e9d5ff;color:#6b21a8}.pagination{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;justify-content:center;padding:1rem}.pagination button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background .2s}.pagination button:hover:not(:disabled){background:#2563eb}.pagination button:disabled{background:#9ca3af;cursor:not-allowed}.pagination span{color:#666;font-size:.875rem}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#1a1a1a;font-size:1.5rem;margin:0}.modal-header button{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;line-height:1;padding:0;transition:all .2s;width:2rem}.modal-header button:hover{background:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.detail-grid{grid-gap:1rem;background:#f9fafb;border-radius:6px;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem;padding:1rem}.detail-grid div{font-size:.875rem}.detail-grid strong{color:#374151;font-weight:600}.json-section{margin-bottom:1.5rem}.json-section h4{color:#374151;font-size:1rem;font-weight:600;margin-bottom:.5rem}.json-section pre{background:#1f2937;border-radius:6px;color:#10b981;font-size:.75rem;line-height:1.5;overflow-x:auto;padding:1rem}.error-section{background:#fef2f2;border-left:4px solid #ef4444;border-radius:6px;padding:1rem}.error-section h4{color:#991b1b;font-size:1rem;font-weight:600;margin-bottom:.5rem}.error-message{color:#7f1d1d;font-family:monospace;font-size:.875rem}@media (max-width:768px){.charts-row,.summary-grid{grid-template-columns:1fr}.metric-row{flex-direction:column;gap:.5rem}.detail-grid{grid-template-columns:1fr}.tabs{overflow-x:auto}.filters{flex-direction:column}.filters button,.filters input,.filters select{width:100%}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-light-primary);font-family:var(--font-family-sans);margin:0}.App{min-height:100vh}.App-header{background:var(--color-bg-dark-primary);box-shadow:var(--shadow-md);color:var(--color-text-on-dark);padding:var(--spacing-8);text-align:center}.App-header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-2) 0}.App-header p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0;opacity:.9}.section{background:var(--color-bg-light-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-6)}.section h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-4) 0}.status-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (min-width:1400px){.status-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (min-width:1920px){.status-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (min-width:2560px){.status-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}.status-card{background:var(--color-bg-light-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-4);transition:all var(--transition-base)}.status-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.status-card h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-4) 0}.status-row{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.status-icon{font-size:1.2rem}.status-text{font-weight:500}.status-details{font-size:.9rem;margin-bottom:1rem}.status-details p{margin:.25rem 0}.github-connection{gap:1rem}.form-group,.github-connection{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#495057;font-weight:500}.form-input{border:1px solid #ced4da;border-radius:4px;font-size:1rem;padding:.75rem}.form-input:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.form-input:disabled{background-color:#e9ecef;opacity:.6}.form-help{color:#6c757d;font-size:.875rem}.analyze-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s}.analyze-button:hover:not(:disabled){box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.analyze-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.analyze-button.analyzing{background:#6c757d}.action-button,.control-button,.refresh-button,.toggle-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.action-button:hover,.refresh-button:hover,.toggle-button:hover{background:#0056b3}.proxy-controls{display:flex;flex-wrap:wrap;gap:.5rem}.control-button{flex:1 1;min-width:80px}.control-button.start{background:#28a745}.control-button.start:hover:not(:disabled){background:#1e7e34}.control-button.stop{background:#dc3545}.control-button.stop:hover:not(:disabled){background:#bd2130}.control-button:disabled{cursor:not-allowed;opacity:.5}.action-button.primary{background:#007bff;font-weight:500}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;padding:.75rem}.error-text{color:#dc3545}.models-list,.tools-list{list-style:none;margin:.5rem 0;padding:0}.models-list li,.tools-list li{border-bottom:1px solid #e9ecef;font-size:.9rem;padding:.25rem 0}.models-list li:last-child,.tools-list li:last-child{border-bottom:none}.help-text{background:#e7f3ff;border:1px solid #b8daff;border-radius:4px;margin-top:1rem;padding:.75rem}.help-text p{margin:.5rem 0}.help-text code{background:#f8f9fa;border-radius:3px;font-family:Monaco,Menlo,monospace;padding:.25rem .5rem}.instructions{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:1rem;padding:1rem}.instructions h4{color:#495057;margin:0 0 .5rem}.instructions ol{margin:0;padding-left:1.5rem}.instructions li{margin-bottom:.25rem}.analysis-summary{margin-bottom:2rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}@media (min-width:1400px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (min-width:1920px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (min-width:2560px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.summary-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:1rem}.apis-list{display:flex;flex-direction:column;gap:.5rem}.api-item{border:1px solid #e9ecef;border-radius:4px;cursor:pointer;padding:1rem;transition:all .2s}.api-item:hover{border-color:#007bff;box-shadow:0 2px 4px #0000001a}.api-item.selected{background:#e7f3ff;border-color:#007bff}.api-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.method-badge{border-radius:3px;color:#fff;font-size:.8rem;font-weight:500;min-width:60px;padding:.25rem .5rem;text-align:center}.api-path{font-family:Monaco,Menlo,monospace;font-weight:500}.api-meta{color:#6c757d;font-size:.85rem;margin-bottom:.5rem}.api-description{color:#495057;font-size:.9rem}.api-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:1rem;padding:1.5rem}.details-content{display:flex;flex-direction:column;gap:1.5rem}.detail-section h4{color:#495057;margin:0 0 .75rem}.parameters-list,.responses-list{display:flex;flex-direction:column;gap:.5rem}.parameter-item,.response-item{background:#fff;border:1px solid #e9ecef;border-radius:4px;padding:.75rem}.param-name,.response-code{color:#495057;font-weight:500}.param-type{background:#e9ecef}.param-required,.param-type{border-radius:3px;font-size:.8rem;margin-left:.5rem;padding:.25rem .5rem}.param-required{background:#dc3545;color:#fff}.param-description,.response-description{color:#6c757d;font-size:.9rem;margin-top:.5rem}.mcp-section{margin-top:2rem}.mcp-controls,.mcp-summary{margin-bottom:1rem}.mcp-summary{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;padding:.75rem}.mcp-tools-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.mcp-tool-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:1rem}.mcp-tool-item h4{color:#495057;margin:0 0 .5rem}.mcp-definition{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.8rem;overflow-x:auto;padding:1rem}.connection-info{background:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;margin-top:1rem;padding:1rem}.connection-info h4{color:#0c5460;margin:0 0 .5rem}.connection-info code{background:#f8f9fa;border-radius:3px;display:block;font-family:Monaco,Menlo,monospace;margin:.5rem 0;padding:.5rem}.no-apis{color:#6c757d;padding:2rem;text-align:center}.no-apis h3{color:#495057;margin-bottom:1rem}.no-apis ul{display:inline-block;margin-top:1rem;text-align:left}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.main-content{padding:1rem}.status-grid,.summary-grid{grid-template-columns:1fr}.api-header{align-items:flex-start;flex-direction:column;gap:.5rem}.details-content{gap:1rem}.App-header h1{font-size:2rem}}
/*# sourceMappingURL=main.e903e572.css.map*/