.portfolio-page-wrapper{background-color:var(--color-primary);flex-direction:column;min-height:100vh;display:flex}.portfolio-header{background:radial-gradient(ellipse at bottom, #1a1a1a 0%, var(--color-primary) 70%);border-bottom:1px solid #ffffff0a;padding:140px 0 60px}.header-container{text-align:center;flex-direction:column;align-items:center;display:flex}.back-link{color:#888;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;font-family:var(--font-heading), sans-serif;align-items:center;gap:8px;margin-bottom:24px;text-decoration:none;transition:color .3s;display:flex}.back-link:hover{color:var(--color-accent)}.portfolio-header h1{letter-spacing:2px;color:#fff;margin-bottom:16px;font-size:3.5rem;font-weight:300}.portfolio-subtitle{color:#a0a0a0;max-width:600px;font-size:1.05rem;line-height:1.6}.portfolio-gallery-section{flex:1;padding:60px 0 100px}.portfolio-tabs-container{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:50px;display:flex}.portfolio-tab{color:#bbb;cursor:pointer;font-size:.85rem;font-family:var(--font-heading), sans-serif;letter-spacing:1px;text-transform:uppercase;background:#ffffff05;border:1px solid #ffffff0f;border-radius:30px;padding:10px 24px;transition:all .3s}.portfolio-tab:hover{border-color:var(--color-accent);color:#fff;background:#c48b5e0a}.portfolio-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 4px 15px #c48b5e40}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:30px;display:grid}.portfolio-card{cursor:pointer;background:#14141466;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;height:100%;transition:transform .4s,border-color .4s;display:flex;overflow:hidden}.portfolio-card:hover{border-color:#c48b5e4d;transform:translateY(-5px)}.portfolio-img-container{width:100%;height:240px;position:relative;overflow:hidden}.portfolio-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.portfolio-card:hover .portfolio-img{transform:scale(1.06)}.portfolio-hover-overlay{opacity:0;background:#000000a6;flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:opacity .3s;display:flex;position:absolute;inset:0}.portfolio-card:hover .portfolio-hover-overlay{opacity:1}.zoom-icon{color:var(--color-accent);transition:transform .3s;transform:scale(.8)}.portfolio-card:hover .zoom-icon{transform:scale(1)}.hover-view-text{color:#fff;font-family:var(--font-heading), sans-serif;letter-spacing:1.5px;text-transform:uppercase;font-size:.72rem}.portfolio-card-category-badge{color:#bbb;letter-spacing:1px;text-transform:uppercase;font-size:.72rem;font-family:var(--font-heading), sans-serif;-webkit-backdrop-filter:blur(4px);z-index:5;background:#0f0f0fbf;border:1px solid #ffffff1a;border-radius:4px;padding:4px 10px;position:absolute;top:15px;left:15px}.portfolio-card-status-badge{font-size:.68rem;font-family:var(--font-heading), sans-serif;letter-spacing:1px;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);z-index:5;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex;position:absolute;top:15px;right:15px}.portfolio-card-status-badge.completed{color:#34d399;background:#10b98126;border:1px solid #10b98159}.portfolio-card-status-badge.ongoing{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59}.status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.completed .status-dot{background-color:#34d399;box-shadow:0 0 6px #34d399cc}.ongoing .status-dot{background-color:#fbbf24;animation:1.8s ease-in-out infinite pulseStatusDot;box-shadow:0 0 6px #fbbf24cc}@keyframes pulseStatusDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.portfolio-card-info{flex-direction:column;flex:1;gap:10px;padding:24px;display:flex}.portfolio-card-info h3{color:#fff;margin:0;font-size:1.15rem;font-weight:500;line-height:1.4}.portfolio-card-info p{color:#888;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.lightbox-overlay{-webkit-backdrop-filter:blur(10px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.lightbox-content{background:#141414f2;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:1000px;position:relative;overflow:hidden;box-shadow:0 40px 100px #000c}.lightbox-close-btn{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .3s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close-btn:hover{background:var(--color-accent);border-color:var(--color-accent)}.lightbox-grid{grid-template-columns:1.2fr 1fr;min-height:500px;display:grid}.lightbox-image-wrapper{background-color:#111;width:100%;height:100%;min-height:400px;position:relative}.lightbox-image-wrapper img{object-fit:cover;width:100%;height:100%;display:block}.lightbox-details-wrapper{background-color:#0f0f0f4d;flex-direction:column;justify-content:center;padding:45px;display:flex}.lightbox-meta-badges{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.lightbox-category-badge{color:var(--color-accent);font-family:var(--font-heading), sans-serif;letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:6px;font-size:.72rem;display:inline-flex}.lightbox-status-badge{font-size:.7rem;font-family:var(--font-heading), sans-serif;letter-spacing:1px;text-transform:uppercase;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.lightbox-status-badge.completed{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.lightbox-status-badge.ongoing{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.lightbox-details-wrapper h2{color:#fff;margin-bottom:20px;font-size:2.2rem;font-weight:300;line-height:1.2}.lightbox-divider{background:#ffffff0f;height:1px;margin-bottom:24px}.lightbox-details-wrapper h3{font-size:.8rem;font-family:var(--font-heading), sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#888;margin-bottom:12px}.lightbox-desc{color:#bbb;margin-bottom:35px;font-size:.95rem;line-height:1.6}.lightbox-actions .btn-lightbox-quote{background:var(--color-accent);border:1px solid var(--color-accent);color:#fff;letter-spacing:1.5px;text-transform:uppercase;text-align:center;padding:14px 28px;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block;border-radius:6px!important}.lightbox-actions .btn-lightbox-quote:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 15px #c48b5e4d}.portfolio-photo-count-badge{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;background:#0b0f17d9;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:.7rem;font-weight:500;display:inline-flex;position:absolute;bottom:12px;right:12px}.lightbox-gallery-column{background:#0d0d0d;flex-direction:column;display:flex}.lightbox-image-wrapper{background:#000;width:100%;height:400px;position:relative;overflow:hidden}.lightbox-image-wrapper img{object-fit:cover;width:100%;height:100%;transition:opacity .3s}.gallery-nav-btn{color:#fff;cursor:pointer;z-index:6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f0fbf;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff;transform:translateY(-50%)scale(1.08)}.gallery-nav-btn.prev{left:14px}.gallery-nav-btn.next{right:14px}.gallery-counter-pill{color:#fff;letter-spacing:.5px;z-index:6;background:#0b0f17d9;border:1px solid #ffffff26;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:500;position:absolute;bottom:14px;left:14px}.lightbox-thumbnails-strip{background:#141414;border-bottom:1px solid #ffffff0f;gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.lightbox-thumbnail-btn{cursor:pointer;background:#000;border:2px solid #0000;border-radius:6px;flex-shrink:0;width:60px;height:44px;padding:0;transition:all .2s;overflow:hidden}.lightbox-thumbnail-btn img{object-fit:cover;width:100%;height:100%}.lightbox-thumbnail-btn:hover{border-color:#c48b5e80}.lightbox-thumbnail-btn.active{border-color:var(--color-accent);transform:scale(1.05)}.in-project-upload-trigger{background:#111;border-bottom:1px solid #ffffff0d;padding:12px 16px}.btn-add-photos{color:#facc15;cursor:pointer;background:#c48b5e1f;border:1px solid #c48b5e59;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px 16px;font-size:.8rem;font-weight:600;transition:all .25s;display:inline-flex}.btn-add-photos:hover{color:#fff;background:#c48b5e40;border-color:#facc15}.project-upload-panel{background:#141414f2;border-top:1px solid #ffffff14;padding:16px}.project-upload-panel h4{color:#fff;align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem;font-weight:500;display:flex}.upload-file-dropzone{text-align:center;cursor:pointer;background:#ffffff05;border:2px dashed #ffffff26;border-radius:8px;margin-bottom:10px;padding:18px;transition:all .2s}.upload-file-dropzone:hover{border-color:var(--color-accent);background:#c48b5e0d}.upload-file-dropzone .upload-icon{color:var(--color-accent);margin-bottom:6px}.upload-file-dropzone p{color:#e5e7eb;margin-bottom:4px;font-size:.8rem}.upload-file-dropzone small{color:#9ca3af;font-size:.7rem}.selected-files-preview{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.file-chip{color:#d1d5db;text-overflow:ellipsis;white-space:nowrap;background:#ffffff14;border-radius:4px;align-items:center;gap:5px;max-width:140px;padding:3px 8px;font-size:.72rem;display:inline-flex;overflow:hidden}.upload-auth-row{gap:8px;display:flex}.auth-input-wrap{flex:1;align-items:center;display:flex;position:relative}.auth-input-wrap svg{color:#6b7280;position:absolute;left:10px}.upload-password-input{color:#fff;background:#1a1a1a;border:1px solid #ffffff1f;border-radius:6px;width:100%;padding:8px 10px 8px 30px;font-size:.8rem}.upload-password-input:focus{border-color:var(--color-accent);outline:none}.btn-upload-submit{background:var(--color-accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:opacity .2s;display:inline-flex}.btn-upload-submit:disabled{opacity:.5;cursor:not-allowed}.upload-alert{border-radius:6px;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;font-size:.78rem;display:flex}.upload-alert.success{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.upload-alert.error{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.gallery-loading,.gallery-empty{text-align:center;color:#888;padding:80px 20px}.spinner{border:3px solid #ffffff0d;border-top-color:var(--color-accent);border-radius:50%;width:40px;height:40px;margin:0 auto 20px;animation:.8s linear infinite spinnerSpin}@keyframes spinnerSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:992px){.lightbox-overlay{padding:20px}.lightbox-grid{grid-template-columns:1fr}.lightbox-image-wrapper{height:300px;min-height:auto}.lightbox-details-wrapper{padding:30px}.lightbox-details-wrapper h2{font-size:1.6rem}}@media (max-width:768px){.portfolio-header{padding:110px 0 40px}.portfolio-header h1{font-size:2.5rem}.portfolio-subtitle{font-size:.95rem}}@media (max-width:500px){.portfolio-grid{grid-template-columns:1fr}}
