@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;600;700;800&display=swap');
/* body{margin:0;padding:0;font-family:'Figtree',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background-color:#f8fafc;height:100vh;display:flex} */
/* body{margin:0;padding:0;font-family:'Figtree',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background-color:#f8fafc;height:100vh;} */
.mynetwork{margin:0;padding:0;font-family:'Figtree',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background-color:#f8fafc;height:100vh;display:flex}
/* body.resizing{user-select:none;-webkit-user-select:none;cursor:col-resize} */
#sidebar-container{position:relative;height:100%;z-index:10;display:flex;/*box-shadow:4px 0 15px rgba(0,0,0,0.05)*/}
#sidebar{width:340px;min-width:0;/*background:white;*/display:flex;flex-direction:column;overflow:hidden;transition:width 0.3s ease}
#sidebar.is-dragging{transition:none}
#resizer{width:12px;height:100%;background:#f1f5f9;border-left:1px solid #e2e8f0;border-right:1px solid #cbd5e1;cursor:col-resize;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:background 0.2s;z-index:20}
#resizer:hover,#resizer.active{background:#e2e8f0}
.resize-dots{display:flex;flex-direction:column;gap:3px;opacity:0.5;position:absolute}
.resize-dots div{width:4px;height:4px;background-color:#64748b;border-radius:50%}
#collapse-btn{position:absolute;top:10%;left:-6px;width:20px;height:48px;background:#fff;border:1px solid #cbd5e1;border-radius:4px 0 0 4px;border-right:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:#64748b;box-shadow:2px 0 4px rgba(0,0,0,0.08);transform:translateY(-50%);z-index:30;transition:all 0.2s;font-weight:bold}
#collapse-btn:hover{color:#0057ac;background:#f8fafc;box-shadow:2px 0 6px rgba(0,0,0,0.12)}
/* .collapsed #sidebar{width:0!important} */
#collapse-btn.collapsed {right:-20px;border-radius:4px;border-left:1px solid #cbd5e1}
#collapse-btn.collapsed::before{content:'›'}
#collapse-btn::before{content:'‹'}
.header{padding:15px 20px;border-bottom:1px solid #e2e8f0;background:#fff;display:flex;justify-content:center;align-items:center;min-width:250px;flex-shrink:0}
.header-logo{max-height:40px;max-width:200px;object-fit:contain}
.search-container{padding:15px 20px;border-bottom:1px solid #e2e8f0;position:relative;background:#fff;min-width:250px;flex-shrink:0}
#search-input{width:calc(100% - 40px);padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;outline:none;box-sizing:border-box;font-size:1em;transition:border-color 0.2s;background:#f8fafc}
#search-input:focus{border-color:#0057ac;background:#fff;box-shadow:0 0 0 3px rgba(0,87,172,0.1)}
.search-dropdown{position:absolute;top: 70px;left:0;width:100%;background:white;border-bottom:1px solid #e2e8f0;max-height:250px;overflow-y:auto;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);z-index:50;display:none}
.search-item{padding:12px 20px;cursor:pointer;border-bottom:1px solid #f1f5f9;font-size:0.85em;display:flex;flex-direction:column}
.search-item:hover{background:#eff6ff}
.search-item .s-id{font-weight:bold;color:#0f172a}
.search-item .s-title{color:#64748b;font-size:0.8em}
#details{padding:8px 0px;flex:1;overflow-y:auto;min-width:250px;word-wrap:break-word}
.empty-state{color:#94a3b8;text-align:center;margin-top:50px;font-style:italic;font-size:1em;padding:0 20px}
#bottom-summary{display:none;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:90%;max-width:500px;background:white;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,0.15);padding:15px;z-index:100;border:1px solid #e2e8f0;box-sizing:border-box}
.summary-content{display:flex;justify-content:space-between;align-items:center}
.btn-more-info{background:#0057ac;color:white;border:none;padding:8px 16px;border-radius:20px;font-size:0.85em;font-weight:600;cursor:pointer;white-space:nowrap;margin-left:10px}
#modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:2000;backdrop-filter:blur(2px)}
#modal-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:85%;max-width:400px;max-height:80vh;background:white;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,0.25);overflow-y:auto;padding:25px;box-sizing:border-box}
.close-btn{position:absolute;top:15px;right:15px;width:30px;height:30px;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:bold;color:#64748b;border:none}
.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:0.75em;font-weight:bold;margin-bottom:10px}
.badge-credits{background:#e6f0f9;color:#0057ac}
.section-title{text-transform:uppercase;font-weight:700;letter-spacing:0.05em;margin-bottom:8px;margin-top:20px;padding-bottom:4px;border-bottom-width:2px;border-bottom-style:solid}
.title-general{color:#94a3b8;border-bottom-color:#f1f5f9}
.title-orange{color:#c2410c;border-bottom-color:#fed7aa}
.prereq-tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:0.85em;margin-right:5px;margin-bottom:5px;border:1px solid #E85C2A;background:#fff5f0;color:#c2410c;cursor:pointer}
.title-purple{color:#764CA8;border-bottom-color:#e9d5f5}
.concomitant-tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:0.85em;margin-right:5px;margin-bottom:5px;border:1px dashed #764CA8;background:#f5f0ff;color:#764CA8;cursor:pointer}
.title-green{color:#009879;border-bottom-color:#b3e8d9}
.postreq-tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:0.85em;margin-right:5px;margin-bottom:5px;border:1px solid #009879;background:#e6f7f3;color:#007d63;cursor:pointer}
.desc-text{color:#0B113A;line-height:1.6}
.btn-course-link{display:block;margin:15px auto;padding:10px 20px;background:#0057ac;color:white;text-decoration:none;border-radius:8px;font-weight:600;font-size:1em;transition:background 0.2s;text-align:center;width:fit-content}
.btn-course-link:hover{background:#003d7a}
#mynetwork{flex:1;height:1024px;outline:none;background:#f1f5f9;position:relative}
#loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.95);display:flex;align-items:center;justify-content:center;z-index:9999;font-family:'Figtree',Arial,sans-serif}
.loading-content{text-align:center}
.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#0057ac;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{color:#0B113A;font-size:1.1em;font-weight:600}
@media(max-width:768px){#sidebar-container{display:none}#collapse-btn{display:none}#mynetwork{width:100%;height:100vh}}

