@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-app:#f4f7fe;--bg-surface:#fff;--bg-hover:#f8fafc;--text-primary:#1b2559;--text-secondary:#a3aed0;--border-color:#e0e5f2;--brand-primary:#4318ff;--brand-primary-hover:#31c;--brand-secondary:#05cd99;--shadow-sm:0px 4px 12px #7090b014;--shadow-card:0px 18px 40px #7090b01f;--radius-sm:8px;--radius-md:16px;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}body{background-color:var(--bg-app);color:var(--text-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;justify-content:center;min-height:100vh;display:flex}#root{justify-content:center;width:100%;display:flex}:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.icon{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:24px;height:24px}.icon-sm{width:18px;height:18px}.icon-lg{width:48px;height:48px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeIn}.main-content{flex-direction:column;gap:2.5rem;width:100%;max-width:1400px;padding:2.5rem 3rem;display:flex}.top-bar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:1.5rem;display:flex}.logo{color:var(--brand-primary);letter-spacing:-.5px;align-items:center;gap:12px;font-size:1.5rem;font-weight:700;display:flex}.header-actions{gap:1rem;display:flex}.section-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:1.2rem;padding-bottom:.8rem;font-size:1.2rem;font-weight:600;display:flex}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem}.btn-primary{background:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:.75rem 1.5rem;font-weight:600;transition:opacity .2s,box-shadow .2s;display:flex}.btn-primary:hover:not(:disabled){opacity:.9;box-shadow:0 4px 12px #4318ff4d}.btn-secondary{color:#0ea5e9;border-radius:var(--radius-sm);cursor:pointer;background:#e6f3ff;border:none;justify-content:center;align-items:center;gap:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.btn-secondary:hover:not(:disabled){background:#d1e9ff}.top-grid{grid-template-columns:1fr 1.2fr;gap:2rem;display:grid}.form-control{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);background:#f8fafc;outline:none;width:100%;padding:.8rem 1rem;transition:border .2s}.form-control:focus{border-color:var(--brand-primary)}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.2rem;display:flex}.form-group label{color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:600}.search-container{width:100%;margin-bottom:1.5rem;position:relative}.search-icon{color:var(--text-secondary);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{margin-bottom:0;padding-left:3rem}.upload-zone{border-radius:var(--radius-md);text-align:center;cursor:pointer;background:#e6f3ff;border:2px dashed #0ea5e9;flex-direction:column;justify-content:center;align-items:center;margin-top:1rem;padding:3rem;transition:all .2s;display:flex}.upload-zone:hover{background:#d1e9ff}.upload-zone .icon-lg{color:#0ea5e9;margin-bottom:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.stat-card{flex-direction:column;justify-content:center;padding:1.2rem;display:flex}.stat-card h3{color:var(--text-secondary);text-transform:uppercase;margin-bottom:.3rem;font-size:.8rem;font-weight:600}.stat-card .value{color:var(--text-primary);font-size:1.6rem;font-weight:700}.bottom-grid{grid-template-columns:2fr 1.2fr;gap:2rem;display:grid}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border-color);padding:1rem}th{color:var(--text-secondary);text-transform:uppercase;font-size:.85rem;font-weight:600}td{font-weight:500}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.badge.devops{color:#0ea5e9;background:#e6f3ff}.badge.frontend{color:#f59e0b;background:#fff9e5}.badge.backend{color:#05cd99;background:#e1faec}.badge.datascience{color:#9333ea;background:#f3e8ff}.badge.mobile{color:#e11d48;background:#ffe4e6}.cluster-folder{border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem;padding:1rem;transition:all .2s;display:flex}.cluster-folder:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.cluster-folder .icon{color:var(--text-secondary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1b255966;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);width:90%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-card);padding:2.5rem;position:relative;overflow-y:auto}.modal-close{width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:#f4f7fe;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{background:#e0e5f2}.api-endpoint{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#f8fafc;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.method-post{color:#05cd99;background:#e1faec;border-radius:.3rem;padding:.3rem .8rem;font-size:.85rem;font-weight:700}.method-get{color:#0ea5e9;background:#e6f3ff;border-radius:.3rem;padding:.3rem .8rem;font-size:.85rem;font-weight:700}.api-path{color:var(--text-primary);flex:1;font-family:monospace;font-size:1.1rem;font-weight:600}.api-desc{color:var(--text-secondary);font-size:.9rem}.switch{width:50px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#e0e5f2;border-radius:34px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0000001a}input:checked+.slider{background-color:var(--brand-primary)}input:checked+.slider:before{transform:translate(26px)}input:focus-visible+.slider{outline:2px solid var(--brand-primary);outline-offset:2px}.pagination{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.page-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;padding:.4rem .8rem;font-weight:600;transition:all .2s}.page-btn:hover:not(:disabled){background:#f4f7fe}.page-btn.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.toast{background:var(--text-primary);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-card);z-index:2000;opacity:0;visibility:hidden;pointer-events:none;align-items:center;gap:12px;max-width:420px;padding:.85rem 1.25rem;transition:opacity .3s,transform .3s,visibility .3s;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(30px)}.toast.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.toast.success{background:#05cd99}.toast.error{background:#e11d48}@media (width<=1024px){.top-grid,.bottom-grid{grid-template-columns:1fr}.main-content{padding:1.5rem}}#root{text-align:center;max-width:1280px;margin:0 auto;padding:2rem}
