:root{--primary-color:#e67e22;--primary-dark:#d35400;--secondary-color:#64748b;--accent-color:#f39c12;--gradient-primary:linear-gradient(135deg,#e67e22 0%,#d35400 100%);--gradient-secondary:linear-gradient(135deg,#f39c12 0%,#e67e22 100%);--gradient-accent:linear-gradient(135deg,#f8c471 0%,#f39c12 100%);--text-primary:#2d3748;--text-secondary:#718096;--text-light:#a0aec0;--bg-light:#f7fafc;--bg-card:#fff;--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--border-radius:12px;--transition:all .2s ease}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-light);font-size:16px;overflow-x:hidden;padding-top:76px}
@media (min-width:992px){body{padding-left:18rem;padding-top:0}}
h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif;font-weight:700;line-height:1.2;color:var(--text-primary);margin-bottom:1rem}
h1{font-size:3.5rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:2rem}
h2{font-size:2.5rem;font-weight:700}
h3{font-size:1.875rem;font-weight:600}
h4{font-size:1.5rem;font-weight:600}
h5{font-size:1.25rem;font-weight:600}
.subheading{font-size:1.125rem;font-weight:500;color:var(--text-secondary);text-transform:none}
.modern-card{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-md);padding:2rem;margin-bottom:2rem;transition:var(--transition);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);width:100%!important;display:block!important;float:none!important;clear:both!important;box-sizing:border-box!important;min-height:200px;margin-left:0!important;margin-right:0!important}
body[data-page=teaching] .modern-card,.teaching-section .modern-card{max-width:none!important;margin-left:0!important;margin-right:0!important}
body[data-page=teaching] .text-end,body[data-page=teaching] .text-end span{text-align:right!important}
.modern-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.modern-card>*:last-child{margin-bottom:0!important}.modern-card p:last-child,.modern-card ul:last-child,.modern-card ol:last-child,.modern-card .list-social-icons:last-child,.modern-card .btn:last-child,.modern-card .btn-modern:last-child,.modern-card .contact-info:last-child{margin-bottom:0!important}
@media (hover:none) and (pointer:coarse){.modern-card:hover{transform:none!important;box-shadow:var(--shadow-md)!important}.list-social-icons a:hover{transform:none!important}.btn:hover{transform:none!important}}
.modern-card .d-flex.align-items-start{align-items:center!important;justify-content:space-between}
.modern-card .card-title{margin:0;flex:1}
.timeline-container{position:relative}
.timeline-container::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gradient-primary);border-radius:2px;z-index:1}
.timeline-card{position:relative;padding-left:2rem;margin-bottom:2rem}
.timeline-card::before{content:"";position:absolute;left:-6px;top:1rem;width:16px;height:16px;background:var(--gradient-primary);border-radius:50%;box-shadow:0 0 0 4px var(--bg-card);z-index:2}
.timeline-card:last-child{margin-bottom:0}
.list-social-icons{display:flex;justify-content:center;gap:1rem;margin:2rem 0;list-style:none!important;padding-left:0}
.list-social-icons li{list-style:none}
.list-social-icons a{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:var(--gradient-primary);color:#fff;border-radius:50%;transition:var(--transition);text-decoration:none;box-shadow:var(--shadow-md)}
.list-social-icons a:hover{transform:translateY(-2px) scale(1.1);box-shadow:var(--shadow-lg);background:var(--gradient-secondary)}
.list-social-icons a i{font-size:1.25rem}
.badge{font-weight:500;padding:.5rem .75rem;border-radius:6px;font-size:.75rem}
.badge.bg-primary{background:var(--gradient-primary)!important}
.badge.bg-secondary{background:linear-gradient(135deg,#6c757d 0%,#495057 100%)!important}
.badge.bg-success{background:linear-gradient(135deg,#28a745 0%,#20c997 100%)!important}
.badge.bg-warning{background:linear-gradient(135deg,#ffc107 0%,#fd7e14 100%)!important}
.badge.bg-info{background:linear-gradient(135deg,#17a2b8 0%,#6f42c1 100%)!important}
.badge.bg-danger,.badge.bg-info,.badge.bg-primary,.badge.bg-secondary,.badge.bg-success,.badge.bg-warning{color:#fff!important}
.badge.bg-warning.text-dark{color:#fff!important}
.modern-card .badge{min-width:120px;padding:.5rem .75rem;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;text-align:center}
.modern-card .badge.small{min-width:200px;font-size:.7rem;line-height:1.2;white-space:normal;height:auto;padding:.4rem .6rem}
.form-control{border:2px solid rgba(102,126,234,.1);border-radius:var(--border-radius);padding:.75rem 1rem;transition:var(--transition);background:var(--bg-card)}
.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(102,126,234,.25);background:var(--bg-card)}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.fade-in-up{animation:fadeInUp .4s ease-out}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.fade-in-up{animation:none!important}}
.reduced-motion .fade-in-up{animation:none!important;opacity:1!important;transform:none!important}
.reduced-motion .modern-card{transition:none!important}
.modern-card{will-change:auto;transform:translateZ(0)}
.modern-card:hover{will-change:transform,box-shadow}
.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.btn-modern{background:var(--gradient-primary);border:none;border-radius:var(--border-radius);padding:.75rem 2rem;color:#fff;font-weight:600;text-decoration:none;display:inline-block;transition:var(--transition);box-shadow:var(--shadow-md)}
.btn-modern:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff;text-decoration:none}
.btn-modern.btn-sm{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:6px;box-shadow:var(--shadow-sm);background:rgba(102,126,234,.1);color:var(--primary-color);border:1px solid rgba(102,126,234,.2)}
.btn-modern.btn-sm:hover{background:var(--gradient-primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-danger,.btn-info,.btn-primary,.btn-success{color:#fff!important}
.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.btn-success:active,.btn-success:focus,.btn-success:hover{color:#fff!important}
#sideNav{background:var(--gradient-primary)!important;backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-xl);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
#sideNav .navbar-nav .nav-item .nav-link{font-weight:500;color:hsla(0,0%,100%,.9)!important;padding:1rem 1.5rem;margin:.25rem 0;border-radius:var(--border-radius);transition:var(--transition);position:relative;overflow:hidden}
#sideNav .navbar-nav .nav-item .nav-link:focus,#sideNav .navbar-nav .nav-item .nav-link:hover{color:#fff!important;background:hsla(0,0%,100%,.1);transform:translateX(5px)}
#sideNav .navbar-nav .nav-item .nav-link::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gradient-accent);transition:var(--transition);z-index:-1}
#sideNav .navbar-nav .nav-item .nav-link:hover::before{width:100%}
#sideNav .navbar-nav .nav-item .nav-link.active{color:#fff!important;background:hsla(0,0%,100%,.15)!important;font-weight:600!important;transform:translateX(5px)!important}
#sideNav .navbar-nav .nav-item .nav-link.active::before{width:100%!important;background:hsla(0,0%,100%,.2)!important}
@media (min-width:992px){#sideNav{position:fixed;top:0;left:0;display:flex;flex-direction:column;width:18rem;height:100vh;text-align:center}#sideNav .navbar-brand{display:flex;margin:2rem auto 0;padding:1rem}#sideNav .navbar-brand .img-profile{max-width:12rem;max-height:12rem;border:4px solid hsla(0,0%,100%,.2);box-shadow:var(--shadow-lg);transition:var(--transition)}#sideNav .navbar-brand .img-profile:hover{transform:scale(1.05);box-shadow:var(--shadow-xl)}#sideNav .navbar-brand .img-orcid{max-width:8rem;max-height:8rem;border:3px solid hsla(0,0%,100%,.2);border-radius:var(--border-radius);transition:var(--transition)}#sideNav .navbar-brand .img-orcid:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}#sideNav .navbar-collapse{display:flex;align-items:flex-start;flex-grow:0;width:100%;margin:2rem 0 auto;padding:0 1rem}#sideNav .navbar-collapse .navbar-nav{flex-direction:column;width:100%}#sideNav .navbar-collapse .navbar-nav .nav-item{display:block;width:100%}#sideNav .navbar-collapse .navbar-nav .nav-item .nav-link{display:block;text-align:left}}
@media (max-width:991px){body{padding-top:80px}#sideNav{padding:1rem;height:auto;min-height:70px;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:auto}#sideNav .navbar-nav .nav-item .nav-link{transition:none}#sideNav .navbar-nav .nav-item .nav-link::before{transition:none}#sideNav .navbar-toggler{border:none;background:hsla(0,0%,100%,.1);border-radius:var(--border-radius);-webkit-tap-highlight-color:transparent}#sideNav .navbar-toggler:focus{box-shadow:none;outline:none}}
@media (max-width:576px){body{padding-top:85px}*{-webkit-transition:none!important;transition:none!important}}
@media (max-width:991px){.container-fluid>section.resume-section:first-child,.container-fluid>section:first-child{padding-top:2rem!important}}
section.resume-section{padding:4rem 0;min-height:auto;background:var(--bg-light);position:relative}
section.resume-section:nth-child(even){background:linear-gradient(135deg,rgba(102,126,234,.03) 0%,rgba(118,75,162,.03) 100%)}
section.resume-section .container-fluid{max-width:1200px;margin:0 auto;padding:0 2rem}
@media (min-width:768px){section.resume-section{padding:6rem 0}}
@media (min-width:992px){section.resume-section{padding:8rem 0}}
section.resume-section::before{content:"";position:absolute;top:0;right:-10%;width:30%;height:100%;background:var(--gradient-accent);opacity:.05;border-radius:50%;filter:blur(100px);z-index:0}
section.resume-section .my-auto{position:relative;z-index:1}
.bg-primary{background:var(--gradient-primary)!important}
.text-primary{color:var(--primary-color)!important}
.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}
a:active,a:focus,a:hover{color:var(--primary-dark);text-decoration:none}
#unisa-logo{width:120px;height:120px;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);transition:var(--transition);object-fit:contain}
#unisa-logo:hover{transform:scale(1.05);box-shadow:var(--shadow-xl)}
.contact-info{background:var(--bg-card);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-md);text-align:center;margin:2rem 0}
.col-12,.container-fluid,.resume-section-content{column-count:initial!important;column-width:initial!important;columns:initial!important}
.col-12{width:100%!important;max-width:none!important;min-width:100%!important;flex:none!important;padding-left:0!important;padding-right:0!important}
.row{width:100%!important;margin-left:0!important;margin-right:0!important;max-width:none!important}
.container-fluid{padding-left:15px!important;padding-right:15px!important;max-width:none!important}
.resume-section{max-width:none!important}
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{max-width:none!important}
.resume-section-content{max-width:none!important;width:100%!important}
.modern-card+.modern-card{margin-top:2rem}
@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}
.pulse{animation:pulse 2s infinite}
html{scroll-behavior:smooth}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg-light)}
::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}
@media (prefers-color-scheme:dark){:root{--text-primary:#f7fafc;--text-secondary:#e2e8f0;--text-light:#cbd5e0;--bg-light:#1a202c;--bg-card:#2d3748}}
@media print{body{padding-left:0!important}#sideNav{display:none!important}.modern-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd;width:100%!important;display:block!important;float:none!important;clear:both!important}.list-social-icons{display:none}}
.resume-section .row .col-12{max-width:none!important;width:100%!important;flex:0 0 100%!important}
.resume-section .modern-card{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
.resume-section{max-width:none!important;width:100%!important}
.container-fluid{max-width:none!important}
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{max-width:none!important}
.resume-section.p-3.p-lg-5{padding-top:3rem!important}
@media (min-width:992px){.resume-section.p-3.p-lg-5{padding-top:5rem!important}}
@media (max-width:767px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.modern-card{margin:1rem .75rem;padding:1.75rem 1.5rem}.resume-section{padding-left:1.25rem!important;padding-right:1.25rem!important}section.resume-section .container-fluid{padding:0 1.25rem}.timeline-card{padding-left:1.5rem}.timeline-card::before{left:-4px;width:12px;height:12px;top:.75rem}.timeline-container::before{width:3px}*{animation:none!important;transition:none!important}.fade-in-up{opacity:1!important;transform:none!important}.modern-card:hover{transform:none!important}.modern-card h3,.modern-card h4,.modern-card h5{margin-bottom:1.25rem}.modern-card .d-flex{padding:.75rem 0}}
.award-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:1rem}
.award-item span:last-child{text-align:right;margin-left:auto;min-width:150px}
.service-item{display:flex;align-items:start;justify-content:space-between;margin-bottom:.75rem;gap:1rem}
.service-item h5{margin-bottom:.25rem;font-size:.875rem}
.service-item .service-role{font-size:.875rem;text-align:right;flex-shrink:0}
.service-item.border-bottom{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #e2e8f0!important}
.simple-list div{font-size:.875rem;margin-bottom:.5rem;line-height:1.4}
.simple-list div:last-child{margin-bottom:0}
.simple-item{margin-bottom:.2rem}
.simple-item span{font-size:.875rem}
