:root{--primary: #2563eb;--bg-deep: #f8fafc;--bg-sidebar: #ffffff;--bg-card: #ffffff;--text-main: #1e293b;--text-dim: #64748b;--accent: #3b82f6;--border: #e2e8f0;--success: #10b981}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-deep);color:var(--text-main);line-height:1.5;overflow:hidden}#root{width:100%;height:100vh}.ssr-layout{display:flex;flex-direction:column;height:100vh;width:100%}.ssr-body{display:flex;flex:1;overflow:hidden}.ssr-sidebar{width:300px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem;z-index:20}.sidebar-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.sidebar-header h2{margin:0;font-size:1.1rem;color:var(--text-main);font-weight:700}.sidebar-actions{margin-bottom:.75rem}.reset-btn-pill{width:100%;background:#38bdf81a;border:1px solid rgba(56,189,248,.2);color:var(--accent);padding:.5rem;border-radius:2rem;font-size:.75rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.reset-btn-pill:hover{background:#38bdf833;transform:translateY(-1px)}.filter-scroll{flex-grow:1;overflow-y:auto;padding-right:.5rem}.filter-scroll::-webkit-scrollbar{width:4px}.filter-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.sidebar-input-group{margin-bottom:.6rem}.sidebar-input-group label{display:block;font-size:.7rem;text-transform:uppercase;color:var(--text-dim);margin-bottom:.2rem;font-weight:800;letter-spacing:.05em}.sidebar-combo-box{width:100%;background:#fff;border:1px solid var(--border);color:var(--text-main);padding:.4rem .6rem;border-radius:.5rem;outline:none;font-size:.85rem;transition:all .2s;cursor:pointer}.sidebar-combo-box:hover{border-color:var(--accent)}.sidebar-combo-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.sidebar-separator{height:1px;background:var(--border);margin:.75rem .25rem;opacity:.5}.sidebar-group-title{font-size:.65rem;text-transform:uppercase;color:var(--accent);letter-spacing:.1em;font-weight:800;margin-bottom:.4rem;margin-top:.2rem;opacity:.8}.sidebar-input-box{width:100%;background:#fff;border:1px solid var(--border);color:var(--text-main);padding:.4rem .6rem;border-radius:.5rem;outline:none;font-size:.85rem;transition:all .2s}.sidebar-input-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.sidebar-input-box::placeholder{color:#94a3b8;font-size:.75rem}.sidebar-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.stats-badge{background:#38bdf80d;color:var(--text-dim);padding:.75rem;border-radius:.5rem;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.stats-badge span{color:var(--accent);font-weight:700}.ssr-main{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.ssr-top-nav{padding:.75rem 1.5rem;background:var(--bg-sidebar);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.export-actions{display:flex;gap:.75rem}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:.5rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;border:1px solid var(--border);background:#ffffff08;color:var(--text-dim)}.export-btn:hover{transform:translateY(-2px);background:#ffffff14}.export-btn.pdf:hover{color:#ef4444;border-color:#ef44444d}.export-btn.excel:hover{color:#10b981;border-color:#10b9814d}.top-nav-tabs{display:flex;gap:1.5rem;align-items:center;padding:0 1.5rem;background:var(--bg-sidebar);border-bottom:1px solid var(--border);flex-shrink:0}.nav-tab{background:transparent;border:none;font-size:.95rem;font-weight:600;color:var(--text-dim);padding:.8rem .5rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;margin-bottom:-1px}.nav-tab:hover{color:var(--accent)}.nav-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.brand-panel{display:flex;align-items:center}.institution-brand{display:flex;align-items:center;gap:1rem}.logo-box{background:#fff;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;height:60px;width:48px;box-shadow:0 4px 12px #0003}.icar-logo{max-height:100%;max-width:100%;object-fit:contain}.institution-details{display:flex;flex-direction:column}.institution-name{margin:0;font-size:2.05rem;font-weight:400;color:var(--accent);letter-spacing:-.01em}.brand-sub{display:flex;align-items:center;gap:.5rem;margin-top:.1rem}.app-title{font-size:1.2rem;font-weight:400;color:var(--accent)}.app-subtitle{font-size:1.2rem;color:var(--text-dim);font-weight:400}.icon-dna{color:var(--accent);animation:pulse 3s infinite ease-in-out}.ssr-content{flex-grow:1;padding:1.25rem;overflow:hidden;background:var(--bg-deep);display:flex;flex-direction:column}.table-wrapper{background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;overflow:auto;flex-grow:1;position:relative;box-shadow:0 4px 20px #0003}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar-track{background:#f8fafc}.table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ssr-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;white-space:nowrap}.ssr-table th{padding:.85rem 1rem;background:#f1f5f9;color:#475569;font-weight:700;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:10}.ssr-table td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;font-size:.8rem;color:#1e293b}.ssr-table tr:hover td{background-color:#f8fafc}.ssr-id-cell{font-weight:700;color:var(--primary);font-family:Fira Code,monospace}.sequence-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Fira Code,monospace;font-size:.7rem;color:#64748b;cursor:help;background:#f8fafc;padding:.2rem .4rem;border-radius:.25rem;border:1px solid #e2e8f0}.sequence-cell:hover{color:var(--primary);background:#eff6ff;border-color:#bfdbfe}.badge-motif{background:#38bdf81a;color:var(--accent);padding:.2rem .6rem;border-radius:.3rem;font-family:monospace;font-weight:700}.status-pill{white-space:nowrap;padding:.25rem .6rem;border-radius:2rem;font-size:.6rem;font-weight:900;text-transform:uppercase}.status-pill.polymorphic{background:#10b98126;color:#10b981}.status-pill.monomorphic{background:#ef444426;color:#ef4444}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-dim)}.spinner-container{position:relative;width:50px;height:50px;margin-bottom:1rem}.dna-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--accent);opacity:.5}.animate-spin{animation:spin 1s linear infinite;width:100%;height:100%;color:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;width:100%;color:var(--text-dim)}.empty-icon{opacity:.2;margin-bottom:1rem}.empty-state h3{color:#fff;margin-bottom:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;margin-top:1rem;border-top:1px solid var(--border);flex-shrink:0}.pagination-info{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--text-dim)}.page-size-select{padding:.3rem .5rem;border-radius:.4rem;border:1px solid var(--border);background:#fff;color:var(--text-main);outline:none;font-weight:600;cursor:pointer}.pagination-controls{display:flex;align-items:center;gap:.5rem}.page-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.5rem;border:1px solid var(--border);background:#fff;color:var(--text-dim);cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){background:var(--bg-deep);color:var(--accent);border-color:var(--accent)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-indicator{font-size:.85rem;color:var(--text-dim);padding:0 .5rem}.page-indicator strong{color:var(--text-main)}.front-page{display:flex;flex-direction:column;gap:1.5rem;padding:1rem;overflow-y:auto;height:100%}.front-page::-webkit-scrollbar{width:8px}.front-page::-webkit-scrollbar-track{background:#f8fafc}.front-page::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.front-page::-webkit-scrollbar-thumb:hover{background:#94a3b8}.project-info-card{background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 20px #0000000d;border:1px solid var(--border);flex-grow:1;display:flex;flex-direction:column;justify-content:center}.project-info-card h2{margin-top:0;color:var(--accent);font-size:1.8rem;margin-bottom:1rem}.project-info-card p{line-height:1.8;color:var(--text-main);font-size:1.05rem;margin:0}.developers-section{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 20px #0000000d;border:1px solid var(--border)}.developers-section h3{margin-top:0;color:var(--text-main);font-size:1.35rem;margin-bottom:1rem;text-align:center}.contact-info{margin-top:1rem;text-align:center;font-size:.9rem;color:var(--text-dim)}.developers-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;max-width:800px;margin:0 auto;padding-bottom:.5rem}.developer-card{flex:0 0 calc(33.333% - 1.5rem);min-width:200px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s}.developer-card:hover{transform:translateY(-5px)}.dev-photo-wrapper{width:130px;height:130px;border-radius:50%;padding:4px;background:linear-gradient(135deg,var(--accent),var(--primary));margin-bottom:1rem;overflow:hidden;box-shadow:0 4px 10px #0000001a}.dev-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid white}.developer-card h4{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-main);font-weight:700}.developer-card p{margin:0;font-size:.85rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
