*{box-sizing:border-box;margin:0;padding:0}body{background-color:#0d1117;color:#e0e0e0;font-family:Arial,sans-serif;line-height:1.6}.container{margin:0 auto;max-width:1200px;padding:0 20px}.skeleton-shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff0d,#0000)}.header{background:#161b22;border-bottom:1px solid #30363d;color:#e0e0e0;padding:1rem 0;position:fixed;top:0;width:100%;z-index:100}.header .container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.logo{color:#58a6ff;font-size:1.5rem;font-weight:700;text-decoration:none}.logo-image{align-items:center;display:flex}.logo-image img{height:40px;max-width:150px;object-fit:contain;width:auto}.header-right{gap:1rem}.header-right,.language-toggle{align-items:center;display:flex}.language-toggle{background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;cursor:pointer;font-size:.85rem;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.language-toggle:hover{background:#30363d;border-color:#58a6ff}.lang-flag{font-size:1.1rem}.lang-code{font-weight:600}.header nav{align-items:center;display:flex}.header nav a{color:#c9d1d9;display:inline-block;margin-left:1rem;padding:.4rem 0;text-decoration:none;transition:color .3s;vertical-align:middle;white-space:nowrap}.header nav a:hover{color:#58a6ff}.btn-login,.btn-logout{font-size:.9rem}.header nav .btn-login,.header nav .btn-logout{display:inline-block;margin-left:1rem;text-align:center}.btn-login,.btn-logout{display:inline-block;font-size:.95rem;line-height:1.4;padding:.4rem 1rem;vertical-align:middle;white-space:nowrap}.btn-login:hover,.btn-logout:hover{background:#58a6ff;color:#fff}.mobile-menu-btn{background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:21px;justify-content:space-between;padding:0;width:30px;z-index:101}.hamburger{background-color:#c9d1d9;border-radius:3px;display:block;height:3px;transition:all .3s ease-in-out;width:100%}.hamburger.open:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.open:nth-child(2){opacity:0}.hamburger.open:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.btn-login,.btn-logout{background:#238636;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;text-decoration:none;transition:background .3s}.header nav .btn-login:hover,.header nav .btn-logout:hover{background:#58a6ff;color:#fff}main{background-color:#0d1117;margin-top:70px;min-height:calc(100vh - 140px)}.hero-subtitle{color:#58a6ff}.hero-description{color:#8b949e}.home h1{color:#2c3e50;margin-bottom:1rem}.home h1,.home p{text-align:center}.home p{color:#7f8c8d;margin-bottom:2rem}.home .section-header{align-items:normal!important;display:block!important;flex-direction:row!important;justify-content:normal!important;text-align:center}.home .section-header h2{display:block;margin-bottom:.5rem}.home .section-header .section-intro{display:block;text-align:center}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-card{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .3s,box-shadow .3s}.project-card:hover{box-shadow:0 8px 25px #00000080;transform:translateY(-5px)}.project-image{aspect-ratio:3/2;background:#0d1117;border-bottom:1px solid #30363d;object-fit:cover;width:100%}.project-image img{height:100%;object-fit:cover;width:100%}.project-content{display:flex;flex:1 1;flex-direction:column;padding:2rem}.project-content h3{color:#c9d1d9;font-size:1.25rem;font-weight:500;margin-bottom:.75rem}.project-content p{color:#8b949e;flex:1 1;line-height:1.6;margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.tech-tag{background:#21262d;border:1px solid #30363d;border-radius:20px;color:#58a6ff;font-size:.8rem;font-weight:500;padding:.35rem .75rem}.btn-view,.tech-tag{display:inline-block}.btn-view{align-self:flex-start;background:#238636;border-radius:4px;color:#fff;margin-top:auto;padding:.75rem 1.5rem;text-decoration:none;transition:background .3s}.btn-view:hover{background:#2ea043}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:2rem}.project-detail{padding:2rem 0}.project-detail .project-header{margin-bottom:2rem;text-align:center}.project-detail .project-header h1{color:#58a6ff;font-size:2.5rem;margin-bottom:1rem}.project-detail .project-meta{margin-bottom:1rem}.project-detail .technologies{color:#8b949e;font-size:1.1rem}.project-detail .project-content{grid-gap:3rem;display:grid}.project-detail .project-image{align-items:center;background:#0d1117;border:1px solid #30363d;border-radius:8px;display:flex;flex-shrink:0!important;justify-content:center;min-width:0!important;position:relative;width:100%}.project-detail .project-image img{border-radius:8px;flex-shrink:0!important;margin:0 auto!important;min-width:0!important;position:relative;z-index:1}.project-detail .project-content{align-items:start;gap:3rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;width:100%}.project-detail .project-image{align-items:center!important;background:#0d1117!important;border:1px solid #30363d!important;display:flex!important;height:400px!important;justify-content:center!important;max-height:400px!important;max-width:600px!important;overflow:hidden!important;width:100%!important}.project-detail .project-image,.project-detail .project-image img{border-radius:8px!important;object-fit:contain!important;position:relative!important}.project-detail .project-image img{display:block!important;height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important;z-index:1!important}.project-detail .project-image:before{background:#0d1117;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.project-detail .project-description{color:#c9d1d9;font-size:1.1rem;line-height:1.8}.project-detail .project-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.project-detail .btn-primary,.project-detail .btn-secondary{border-radius:4px;font-size:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s}.project-detail .btn-primary{background:#238636;border:1px solid #238636;color:#fff}.project-detail .btn-primary:hover{background:#2ea043;border-color:#2ea043}.project-detail .btn-secondary{background:#30363d;border:1px solid #30363d;color:#c9d1d9}.project-detail .btn-secondary:hover{background:#484f58;border-color:#484f58}.project-action-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.btn-demo,.btn-github{align-items:center;border-radius:6px;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.btn-demo{background:#238636;border:1px solid #238636;color:#fff}.btn-demo:hover{background:#2ea043;border-color:#2ea043}.btn-github{background:#24292e;border:1px solid #24292e;color:#fff}.btn-github:hover{background:#2f363d;border-color:#2f363d}.category-tag{background:#58a6ff20;border-radius:20px;color:#58a6ff;display:inline-block;font-size:.85rem;margin-bottom:.5rem}.project-details,.project-sections{border-top:1px solid #30363d;margin-top:2rem;padding-top:2rem}.project-details h3,.project-sections h3{color:#58a6ff;font-size:1.25rem;margin-bottom:1rem}.project-section{margin-bottom:1.5rem}.project-section h4{color:#c9d1d9;font-size:1rem;margin-bottom:.5rem}.project-section p{color:#8b949e;line-height:1.6}.project-navigation{border-top:1px solid #30363d;display:flex;gap:1rem;justify-content:space-between;margin-top:3rem;padding-top:2rem}.project-nav-link{background:#161b22;border:1px solid #30363d;border-radius:8px;display:flex;flex-direction:column;max-width:45%;padding:1rem 1.5rem;text-decoration:none;transition:all .2s}.project-nav-link:hover{background:#21262d;border-color:#58a6ff}.project-nav-link.next{margin-left:auto;text-align:right}.nav-label{color:#8b949e;font-size:.85rem;margin-bottom:.25rem}.nav-title{color:#c9d1d9;font-size:.95rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.project-detail .project-content{gap:2rem;grid-template-columns:1fr}.project-detail .project-image{margin:0 auto;max-width:100%}}.footer{background:#161b22;border-top:1px solid #30363d;color:#8b949e;margin-top:2rem;padding:1rem 0;text-align:center}.footer .container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.footer-admin-link{color:#484f58;font-size:.75rem;text-decoration:none;transition:color .2s ease}.footer-admin-link:hover{color:#8b949e}.loading{color:#7f8c8d;padding:2rem}.admin-page-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:4rem;text-align:center}.admin-page-loading .spinner{animation:spin .8s linear infinite;border:3px solid #30363d;border-radius:50%;border-top-color:#58a6ff;height:40px;margin-bottom:1rem;width:40px}.admin-page-loading p{color:#8b949e;font-size:1rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{display:block}.skeleton-card{background:#161b22;border:1px solid #30363d;border-radius:8px;overflow:hidden}.skeleton-card .project-image{aspect-ratio:3/2}.skeleton-card .project-content{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.skeleton-card .project-tech{display:flex;gap:.5rem;margin-top:.5rem}.form-group{margin-bottom:1rem}.form-group label{font-weight:700}.form-group input,.form-group textarea{background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#58a6ff;outline:none}.btn-login{font-size:1rem;margin-top:1rem;padding:1rem;width:100%}.admin-login{padding:4rem 0}.login-form{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;margin:0 auto;max-width:400px;padding:2rem}.error-message{border-radius:4px;margin-bottom:1rem;padding:.75rem;text-align:center}.dashboard-header{margin-bottom:2rem}.projects-table{background:#161b22;border-radius:8px;overflow:hidden}.projects-table td,.projects-table th{border-bottom:1px solid #30363d;color:#c9d1d9}.projects-table th{background:#0d1117;color:#f0f6fc}.projects-table tr:hover{background:#161b22}.btn-edit{background:#db6d28;border:1px solid #db6d28;transition:background .3s}.btn-edit:hover{background:#c96424}.btn-delete{background:#da3633;border:1px solid #da3633;transition:background .3s}.btn-delete:hover{background:#c93c37}.btn-back{border-radius:4px;color:#58a6ff;display:inline-block;margin-bottom:2rem;padding:.5rem 1rem;transition:background .3s,color .3s}.btn-back:hover{color:#79c0ff}.dashboard-actions{margin-bottom:2rem}.btn-primary{background:#238636;border-radius:4px;display:inline-block;transition:background .3s}.btn-primary:hover{background:#2ea043}.btn-secondary{background:#30363d}.btn-secondary:hover{background:#484f58}.btn-outline{border:2px solid #58a6ff;color:#58a6ff}.btn-outline:hover{background:#58a6ff;color:#0d1117}.section-header h2{margin:0 0 .5rem}.section-header .section-intro{color:#8b949e;font-size:1.1rem;margin:0 auto;max-width:700px}.btn-primary:hover{background:#2980b9}.projects-table{margin-top:1rem}.projects-table td,.projects-table th{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}.projects-table th{background:#f8f9fa;font-weight:700}.actions{display:flex;gap:.5rem}.btn-edit{background:#f39c12;border-radius:4px;text-decoration:none}.btn-delete,.btn-edit{color:#fff;font-size:.8rem;padding:.25rem .5rem}.btn-delete{background:#e74c3c;border:none;border-radius:4px;cursor:pointer}.about{padding:2rem 0}.about-content{margin:0 auto;max-width:800px}.about-section{margin-bottom:3rem}.about-section h2{color:#c9d1d9;margin-bottom:1rem}.about-section p{color:#8b949e;line-height:1.6;margin-bottom:1rem}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1rem}.skill-category{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:1.5rem}.skill-category h3{color:#58a6ff;margin-bottom:.5rem}.skill-category ul{list-style-type:none;padding-left:0}.skill-category li{border-bottom:1px solid #30363d;color:#c9d1d9;padding:.25rem 0}.projects-page{padding:2rem 0}.projects-page .page-header{margin-bottom:3rem;text-align:center}.projects-page .page-header h1{color:#58a6ff;font-size:2.5rem;margin-bottom:1rem}.projects-page .page-description{color:#8b949e;font-size:1.1rem;line-height:1.6;margin:0 auto 2rem;max-width:700px}.projects-page .no-projects{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:4rem 2rem;text-align:center}.projects-page .no-projects h2{color:#58a6ff;margin-bottom:1rem}.projects-page .no-projects p{color:#8b949e}.services{padding:2rem 0}.services-content{margin:0 auto;max-width:1000px}.services-intro{color:#8b949e;font-size:1.2rem;margin-bottom:3rem;text-align:center}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.service-card{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;padding:2rem;transition:transform .3s}.service-card:hover{transform:translateY(-5px)}.service-icon{color:#58a6ff;font-size:2.5rem;margin-bottom:1rem}.service-card h3{color:#c9d1d9;margin-bottom:1rem}.service-card p{color:#8b949e;margin-bottom:1rem}.service-card ul{list-style-type:none;padding-left:0}.service-card li{color:#c9d1d9;padding:.25rem 0 .25rem 1.5rem;position:relative}.service-card li:before{color:#238636;content:"✓";left:0;position:absolute}.cta-section{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:3rem 2rem;text-align:center}.cta-section h2{color:#c9d1d9;margin-bottom:1rem}.contact{padding:2rem 0}.contact-content{margin:0 auto;max-width:800px}.contact-content h1{color:#c9d1d9;margin-bottom:2rem;text-align:center}.contact-info{margin-bottom:3rem;text-align:center}.contact-info p{color:#8b949e;line-height:1.6;margin-bottom:1rem}.contact-methods{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem}.contact-method{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 5px #0000004d;min-width:200px;padding:1.5rem}.contact-method h3{color:#58a6ff;margin-bottom:.5rem}.contact-form-container{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;padding:2rem}.contact-form-container h2{color:#c9d1d9;margin-bottom:1.5rem;text-align:center}.success-message{background:#1e3a1e;border:1px solid #238636;border-radius:4px;color:#3fb950;margin-bottom:1rem;padding:1rem;text-align:center}.contact-form textarea{min-height:150px;resize:vertical}.home{padding:2rem 0}.hero{background:linear-gradient(135deg,#0d1117,#161b22 50%,#1a2128);border:1px solid #30363d;border-radius:8px;margin-bottom:4rem;padding:6rem 0}.hero-content{margin:0 auto;max-width:800px;text-align:center}.hero h1{color:#58a6ff;font-size:3.5rem;font-weight:700;margin-bottom:1rem}.hero-subtitle{color:#3498db;font-size:1.25rem;font-weight:500;margin-bottom:1.5rem}.hero-description{color:#666;font-size:1.1rem;line-height:1.6;margin:0 auto 2.5rem;max-width:600px}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.section{margin-bottom:5rem}.section-header{margin-bottom:3rem;text-align:center}.section-header h2{color:#58a6ff;font-weight:400;margin-bottom:1rem}.section-intro{color:#666;font-size:1.1rem;margin:0 auto;max-width:700px}.btn-outline{background:#0000;border:2px solid #3498db;border-radius:4px;color:#3498db;display:inline-block;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s}.btn-outline:hover{background:#3498db;color:#fff}.view-all{margin-top:2rem;text-align:center}.services-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:3rem 0}.service-icon{align-items:center;background:#21262d;border:1px solid #30363d;border-radius:50%;display:inline-block;display:flex;height:80px;justify-content:center;margin-bottom:1.5rem;width:80px}.service-icon svg{height:40px;width:40px}.service-item{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;padding:2.5rem;text-align:center;transition:transform .3s,box-shadow .3s}.service-item:hover{box-shadow:0 5px 20px #00000080;transform:translateY(-5px)}.service-item:hover .service-icon{background:#1f6feb;border-color:#1f6feb}.service-item:hover .service-icon svg{stroke:#fff}.service-item h3{color:#c9d1d9;font-size:1.25rem;font-weight:500;margin-bottom:1rem}.service-item p{color:#8b949e;line-height:1.6}.services-cta{margin-top:2rem;text-align:center}.btn-secondary{background:#6c757d;border-radius:4px;color:#fff;display:inline-block;padding:.75rem 1.5rem;text-decoration:none;transition:background .3s}.btn-secondary:hover{background:#5a6268}@media (max-width:768px){.hero h1{font-size:2rem}.hero{padding:4rem 0}.services-grid{grid-template-columns:1fr}.mobile-menu-btn{display:flex}.header nav{background:#161b22;border-bottom:1px solid #30363d;flex-direction:column;height:0;justify-content:flex-start;left:0;overflow:hidden;padding:0;position:fixed;top:60px;transition:height .3s ease-in-out;width:100%;z-index:100}.header nav.mobile-open{height:auto;min-height:calc(100vh - 60px);padding:1rem 0}.header nav a{border-bottom:1px solid #30363d;margin:0;padding:1rem 2rem;text-align:center;transition:background .3s;width:100%}.header nav a:hover{background:#0d1117;color:#58a6ff}.header nav a:last-child{border-bottom:none}.btn-login,.btn-logout{margin:1rem 2rem;text-align:center;width:calc(100% - 4rem)}}.wdash-page{margin-top:60px;padding:2rem 0 4rem}.wdash-page .page-header{margin:2rem 0 3rem}.wdash-page .page-header h1{color:#c9d1d9;font-size:2.5rem;margin-bottom:1rem}.wdash-page .project-meta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.wdash-page .category{background:#58a6ff;border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.wdash-page .timeline{color:#8b949e;font-size:.875rem}.wdash-page .status{border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.wdash-page .status.status-completed{background:#238636}.wdash-page .status.status-in-progress{background:#58a6ff}.wdash-page .status.status-on-hold{background:#db6d28}.wdash-page .status.status-planning{background:#a371f7}.wdash-content-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:3rem}@media (max-width:768px){.wdash-content-grid{grid-template-columns:1fr}}.wdash-col-left,.wdash-col-right{display:flex;flex-direction:column;gap:1.5rem}.section-header h2{align-items:center;color:#c9d1d9;display:flex;font-size:2rem;gap:.5rem;margin-bottom:.5rem}.section-divider{background:#58a6ff;height:3px;margin-top:.5rem;width:60px}.project-overview .overview-card{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;padding:1.5rem}.project-overview .overview-section{margin-bottom:1.5rem}.project-overview .overview-section:last-child{margin-bottom:0}.project-overview .overview-section h3{color:#58a6ff;font-size:1.25rem;margin-bottom:1rem}.project-overview .overview-item{align-items:center;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.project-overview .overview-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.project-overview .label{color:#8b949e;font-weight:600}.project-overview .value{color:#c9d1d9}.project-overview .status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.project-overview .project-description{color:#e0e0e0;line-height:1.6;margin:0}.project-links .links-card{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;padding:1.5rem}.project-links .links-card h3{color:#58a6ff;font-size:1.25rem;margin-bottom:1rem}.project-links .links-container{display:flex;flex-direction:column;gap:.75rem}.project-links .project-link{align-items:center;border-radius:6px;display:flex;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .3s ease}.project-links .primary-link{background:#238636;color:#fff}.project-links .primary-link:hover{background:#2ea043;transform:translateY(-2px)}.project-links .secondary-link{background:#30363d;color:#e0e0e0}.project-links .secondary-link:hover{background:#484f58;transform:translateY(-2px)}.project-links .back-link{background:#58a6ff;color:#fff}.project-links .back-link:hover{background:#79c0ff;transform:translateY(-2px)}.project-links .link-icon{font-size:1.25rem;min-width:24px;text-align:center}.project-links .link-text{flex:1 1;font-weight:600}.project-links .link-arrow{font-size:1.25rem;opacity:.7}.project-description-section{margin-bottom:3rem}.project-description-section .description-content{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;padding:2rem}.project-description-section .detailed-description{color:#e0e0e0;font-size:1.1rem;line-height:1.8;margin:0}.image-gallery{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;overflow:hidden}.image-gallery .gallery-container{display:flex;flex-direction:column;gap:1rem;padding:1rem}.image-gallery .gallery-main-container{background:#0d1117;border-radius:8px;height:400px;overflow:hidden;position:relative;width:100%}.image-gallery .gallery-main{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative;width:100%}.image-gallery .gallery-image{max-height:100%;max-width:100%;object-fit:contain;opacity:0;transition:opacity .3s ease}.image-gallery .gallery-image.loaded{opacity:1}.image-gallery .gallery-caption{background:linear-gradient(#0000,#000c);bottom:0;color:#fff;left:0;opacity:0;padding:2rem 1rem 1rem;position:absolute;right:0;transition:opacity .3s ease}.image-gallery .gallery-main:hover .gallery-caption{opacity:1}.image-gallery .gallery-caption p{font-size:.875rem;margin:0 0 .5rem}.image-gallery .caption-hint{font-size:.75rem;opacity:.8}.image-gallery .gallery-overlay{align-items:center;background:#00000080;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.image-gallery .gallery-main:hover .gallery-overlay{opacity:1}.image-gallery .overlay-icon{font-size:3rem;margin-bottom:.5rem}.image-gallery .overlay-text{font-size:1rem;font-weight:600}.image-gallery .empty-gallery,.image-gallery .image-error,.image-gallery .image-loading{align-items:center;color:#8b949e;display:flex;flex-direction:column;height:100%;justify-content:center}.image-gallery .loading-spinner{animation:spin 1s linear infinite;border:3px solid #30363d;border-radius:50%;border-top-color:#58a6ff;height:40px;margin-bottom:1rem;width:40px}.image-gallery .no-images-message{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:3rem}.image-gallery .no-images-icon{font-size:3rem;opacity:.5}.image-gallery .gallery-control-btn{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px;z-index:10}.image-gallery .gallery-control-btn:hover{background:#58a6ff;transform:translateY(-50%) scale(1.1)}.image-gallery .gallery-control-prev{left:1rem}.image-gallery .gallery-control-next{right:1rem}.image-gallery .gallery-thumbnails{grid-gap:.5rem;background:#161b22;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));padding:.5rem}.image-gallery .thumbnail{border:2px solid #0000;border-radius:4px;cursor:pointer;overflow:hidden;padding-bottom:75%;position:relative;transition:all .2s ease}.image-gallery .thumbnail:hover{border-color:#58a6ff;transform:scale(1.05)}.image-gallery .thumbnail.active{border-color:#58a6ff}.image-gallery .thumbnail-inner{bottom:0;left:0;position:absolute;right:0;top:0}.image-gallery .thumbnail-image{height:100%;object-fit:cover;width:100%}.image-gallery .thumbnail-overlay{background:#0000004d;bottom:0;left:0;position:absolute;right:0;top:0;transition:background .2s ease}.image-gallery .thumbnail:hover .thumbnail-overlay{background:#0000001a}.image-gallery .thumbnail.active .thumbnail-overlay{background:#58a6ff33}.image-gallery .thumbnail-indicator{background:#58a6ff;border-radius:50%;color:#fff;font-size:.75rem;font-weight:700;height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:24px}.image-gallery .thumbnail-indicator,.lightbox-overlay{align-items:center;display:flex;justify-content:center}.lightbox-overlay{background:#000000f2;bottom:0;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.lightbox-content{align-items:center;display:flex;flex-direction:column;max-height:95vh;max-width:95vw;position:relative}.lightbox-close{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:40px;z-index:10}.lightbox-close:hover{background:#58a6ff;transform:scale(1.1)}.lightbox-main{align-items:center;display:flex;justify-content:center;max-height:80vh;max-width:90vw;position:relative}.lightbox-image{max-height:100%;max-width:100%;object-fit:contain;opacity:0;transition:opacity .3s ease}.lightbox-image.loaded{opacity:1}.lightbox-error,.lightbox-loading{color:#8b949e;flex-direction:column;gap:1rem;left:50%;transform:translate(-50%,-50%)}.lightbox-error,.lightbox-loading,.lightbox-nav{align-items:center;display:flex;position:absolute;top:50%}.lightbox-nav{background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;font-weight:700;height:50px;justify-content:center;transform:translateY(-50%);transition:all .3s ease;width:50px}.lightbox-nav:hover{background:#58a6ff;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-caption{align-items:center;background:#000c;border-radius:8px;bottom:1rem;color:#fff;display:flex;gap:1rem;justify-content:space-between;left:1rem;padding:1rem;position:absolute;right:1rem}.lightbox-caption p{flex:1 1;margin:0}.lightbox-caption .image-counter{background:#58a6ff33;border-radius:12px;color:#58a6ff;font-size:.875rem;padding:.25rem .5rem}.lightbox-thumbnails{display:flex;gap:.5rem;margin-top:1rem;max-width:80vw;overflow-x:auto;padding:.5rem}.lightbox-thumbnail{border:2px solid #0000;border-radius:4px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;position:relative;transition:all .2s ease;width:60px}.lightbox-thumbnail:hover{border-color:#58a6ff;transform:scale(1.05)}.lightbox-thumbnail.active{border-color:#58a6ff}.lightbox-thumbnail .thumbnail-img{height:100%;object-fit:cover;width:100%}.lightbox-thumbnail .thumbnail-active-indicator{border:2px solid #58a6ff;border-radius:4px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.lightbox-controls-hint{background:#00000080;border-radius:20px;bottom:1rem;color:#8b949e;font-size:.875rem;left:50%;padding:.5rem 1rem;position:absolute;text-align:center;transform:translateX(-50%)}.project-technologies-section{margin-bottom:3rem}.project-technologies-section .technologies-container{display:flex;flex-direction:column;gap:2rem}.project-technologies-section .tech-category{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;overflow:hidden}.project-technologies-section .category-header{align-items:center;display:flex;gap:.75rem;padding:1rem 1.5rem}.project-technologies-section .category-icon{font-size:1.5rem}.project-technologies-section .category-header h3{color:#fff;flex:1 1;margin:0}.project-technologies-section .tech-count{background:#fff3;border-radius:12px;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.project-technologies-section .tech-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:1.5rem}@media (max-width:768px){.project-technologies-section .tech-grid{grid-template-columns:1fr}}.project-technologies-section .tech-card{background:#0d1117;border-radius:8px;padding:1.25rem;transition:all .3s ease}.project-technologies-section .tech-card:hover{box-shadow:0 4px 15px #0000004d;transform:translateY(-2px)}.project-technologies-section .tech-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:.75rem}.project-technologies-section .tech-icon{align-items:center;background:#58a6ff1a;border-radius:8px;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.project-technologies-section .tech-name{flex:1 1}.project-technologies-section .tech-name h4{color:#c9d1d9;margin:0 0 .25rem}.project-technologies-section .tech-version{color:#8b949e;font-size:.875rem}.project-technologies-section .tech-description{color:#e0e0e0;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.project-technologies-section .tech-type{text-align:right}.project-technologies-section .type-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.project-process-section{margin-bottom:3rem}.project-process-section .process-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.project-process-section .process-grid{grid-template-columns:1fr}}.project-process-section .process-column{background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 2px 10px #0000004d;overflow:hidden}.project-process-section .process-header{align-items:center;border-bottom:1px solid #30363d;display:flex;gap:.75rem;padding:1rem}.project-process-section .goals-header{background:linear-gradient(90deg,#23863633,#0000)}.project-process-section .challenges-header{background:linear-gradient(90deg,#db6d2833,#0000)}.project-process-section .outcomes-header{background:linear-gradient(90deg,#a371f733,#0000)}.project-process-section .process-icon{align-items:center;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.project-process-section .process-header h3{color:#c9d1d9;flex:1 1;margin:0}.project-process-section .process-content{padding:1.5rem}.project-process-section .process-list{list-style:none;margin:0;padding:0}.project-process-section .process-item{align-items:flex-start;border-bottom:1px solid #30363d;display:flex;gap:.75rem;line-height:1.5;margin-bottom:1rem;padding-bottom:1rem}.project-process-section .process-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.project-process-section .item-bullet{color:#58a6ff;font-size:1.25rem;font-weight:700;line-height:1;margin-top:.25rem}.project-process-section .no-content{color:#8b949e;font-style:italic;padding:2rem 0;text-align:center}@media (max-width:768px){.wdash-page .page-header h1{font-size:2rem}.wdash-page .project-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.wdash-content-grid{gap:1.5rem}.image-gallery .gallery-main-container{height:300px}.image-gallery .gallery-thumbnails{grid-template-columns:repeat(4,1fr)}.lightbox-thumbnails{max-width:95vw}.project-process-section .process-header h3{font-size:1.1rem}.project-process-section .process-icon{font-size:1.25rem;height:32px;width:32px}.project-process-section .process-content{padding:1rem}.project-process-section .process-item{font-size:.9rem}}.admin-edit-project{background:linear-gradient(135deg,#0d1117,#161b22);margin-top:70px;min-height:calc(100vh - 70px);padding:2rem 0 4rem}.admin-edit-project .page-header{align-items:center;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:2rem}.admin-edit-project .page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#58a6ff,#79c0ff);-webkit-background-clip:text;background-clip:text;color:#58a6ff;font-size:2.5rem;margin:0 0 .5rem}.btn-back{background:#21262d;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-back:hover{background:#30363d;border-color:#484f58;color:#f0f6fc}.tabs-wrapper{background:#161b22;border:1px solid #30363d;border-radius:12px;overflow:hidden}.tabs{background:#0d1117;border-bottom:1px solid #30363d;overflow-x:auto}.tab,.tabs{display:flex}.tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#8b949e;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;padding:1.25rem 1.5rem;transition:all .3s ease;white-space:nowrap}.tab:hover{background:#161b22;color:#c9d1d9}.tab.active{background:#161b22;border-bottom-color:#58a6ff;color:#58a6ff}.tab-icon{font-size:1.2rem}.project-form{padding:2rem}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-section{margin-bottom:2rem}.form-section h3{border-bottom:1px solid #30363d;color:#f0f6fc;font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.75rem}.section-description{color:#8b949e;font-size:.95rem;margin:0 0 1.5rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.form-group{margin-bottom:1.5rem}.form-group label{color:#c9d1d9;display:block;font-weight:600;margin-bottom:.5rem}.image-upload-area{margin-bottom:1rem}.upload-placeholder{background:#0d1117;border:2px dashed #30363d;border-radius:8px;cursor:pointer;padding:3rem;text-align:center;transition:all .3s ease}.upload-placeholder:hover{background:#58a6ff0d;border-color:#58a6ff}.upload-placeholder p{color:#c9d1d9;font-size:1rem;margin:0 0 .5rem}.upload-placeholder span{color:#6e7681;font-size:.85rem}.image-preview{background:#0d1117;border:1px solid #30363d;border-radius:8px;min-height:200px;overflow:hidden;position:relative}.image-preview img{display:block;height:auto;max-height:300px;object-fit:contain;width:100%}.btn-remove-image{align-items:center;background:#f85149e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;position:absolute;right:.5rem;top:.5rem;transition:all .2s ease;width:32px}.btn-remove-image:hover{background:#f85149;transform:scale(1.1)}.form-group input,.form-group select,.form-group textarea{background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff1a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-group select{cursor:pointer}.help-text{color:#8b949e;font-size:.85rem;margin-top:.5rem}.checkbox-group{margin-top:1.5rem}.checkbox-label{align-items:center;color:#c9d1d9;cursor:pointer;display:flex;font-weight:500;gap:.75rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.array-field{background:#0d1117;border:1px solid #30363d;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.array-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.array-header h4{color:#c9d1d9;font-size:1.1rem;margin:0}.array-item{display:flex;gap:.5rem;margin-bottom:.75rem}.array-item input{background:#161b22;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;flex:1 1;font-size:.95rem;padding:.75rem}.array-item input:focus{border-color:#58a6ff;outline:none}.btn-add,.btn-remove{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-add{background:#238636;color:#fff}.btn-add:hover{background:#2ea043}.btn-remove{background:#da3633;color:#fff;min-width:36px;padding:.5rem}.btn-remove:hover{background:#f85149}.btn-add-image{background:#21262d;border:2px dashed #30363d;border-radius:8px;color:#8b949e;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:1.5rem;padding:1rem;transition:all .3s ease;width:100%}.btn-add-image:hover{background:#30363d;border-color:#58a6ff;color:#58a6ff}.image-field{background:#0d1117;border:1px solid #30363d;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.image-header{align-items:center;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.image-header h4{color:#c9d1d9;font-size:1rem;margin:0}.form-actions{border-top:1px solid #30363d;display:flex;gap:1rem;margin-top:2rem;padding-top:2rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .3s ease}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#21262d;border:1px solid #30363d;color:#c9d1d9}.btn-secondary:hover{background:#30363d;border-color:#484f58}.error-message{background:#490202;border:1px solid #f85149;border-radius:8px;color:#f85149;margin-bottom:1.5rem;padding:1rem}@media (max-width:768px){.admin-edit-project .page-header{align-items:flex-start;flex-direction:column;gap:1rem}.tabs{flex-wrap:wrap}.tab{flex:1 1 50%;font-size:.85rem;padding:1rem}.project-form{padding:1.5rem}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.admin-dashboard{background:linear-gradient(135deg,#0d1117,#161b22);margin-top:70px;min-height:calc(100vh - 70px);padding:2rem 0 4rem}.dashboard-header{align-items:center;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;margin-bottom:3rem;padding-bottom:2rem}.header-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#58a6ff,#79c0ff);-webkit-background-clip:text;background-clip:text;color:#58a6ff;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.header-subtitle{color:#8b949e;font-size:1.1rem;margin:0}.btn-logout{align-items:center;background:#21262d;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-logout:hover{background:#30363d;border-color:#484f58;box-shadow:0 4px 12px #0006;color:#f0f6fc;transform:translateY(-2px)}.btn-logout svg{flex-shrink:0}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.stat-card{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:12px;display:flex;gap:1rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.stat-card:before{background:linear-gradient(90deg,#58a6ff,#238636);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.stat-card:hover{border-color:#58a6ff;box-shadow:0 8px 24px #0006;transform:translateY(-4px)}.stat-card:hover:before{opacity:1}.stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.projects-icon{background:linear-gradient(135deg,#23863620,#23863610);color:#3fb950}.featured-icon{background:linear-gradient(135deg,#58a6ff20,#58a6ff10);color:#58a6ff}.action-icon{background:linear-gradient(135deg,#a371f720,#a371f710);color:#a371f7}.stat-content{flex:1 1}.stat-label{color:#8b949e;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.stat-value{color:#f0f6fc;font-size:2rem;font-weight:700;line-height:1;margin:0}.stat-link{color:#58a6ff;display:inline-block;font-size:1rem;font-weight:600;margin-top:.25rem;text-decoration:none;transition:color .3s ease}.stat-link:hover{color:#79c0ff;text-decoration:underline}.dashboard-content{background:#161b22;border:1px solid #30363d;border-radius:12px;overflow:hidden}.content-header{align-items:center;background:#0d1117;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;padding:1.5rem 2rem}.content-header h2{color:#f0f6fc;font-size:1.5rem;font-weight:600;margin:0}.btn-primary{align-items:center;background:linear-gradient(135deg,#238636,#2ea043);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-primary:hover{background:linear-gradient(135deg,#2ea043,#3fb950);box-shadow:0 4px 12px #23863666;transform:translateY(-2px)}.btn-primary svg{flex-shrink:0}.empty-state{padding:4rem 2rem;text-align:center}.empty-icon{color:#30363d;margin-bottom:1.5rem}.empty-state h3{color:#c9d1d9;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:#8b949e;font-size:1.1rem;margin:0 0 2rem}.table-wrapper{overflow-x:auto}.projects-table{border-collapse:collapse;width:100%}.projects-table thead tr{background:#0d1117}.projects-table th{border-bottom:2px solid #30363d;color:#8b949e;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem 1.5rem;text-align:left;text-transform:uppercase}.projects-table tbody tr{transition:background .2s ease}.projects-table tbody tr:hover{background:#1c2128}.projects-table td{border-bottom:1px solid #21262d;color:#c9d1d9;padding:1.25rem 1.5rem}.projects-table td:first-child{border-left:3px solid #0000}.projects-table tbody tr:hover td:first-child{border-left-color:#58a6ff}.project-title-cell{align-items:center;display:flex;gap:.75rem}.project-title{color:#f0f6fc;font-size:1rem;font-weight:600}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag-mini{background:#21262d;border:1px solid #30363d;border-radius:6px;color:#58a6ff;display:inline-block;font-size:.75rem;font-weight:500;padding:.35rem .75rem;transition:all .2s ease}.tech-tag-mini:hover{background:#30363d;border-color:#58a6ff}.status-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.35rem .85rem;text-transform:uppercase}.status-badge.featured{background:linear-gradient(135deg,#23863620,#23863610);border:1px solid #238636;color:#3fb950}.status-badge.normal{background:#21262d;border:1px solid #30363d;color:#8b949e}.action-buttons{display:flex;gap:.5rem}.btn-action{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.4rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.btn-edit{background:#21262d;border:1px solid #30363d;color:#79c0ff}.btn-edit:hover{background:#58a6ff;border-color:#58a6ff;box-shadow:0 4px 12px #58a6ff4d;color:#0d1117;transform:translateY(-2px)}.btn-delete{background:#21262d;border:1px solid #30363d;color:#f85149}.btn-delete:hover{background:#da3633;border-color:#da3633;box-shadow:0 4px 12px #f851494d;color:#fff;transform:translateY(-2px)}.btn-action svg{flex-shrink:0}@media (max-width:768px){.admin-dashboard{padding:1rem 0 2rem}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-content h1{font-size:2rem}.btn-logout{justify-content:center;width:100%}.stats-grid{gap:1rem;grid-template-columns:1fr}.content-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-primary{justify-content:center;width:100%}.projects-table{font-size:.875rem}.projects-table td,.projects-table th{padding:.75rem 1rem}.action-buttons{flex-direction:column}.btn-action{justify-content:center;width:100%}.tech-tags{flex-direction:column}}.loading{color:#8b949e;font-size:1.2rem;padding:4rem 2rem;text-align:center}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-track{background:#0d1117}.table-wrapper::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#484f58}.admin-sidebar{width:220px}.branding-icon{font-size:1.5rem}.branding-text h2{font-size:1rem}.admin-main{background:#0d1117;margin-left:240px;min-height:100vh}.admin-header{flex-direction:column;gap:.25rem;width:100%}.nav-menu>li{display:block;width:100%}.nav-menu>li>.nav-link{align-items:center;border-radius:6px;box-sizing:border-box;color:#8b949e;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease;width:100%}.nav-menu>li>.nav-link:hover{background:#21262d;color:#f0f6fc}.nav-menu>li>.nav-link.logout:hover{background:#f8514926;color:#f85149}.nav-menu>li.active>.nav-link{background:#30363d;color:#f0f6fc}.nav-menu>li.disabled>.nav-link{cursor:not-allowed;opacity:.5}.nav-menu>li.disabled>.nav-link:hover{background:#0000;color:#8b949e}.nav-menu>li>span.nav-link{align-items:center;border-radius:6px;box-sizing:border-box;color:#8b949e;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease;width:100%}.nav-icon{flex-shrink:0;height:20px;width:20px}.nav-label{flex:1 1}.nav-badge{color:#6e7681;font-size:.7rem}.admin-sidebar-footer{border-top:1px solid #21262d;display:flex;flex-direction:column;gap:.25rem;margin-top:auto;padding:.5rem}.footer-link{align-items:center;border-radius:6px;box-sizing:border-box;color:#8b949e;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease;width:100%}.footer-link:hover{background:#21262d;color:#f0f6fc}.footer-link.logout:hover{background:#f8514926;color:#f85149}.admin-main{background:linear-gradient(135deg,#0d1117,#161b22);flex:1 1;overflow-y:auto;padding:2rem 3rem}.project-card .project-image img{height:100%;object-fit:cover;width:100%}.project-card .no-image{align-items:center;background:#0d1117;color:#6e7681;display:flex;font-size:.9rem;height:100%;justify-content:center;width:100%}.admin-layout{background:#0d1117;color:#c9d1d9;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.admin-sidebar{background:#161b22;border-right:1px solid #21262d;display:flex;flex-direction:column;flex-shrink:0;height:100vh;left:0;position:fixed;top:0;width:240px;z-index:100}.admin-branding{align-items:center;border-bottom:1px solid #21262d;display:flex;gap:.75rem;padding:1.5rem}.branding-icon{color:#58a6ff;font-size:2rem}.branding-text h2{color:#f0f6fc;font-size:1.1rem;font-weight:600;margin:0}.branding-text span{color:#6e7681;font-size:.75rem}.admin-header{align-items:flex-start;border-bottom:1px solid #21262d;display:flex;justify-content:space-between;margin-bottom:2.5rem;margin-top:-2rem;padding-bottom:2rem}.header-left{flex:1 1}.page-title{color:#f0f6fc;font-size:2rem;font-weight:700;margin:0 0 .5rem}.page-description{color:#8b949e;font-size:1rem;margin:0}.btn-add-new{align-items:center;background:#238636;border:1px solid #238636;border-radius:8px;color:#fff;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-add-new:hover{background:#2ea043;border-color:#2ea043;box-shadow:0 4px 12px #2386364d;transform:translateY(-2px)}.admin-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:3rem}.stat-card-v2{align-items:center;background:#161b22;border:1px solid #21262d;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.stat-card-v2:hover{border-color:#30363d;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.stat-card-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-card-icon.projects{background:#58a6ff26;color:#58a6ff}.stat-card-icon.featured{background:#f0883e26;color:#f0883e}.stat-card-icon.completed{background:#3fb95026;color:#3fb950}.stat-card-icon.progress{background:#a371f726;color:#a371f7}.stat-card-content{flex:1 1}.stat-card-label{color:#8b949e;font-size:.85rem;font-weight:500;margin:0 0 .25rem}.stat-card-value{color:#f0f6fc;font-size:1.75rem;font-weight:700;margin:0}.admin-section{background:#161b22;border:1px solid #21262d;border-radius:12px;margin-bottom:2rem;padding:2rem}.section-header{align-items:center;border-bottom:1px solid #21262d;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.section-title{color:#f0f6fc;font-size:1.25rem;font-weight:600;margin:0}.section-controls{align-items:center;display:flex;gap:1rem}.search-box-v2{align-items:center;display:flex;position:relative}.search-box-v2 svg{color:#6e7681;left:1rem;pointer-events:none;position:absolute}.search-box-v2 input{background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;font-size:.9rem;padding:.625rem 1rem .625rem 2.75rem;transition:all .3s ease;width:280px}.search-box-v2 input:focus{background:#161b22;border-color:#58a6ff;outline:none}.search-box-v2 input::placeholder{color:#6e7681}.empty-state-v3{padding:4rem 2rem;text-align:center}.empty-icon-v3{color:#21262d;margin-bottom:1.5rem;opacity:.5}.empty-state-v3 h3{color:#c9d1d9;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-state-v3 p{color:#8b949e;margin:0 0 1.5rem}.btn-create-first{align-items:center;background:#238636;border-radius:8px;color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-create-first:hover{background:#2ea043;transform:translateY(-2px)}.projects-list-v3{display:flex;flex-direction:column;gap:1rem}.project-item-v3{align-items:center;background:#0d1117;border:1px solid #21262d;border-radius:10px;display:flex;gap:1.5rem;justify-content:space-between;padding:1.5rem;transition:all .3s ease}.project-item-v3:hover{background:#161b22;border-color:#30363d}.project-item-main{align-items:center;display:flex;flex:1 1;gap:1.25rem}.project-avatar-v3{align-items:center;background:linear-gradient(135deg,#238636,#2ea043);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:48px;justify-content:center;width:48px}.project-item-info{flex:1 1}.project-item-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.project-item-title{color:#f0f6fc;font-size:1.05rem;font-weight:600;margin:0}.featured-indicator{background:#f0883e26;border-radius:6px;color:#f0883e;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.project-item-desc{color:#8b949e;font-size:.875rem;line-height:1.5;margin:0 0 .75rem}.project-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.status-tag{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.status-completed{background:#3fb95026;color:#3fb950}.status-in-progress{background:#58a6ff26;color:#58a6ff}.status-planning{background:#a371f726;color:#a371f7}.status-on-hold{background:#f0883e26;color:#f0883e}.category-tag{color:#8b949e;padding:.25rem .75rem}.category-tag,.tech-tag-v3{background:#21262d;border-radius:6px;font-size:.75rem;font-weight:500}.tech-tag-v3{border:1px solid #30363d;color:#58a6ff;padding:.25rem .6rem}.project-item-actions{display:flex;gap:.5rem}.action-btn-v3{align-items:center;background:#21262d;border:1px solid #30363d;border-radius:8px;color:#8b949e;cursor:pointer;display:flex;height:36px;justify-content:center;text-decoration:none;transition:all .3s ease;width:36px}.action-btn-v3:hover{background:#30363d;border-color:#484f58;color:#f0f6fc}.action-btn-v3.view:hover{background:#58a6ff26;border-color:#58a6ff;color:#58a6ff}.action-btn-v3.edit:hover{background:#3fb95026;border-color:#3fb950;color:#3fb950}.action-btn-v3.delete:hover{background:#f8514926;border-color:#f85149;color:#f85149}.loading-centered{align-items:center;background:#0d1117;color:#8b949e;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:3px solid #21262d;border-radius:50%;border-top-color:#58a6ff;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1024px){.admin-sidebar{width:200px}.admin-main{padding:2rem}.search-box-v2 input{width:220px}}@media (max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{height:auto;position:relative;width:100%}.admin-nav{padding:.5rem}.nav-menu{display:flex;gap:.5rem;overflow-x:auto}.nav-item{flex-shrink:0;margin:0}.admin-sidebar-footer,.nav-badge{display:none}.admin-main{padding:1.5rem}.admin-header{flex-direction:column;gap:1rem}.admin-stats-grid{grid-template-columns:1fr 1fr}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.search-box-v2 input{width:100%}.project-item-v3{align-items:flex-start;flex-direction:column}.project-item-actions{justify-content:flex-end;width:100%}}@media (max-width:480px){.admin-stats-grid{grid-template-columns:1fr}.project-item-meta{gap:.4rem}}.upload-btn{cursor:pointer}.upload-btn input{display:none}.files-list{display:flex;flex-direction:column;gap:.75rem}.file-item{align-items:center;background:#161b22;border:1px solid #21262d;border-radius:10px;display:flex;gap:1rem;padding:1rem 1.25rem;transition:all .3s ease}.file-item:hover{background:#1c2128;border-color:#30363d}.file-icon{align-items:center;background:#21262d;border-radius:10px;display:flex;flex-shrink:0;font-size:2rem;height:50px;justify-content:center;width:50px}.file-info{flex:1 1;min-width:0}.file-name{color:#f0f6fc;font-size:1rem;font-weight:600;margin:0 0 .35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{align-items:center;color:#6e7681;display:flex;font-size:.85rem;gap:1rem}.share-badge{background:#238636;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .6rem}.file-actions{display:flex;gap:.5rem}.action-btn-v3.share{color:#3fb950}.action-btn-v3.share:hover{background:#23863620}.stat-card-icon.files{background:linear-gradient(135deg,#58a6ff20,#58a6ff10);color:#58a6ff}.stat-card-icon.size{background:linear-gradient(135deg,#a371f720,#a371f710);color:#a371f7}.stat-card-icon.shared{background:linear-gradient(135deg,#3fb95020,#3fb95010);color:#3fb950}.stat-card-icon.recent{background:linear-gradient(135deg,#f0883e20,#f0883e10);color:#f0883e}.modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#161b22;border:1px solid #30363d;border-radius:16px;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #21262d;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#f0f6fc;font-size:1.25rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close{background:none;border:none;color:#6e7681;cursor:pointer;font-size:1.75rem;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:#f0f6fc}.share-modal .create-share{align-items:center;border-bottom:1px solid #21262d;display:flex;flex-wrap:wrap;gap:1rem;padding:1.5rem}.share-modal .create-share label{color:#8b949e;font-weight:500}.share-modal .create-share select{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:.95rem;padding:.5rem 1rem}.btn-create-share{background:linear-gradient(135deg,#238636,#2ea043);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1.25rem;transition:all .3s ease}.btn-create-share:hover{background:linear-gradient(135deg,#2ea043,#3fb950);transform:translateY(-2px)}.share-links-list{padding:1.5rem}.share-links-list h4{color:#8b949e;font-size:.9rem;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.no-links{color:#6e7681;padding:2rem;text-align:center}.share-link-item{align-items:flex-start;background:#0d1117;border:1px solid #21262d;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem;padding:1rem}.share-link-item.expired{opacity:.5}.share-link-info{flex:1 1;min-width:0}.share-link-info code{background:#161b22;border-radius:4px;color:#58a6ff;display:block;font-size:.85rem;margin-bottom:.5rem;overflow:hidden;padding:.5rem .75rem;text-overflow:ellipsis;white-space:nowrap}.link-downloads,.link-expires{color:#6e7681;font-size:.8rem;margin-right:1rem}.share-link-actions{display:flex;flex-shrink:0;gap:.5rem}.btn-copy,.btn-delete-link{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.btn-copy{background:#21262d;border:1px solid #30363d;color:#58a6ff}.btn-copy:hover{background:#58a6ff;color:#0d1117}.btn-delete-link{background:#0000;border:1px solid #f85149;color:#f85149}.btn-delete-link:hover{background:#f85149;color:#fff}.shared-file-page{align-items:center;background:linear-gradient(135deg,#0d1117,#161b22);display:flex;justify-content:center;min-height:100vh;padding:2rem}.shared-file-card{background:#161b22;border:1px solid #30363d;border-radius:20px;box-shadow:0 20px 60px #00000080;max-width:450px;padding:3rem;text-align:center;width:100%}.shared-file-card.loading{color:#8b949e}.shared-file-card.error{border-color:#f85149}.shared-file-card .error-icon{font-size:4rem;margin-bottom:1rem}.shared-file-card.error h2{color:#f85149}.shared-file-card .error-hint{color:#6e7681;font-size:.9rem;margin-top:.5rem}.file-icon-large{font-size:5rem;margin-bottom:1.5rem}.file-title{color:#f0f6fc;font-size:1.5rem;margin:0 0 1rem;word-break:break-word}.file-details{color:#8b949e;display:flex;font-size:.95rem;gap:1.5rem;justify-content:center;margin-bottom:2rem}.btn-download{align-items:center;background:linear-gradient(135deg,#238636,#2ea043);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:1rem 2.5rem;transition:all .3s ease}.btn-download:hover:not(:disabled){background:linear-gradient(135deg,#2ea043,#3fb950);box-shadow:0 8px 20px #23863666;transform:translateY(-2px)}.btn-download:disabled{cursor:not-allowed;opacity:.6}.shared-by{color:#6e7681;font-size:.85rem}.messages-list{display:flex;flex-direction:column;gap:.75rem}.message-item{background:#161b22;border:1px solid #21262d;border-radius:10px;cursor:pointer;padding:1.25rem;transition:all .3s ease}.message-item:hover{background:#1c2128;border-color:#30363d}.message-item.message-new{border-left:3px solid #58a6ff}.message-item.message-selected{background:#1c2128;border-color:#58a6ff}.message-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.message-sender{align-items:center;display:flex;gap:.75rem}.message-avatar{align-items:center;background:linear-gradient(135deg,#58a6ff,#238636);border-radius:50%;color:#fff;display:flex;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;width:40px}.message-meta{display:flex;flex-direction:column}.message-name{color:#f0f6fc;font-size:.95rem;font-weight:600}.message-email{color:#6e7681;font-size:.85rem}.message-info{align-items:center;display:flex;gap:1rem}.message-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.message-status.status-new{background:#58a6ff20;border:1px solid #58a6ff40;color:#58a6ff}.message-status.status-read{background:#f0883e20;border:1px solid #f0883e40;color:#f0883e}.message-status.status-replied{background:#23863620;border:1px solid #23863640;color:#3fb950}.message-date{color:#6e7681;font-size:.8rem}.message-subject{color:#c9d1d9;font-size:1rem;font-weight:500;margin:0}.message-body{border-top:1px solid #21262d;margin-top:1rem;padding-top:1rem}.message-body p{color:#8b949e;line-height:1.6;margin:0 0 1rem;white-space:pre-wrap}.message-actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn-message{align-items:center;border:1px solid;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.btn-message.reply{background:#58a6ff;border-color:#58a6ff;color:#fff}.btn-message.reply:hover{background:#79c0ff;border-color:#79c0ff}.btn-message.mark-replied{background:#0000;border-color:#238636;color:#3fb950}.btn-message.mark-replied:hover{background:#238636;color:#fff}.btn-message.delete{background:#0000;border-color:#f85149;color:#f85149}.btn-message.delete:hover{background:#f85149;color:#fff}.stat-card-icon.messages-new,.stat-card-icon.messages-total{background:linear-gradient(135deg,#58a6ff20,#58a6ff10);color:#58a6ff}.stat-card-icon.messages-read{background:linear-gradient(135deg,#f0883e20,#f0883e10);color:#f0883e}.stat-card-icon.messages-replied{background:linear-gradient(135deg,#3fb95020,#3fb95010);color:#3fb950}.cookie-consent-banner{animation:slideUp .3s ease-out;background:#161b22;border-top:1px solid #30363d;bottom:0;box-shadow:0 -4px 20px #0000004d;left:0;padding:1.25rem;position:fixed;right:0;z-index:9999}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-consent-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:0 auto;max-width:1200px}.cookie-consent-icon{flex-shrink:0;font-size:2rem}.cookie-consent-text{flex:1 1;min-width:280px}.cookie-consent-text p{color:#e6edf3;font-size:.95rem;line-height:1.5;margin:0}.cookie-consent-text .cookie-consent-subtext{color:#8b949e;font-size:.85rem;margin-top:.25rem}.cookie-consent-actions{display:flex;flex-shrink:0;gap:.75rem}.cookie-consent-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.25rem;transition:all .2s ease}.cookie-consent-actions .btn-accept{background:#238636;color:#fff}.cookie-consent-actions .btn-accept:hover{background:#2ea043}.cookie-consent-actions .btn-decline{background:#0000;border:1px solid #30363d;color:#8b949e}.cookie-consent-actions .btn-decline:hover{background:#21262d;color:#c9d1d9}@media (max-width:768px){.cookie-consent-content{flex-direction:column;text-align:center}.cookie-consent-text{min-width:100%}.cookie-consent-actions{justify-content:center;width:100%}}
/*# sourceMappingURL=main.8b7e6a0b.css.map*/