*{margin:0;padding:0}body,html{height:100%;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#212529;font-size:1rem;line-height:1.6}.loading-container{height:100vh;gap:1rem}.loading-container .loading-spinner{border:4px solid #e5e7eb}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}@media(max-width:768px){html{font-size:14px}}.main-layout{background-color:#f8f9fa}.main-content{display:flex;flex-direction:column;transition:margin-left .2s ease}@media(max-width:768px){.main-content{margin-left:0}}.mobile-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:50;background:linear-gradient(135deg,#32CD32,#28a428);color:#fff;border:none;border-radius:12px;width:40px;height:40px;cursor:pointer;box-shadow:0 4px 20px rgba(50,205,50,.3);transition:all .3s cubic-bezier(.4,0,.2,1);align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-toggle:hover{background:linear-gradient(135deg,#28a428,#1e7b1e);transform:translateY(-2px);box-shadow:0 8px 25px rgba(50,205,50,.4)}.mobile-toggle:active{transform:translateY(0) scale(.95)}.mobile-toggle svg{width:22px;height:22px;transition:all .3s cubic-bezier(.4,0,.2,1);stroke-width:2.5px}@media(max-width:768px){.mobile-toggle{display:flex}}.header{background-color:#fff;border-bottom:1px solid #e9ecef;padding:1rem 2rem;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:10;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.header,.header .header-left{display:flex;align-items:center}.header .header-left{gap:1rem}.header .header-left .page-title{font-size:1.25rem;font-weight:600;color:#212529;margin:0}.header .header-right{display:flex;align-items:center;gap:1rem}@media(max-width:768px){.header{padding:1rem}}.sidebar-toggle{display:none;background:none;border:none;color:#212529;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease}.sidebar-toggle:hover{background-color:#f8f9fa}@media(max-width:768px){.sidebar-toggle{display:block}}.page-content{flex:1 1;padding:2rem;overflow-y:auto}@media(max-width:768px){.page-content{padding:1rem}}.container{max-width:1200px;margin:0 auto;width:100%}.grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.grid.grid-1{grid-template-columns:1fr}.grid.grid-2{grid-template-columns:repeat(2,1fr)}.grid.grid-3{grid-template-columns:repeat(3,1fr)}.grid.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid.grid-2,.grid.grid-3,.grid.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid.grid-2,.grid.grid-3,.grid.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.gap-xl{gap:2rem}.m-0{margin:0}.m-1{margin:.5rem}.m-2{margin:1rem}.m-3{margin:1.5rem}.p-0{padding:0}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:#212529}.text-secondary{color:#6c757d}.text-muted{color:#adb5bd}.bg-white{background-color:#fff}.bg-light{background-color:#f8f9fa}.rounded{border-radius:8px}.rounded-sm{border-radius:4px}.rounded-lg{border-radius:12px}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.transition{transition:all .2s ease}.transition-fast{transition:all .15s ease}.transition-slow{transition:all .3s ease}.sidebar{width:280px;background-color:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);z-index:1000;height:100vh;position:fixed;top:0;left:0}.sidebar .sidebar-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;position:relative;display:flex;align-items:center;justify-content:space-between}.sidebar .sidebar-header .logo-section{flex:1 1}.sidebar .sidebar-header .logo{display:flex;align-items:center;gap:1rem}.sidebar .sidebar-header .logo .logo-icon{width:40px;height:40px;background-color:#32cd32;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.sidebar .sidebar-header .logo .logo-icon svg{width:20px;height:20px}.sidebar .sidebar-header .logo .logo-text{flex:1 1;min-width:0}.sidebar .sidebar-header .logo .logo-text h1{font-size:1.25rem;font-weight:700;color:#212529;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .sidebar-header .logo .logo-text p{font-size:.875rem;color:#6c757d;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .sidebar-header .sidebar-close{background:none;border:none;color:#6c757d;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:none;flex-shrink:0;width:40px;height:40px;align-items:center;justify-content:center}.sidebar .sidebar-header .sidebar-close:hover{background-color:#f1f5f9;color:#32cd32;transform:scale(1.05)}.sidebar .sidebar-header .sidebar-close:active{transform:scale(.95)}.sidebar .sidebar-header .sidebar-close svg{width:20px;height:20px;stroke-width:2.5px}.sidebar .user-info{padding:1.5rem;border-bottom:1px solid #e5e7eb;background-color:#f8fafc}.sidebar .user-info .user-avatar{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin:0 auto 1rem;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;font-size:1.125rem;font-weight:700;border:3px solid #32cd32}.sidebar .user-info .user-avatar .user-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.sidebar .user-info .user-avatar .user-initials{font-size:1.125rem;font-weight:700}.sidebar .user-info .user-details{text-align:center}.sidebar .user-info .user-details .user-name{font-size:1rem;font-weight:600;color:#212529;margin:0 0 .25rem}.sidebar .user-info .user-details .user-role{font-size:.875rem;color:#6c757d;margin:0;font-weight:500}.sidebar .sidebar-nav{flex:1 1;padding:1rem 0}.sidebar .sidebar-nav .nav-list{list-style:none;margin:0;padding:0}.sidebar .sidebar-nav .nav-list li .nav-link{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:none;border:none;color:#6c757d;text-decoration:none;cursor:pointer;transition:all .2s ease;position:relative;font-size:1rem;font-weight:500}.sidebar .sidebar-nav .nav-list li .nav-link:hover{background-color:#f8fafc;color:#32cd32}.sidebar .sidebar-nav .nav-list li .nav-link.active{background-color:#32cd32;color:#fff}.sidebar .sidebar-nav .nav-list li .nav-link.active .nav-icon{color:#fff}.sidebar .sidebar-nav .nav-list li .nav-link .nav-icon{width:20px;height:20px;color:#adb5bd;transition:color .2s ease;flex-shrink:0}.sidebar .sidebar-nav .nav-list li .nav-link span{font-size:1rem;font-weight:500}.sidebar .sidebar-footer{padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f8fafc}.sidebar .sidebar-footer .logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6c757d;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.sidebar .sidebar-footer .logout-button:hover:not(:disabled){background-color:#f1f5f9;border-color:#32cd32;color:#32cd32}.sidebar .sidebar-footer .logout-button:disabled{opacity:.6;cursor:not-allowed}.sidebar .sidebar-footer .logout-button .logout-icon{width:16px;height:16px}.sidebar .developer-section{padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f8fafc;margin-top:auto}.sidebar .developer-section .developer-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.sidebar .developer-section .developer-info .developer-text{font-size:.75rem;color:#adb5bd;font-weight:500;text-align:center}.sidebar .developer-section .developer-info .developer-logo-link{display:block;transition:all .2s ease;border-radius:8px;padding:.25rem}.sidebar .developer-section .developer-info .developer-logo-link:hover{transform:scale(1.05);background-color:rgba(50,205,50,.1)}.sidebar .developer-section .developer-info .developer-logo-link:active{transform:scale(.95)}.sidebar .developer-section .developer-info .developer-logo-link .developer-logo{width:60px;height:auto;max-height:40px;object-fit:contain;border-radius:4px}.sidebar-mobile-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:50;background:linear-gradient(135deg,#32CD32,#28a428);color:#fff;border:none;border-radius:12px;width:40px;height:40px;cursor:pointer;box-shadow:0 4px 20px rgba(50,205,50,.3);transition:all .3s cubic-bezier(.4,0,.2,1);align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-mobile-toggle:hover{background:linear-gradient(135deg,#28a428,#1e7b1e);transform:translateY(-2px);box-shadow:0 8px 25px rgba(50,205,50,.4)}.sidebar-mobile-toggle:active{transform:translateY(0) scale(.95)}.sidebar-mobile-toggle svg{width:22px;height:22px;transition:all .3s cubic-bezier(.4,0,.2,1);stroke-width:2.5px}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.6),rgba(0,0,0,.4));z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.4,0,.2,1)}.main-layout{display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:280px;min-height:100vh;background-color:#f8fafc}@media(max-width:768px){.sidebar{position:fixed;top:0;left:-100%;height:100vh;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;box-shadow:4px 0 20px rgba(0,0,0,.1);z-index:1000}.sidebar.sidebar-open{left:0}.sidebar .sidebar-header .sidebar-close{display:flex}.sidebar-mobile-toggle{display:flex;z-index:50}.sidebar-overlay{display:block;z-index:999}.main-content{margin-left:0;position:relative;z-index:1}.page-header{position:relative;z-index:10}.admin-content,.dashboard-content{position:relative;z-index:1}}.login-container{min-height:100vh;display:flex}.login-container .login-background{flex:1 1;background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)),url(/spoiler.png) 50%/cover;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:3rem;position:relative}.login-container .login-background .logo-section{margin-bottom:3rem}.login-container .login-background .logo-section .logo{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.login-container .login-background .logo-section .logo .logo-icon{width:56px;height:56px;background-color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#32cd32;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.login-container .login-background .logo-section .logo .logo-icon svg{width:28px;height:28px}.login-container .login-background .logo-section .logo .logo-text h1{color:#fff;font-size:1.875rem;font-weight:800;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-container .login-background .logo-section .logo .logo-text p{color:hsla(0,0%,100%,.9);font-size:1rem;margin:0;font-weight:500}.login-container .login-background .logo-section .slogan h2{color:#fff;font-size:2.25rem;font-weight:800;margin-bottom:1.5rem;line-height:1.1;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-container .login-background .logo-section .slogan p{color:hsla(0,0%,100%,.95);font-size:1.25rem;line-height:1.6;font-weight:400}.login-container .login-form-section{width:500px;display:flex;align-items:center;justify-content:center;padding:3rem;background-color:#fff}.login-container .login-form-section .login-card{width:100%;max-width:450px}.login-container .login-form-section .login-card .login-header{text-align:center;margin-bottom:3rem}.login-container .login-form-section .login-card .login-header h2{font-size:1.875rem;font-weight:800;color:#212529;margin-bottom:1rem}.login-container .login-form-section .login-card .login-header p{font-size:1.125rem;color:#6c757d;margin:0;font-weight:400}.login-container .login-form-section .login-card .form-group{margin-bottom:2rem}.login-container .login-form-section .login-card .form-group .input-wrapper{position:relative;background-color:#f8f9fa;border-radius:12px;border:2px solid rgba(0,0,0,0);transition:all .2s ease}.login-container .login-form-section .login-card .form-group .input-wrapper:focus-within{border-color:#32cd32;background-color:#fff;box-shadow:0 0 0 4px rgba(50,205,50,.1)}.login-container .login-form-section .login-card .form-group .input-wrapper .input-icon{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);color:#adb5bd;width:20px;height:20px;transition:color .2s ease}.login-container .login-form-section .login-card .form-group .input-wrapper:focus-within .input-icon{color:#32cd32}.login-container .login-form-section .login-card .form-group .input-wrapper input{width:100%;padding:1.5rem 1.5rem 1.5rem 3.5rem;border:none;border-radius:12px;font-size:1rem;background:rgba(0,0,0,0);color:#212529;font-weight:500}.login-container .login-form-section .login-card .form-group .input-wrapper input:focus{outline:none}.login-container .login-form-section .login-card .form-group .input-wrapper input::placeholder{color:#adb5bd;font-weight:400}.login-container .login-form-section .login-card .form-group .input-wrapper .password-toggle{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#adb5bd;width:20px;height:20px;transition:color .2s ease}.login-container .login-form-section .login-card .form-group .input-wrapper .password-toggle:hover{color:#32cd32}.login-container .login-form-section .login-card .login-button{width:100%;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;padding:1.5rem;border-radius:12px;font-size:1.125rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:1rem;transition:all .2s ease;margin-bottom:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.login-container .login-form-section .login-card .login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.login-container .login-form-section .login-card .login-button:active:not(:disabled){transform:translateY(0)}.login-container .login-form-section .login-card .login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-container .login-form-section .login-card .login-footer{text-align:center;font-size:.875rem;color:#adb5bd;line-height:1.5;font-weight:400}.login-container .login-form-section .login-card .error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#f44;padding:1.5rem;border-radius:12px;margin-bottom:2rem;font-size:.875rem;font-weight:500;text-align:center;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}@media(max-width:1024px){.login-container{flex-direction:column}.login-container .login-background{min-height:350px;padding:2rem}.login-container .login-background .logo-section{margin-bottom:1.5rem}.login-container .login-background .logo-section .slogan h2{font-size:1.875rem}.login-container .login-background .logo-section .slogan p{font-size:1.125rem}.login-container .login-form-section{width:100%;padding:2rem}}@media(max-width:768px){.login-container .login-background{min-height:300px;padding:1.5rem}.login-container .login-background .logo-section .logo .logo-text h1,.login-container .login-background .logo-section .slogan h2{font-size:1.5rem}.login-container .login-background .logo-section .slogan p{font-size:1rem}.login-container .login-form-section{padding:1.5rem}.login-container .login-form-section .login-card .login-header h2{font-size:1.5rem}}.dashboard-page{padding:2rem;max-width:1400px;margin:0 auto}.dashboard-page .page-header{background:linear-gradient(135deg,#FFFFFF,#f8f9fa);border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid #e9ecef;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);position:relative;overflow:hidden}.dashboard-page .page-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#32CD32,#28A428)}.dashboard-page .page-header .header-actions{margin-bottom:1.5rem}.dashboard-page .page-header .header-actions .btn-secondary{background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.dashboard-page .page-header .header-actions .btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);background:linear-gradient(135deg,#28A428,#228B22)}.dashboard-page .page-header .header-actions .btn-secondary svg{width:16px;height:16px}.dashboard-page .page-header h1{color:#32cd32;font-size:1.875rem;font-weight:700;margin-bottom:.5rem;position:relative;display:inline-block}.dashboard-page .page-header h1:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:linear-gradient(90deg,#32CD32,#28A428);border-radius:2px}.dashboard-page .page-header p{color:#6c757d;font-size:1.125rem;margin-top:1rem;line-height:1.6}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));grid-gap:2rem;gap:2rem;margin-top:1.5rem}.project-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);overflow:hidden;transition:all .2s ease;position:relative}.project-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transform:translateY(-2px)}.project-card .edit-button{position:absolute;top:1rem;left:1rem;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;text-decoration:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.project-card .edit-button:hover{transform:scale(1.1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.project-card .edit-button svg{width:18px;height:18px}.project-card .project-image{width:100%;height:200px;overflow:hidden}.project-card .project-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-card .project-info{padding:1.5rem}.project-card .project-info .project-name{font-size:1.125rem;font-weight:700;color:#212529;margin:0 0 .5rem}.project-card .project-info .project-location{font-size:.875rem;color:#6c757d;margin:0 0 1.5rem}.project-card .project-info .view-details{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;text-decoration:none;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s ease}.project-card .project-info .view-details:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.project-card .project-info .view-details svg{width:16px;height:16px;transition:transform .2s ease}.project-card .project-info .view-details:hover svg{transform:translateX(2px)}@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.project-card .project-info{padding:1rem}.project-card .project-info .project-name{font-size:1.125rem}}@media(max-width:768px){.dashboard-page{padding:1.5rem}.projects-grid{grid-template-columns:1fr;gap:1rem}.project-card .edit-button{width:36px;height:36px}.project-card .edit-button svg{width:16px;height:16px}}.projeto-detalhes-page{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-page .voltar-section{margin-bottom:1.5rem;position:relative;z-index:100}.dashboard-page .voltar-section .voltar-button{display:flex;align-items:center;gap:.5rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem 1rem;color:#6c757d;font-size:.875rem;cursor:pointer;transition:all .2s ease;position:relative;z-index:100}.dashboard-page .voltar-section .voltar-button:hover{background-color:#f1f5f9;border-color:#cbd5e1}.dashboard-page .voltar-section .voltar-button svg{width:16px;height:16px}.project-overview-card{background-color:#f8fafc;border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid #e2e8f0}.project-overview-card .project-header{display:flex;gap:2rem;align-items:flex-start}.project-overview-card .project-header .project-image-section{flex-shrink:0;width:300px;height:200px;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.project-overview-card .project-header .project-image-section .project-detail-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .2s ease}.project-overview-card .project-header .project-image-section:hover .project-detail-image{transform:scale(1.05)}.project-overview-card .project-header .project-title-section{flex:1 1}.project-overview-card .project-header .project-title-section h1{font-size:1.875rem;font-weight:700;color:#212529;margin-bottom:1rem}.project-overview-card .project-header .project-title-section .project-delivery{display:flex;align-items:center;gap:.5rem;color:#6c757d;font-size:1rem;margin-bottom:1rem}.project-overview-card .project-header .project-title-section .project-delivery svg{width:18px;height:18px}.project-overview-card .project-header .project-title-section .project-motivation{font-size:1.125rem;color:#6c757d;line-height:1.6;margin:0}.progress-card{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border:1px solid #e2e8f0}.progress-card .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.progress-card .progress-header .progress-title{display:flex;align-items:center;gap:1rem}.progress-card .progress-header .progress-title svg{width:24px;height:24px;color:#32cd32}.progress-card .progress-header .progress-title h2{font-size:1.5rem;font-weight:700;color:#212529;margin:0}.progress-card .progress-header .progress-badge{background-color:#dbeafe;color:#1e40af;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.progress-card .phases-chart{margin-bottom:2rem}.progress-card .phases-chart h3{font-size:1.25rem;font-weight:600;color:#212529;margin-bottom:1.5rem}.progress-card .phases-chart .chart-bars{display:flex;flex-direction:column;gap:1.5rem}.progress-card .phases-chart .chart-bars .chart-bar-item .bar-label{display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-card .phases-chart .chart-bars .chart-bar-item .bar-label .phase-name{font-size:1rem;font-weight:500;color:#212529}.progress-card .phases-chart .chart-bars .chart-bar-item .bar-label .phase-percentage{font-size:.875rem;color:#6c757d;font-weight:500}.progress-card .phases-chart .chart-bars .chart-bar-item .bar-container{width:100%;height:12px;background-color:#f1f5f9;border-radius:6px;overflow:hidden}.progress-card .phases-chart .chart-bars .chart-bar-item .bar-container .bar-fill{height:100%;border-radius:6px;transition:width .8s ease-in-out}.progress-card .current-phase-details{border-top:1px solid #e2e8f0;padding-top:2rem}.progress-card .current-phase-details .phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-card .current-phase-details .phase-header .phase-info{display:flex;align-items:center;gap:.5rem}.progress-card .current-phase-details .phase-header .phase-info h4{font-size:1.125rem;font-weight:600;color:#212529;margin:0}.progress-card .current-phase-details .phase-header .phase-info .phase-indicator{width:12px;height:12px;border-radius:50%}.progress-card .current-phase-details .phase-header .phase-status{text-align:right}.progress-card .current-phase-details .phase-header .phase-status .status-text{display:block;font-size:1.125rem;font-weight:700;color:#212529}.progress-card .current-phase-details .phase-header .phase-status .status-label{font-size:.875rem;color:#6c757d}.progress-card .current-phase-details .phase-description{color:#6c757d;font-size:1rem;margin-bottom:1.5rem;line-height:1.5}.progress-card .current-phase-details .phase-progress-bar{width:100%;height:8px;background-color:#f1f5f9;border-radius:4px;overflow:hidden}.progress-card .current-phase-details .phase-progress-bar .progress-fill{height:100%;border-radius:4px;transition:width .8s ease-in-out}@media(max-width:768px){.projeto-detalhes-page{padding:1rem}.project-overview-card{padding:1.5rem}.project-overview-card .project-header{flex-direction:column;gap:1.5rem}.project-overview-card .project-header .project-image-section{width:100%;height:180px}.project-overview-card .project-header .project-title-section h1{font-size:1.5rem}.progress-card{padding:1.5rem}.progress-card .progress-header{flex-direction:column;align-items:flex-start;gap:1rem}.progress-card .progress-header .progress-badge{align-self:flex-end}}.filter-section{margin-bottom:2rem}.date-filter{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border:1px solid #e2e8f0}.date-filter .filter-header{margin-bottom:1rem}.date-filter .filter-header h4{font-size:1.125rem;font-weight:600;color:#212529;margin-bottom:.25rem}.date-filter .filter-header p{color:#6c757d;font-size:.875rem;margin:0}.date-filter .filter-controls{display:flex;gap:1rem;align-items:center}.date-filter .filter-controls .date-selector-button{display:flex;align-items:center;gap:.5rem;background-color:#32cd32;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.date-filter .filter-controls .date-selector-button:hover{background-color:#28a428}.date-filter .filter-controls .date-selector-button svg{width:16px;height:16px}.date-filter .filter-controls .clear-button{display:flex;align-items:center;gap:.5rem;background-color:#f1f5f9;color:#6c757d;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:all .2s ease}.date-filter .filter-controls .clear-button:hover{background-color:#e2e8f0}.date-filter .filter-controls .clear-button svg{width:16px;height:16px}.date-filter .date-dropdown{margin-top:1rem;border:1px solid #e2e8f0;border-radius:8px;background-color:#fff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.date-filter .date-dropdown .dropdown-header{padding:1rem;border-bottom:1px solid #e2e8f0}.date-filter .date-dropdown .dropdown-header h5{font-size:.875rem;font-weight:600;color:#212529;margin:0}.date-filter .date-dropdown .date-list{max-height:200px;overflow-y:auto}.date-filter .date-dropdown .date-list .date-option{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:none;border:none;cursor:pointer;transition:background-color .2s ease}.date-filter .date-dropdown .date-list .date-option:hover{background-color:#f8fafc}.date-filter .date-dropdown .date-list .date-option.selected{background-color:#dbeafe;color:#1e40af}.date-filter .date-dropdown .date-list .date-option .date-text{font-size:.875rem}.date-filter .date-dropdown .date-list .date-option .checkmark{color:#32cd32;font-weight:700}.date-filter .date-dropdown .date-list .no-dates{padding:1rem;text-align:center;color:#6c757d;font-size:.875rem}.chart-section{margin-bottom:2rem}.progress-chart{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border:1px solid #e2e8f0}.progress-chart .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.progress-chart .chart-header .chart-title{display:flex;align-items:center;gap:1rem}.progress-chart .chart-header .chart-title svg{width:24px;height:24px;color:#32cd32}.progress-chart .chart-header .chart-title h3{font-size:1.25rem;font-weight:700;color:#212529;margin:0}.progress-chart .chart-header .compare-info{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:.875rem;color:#32cd32}.progress-chart .chart-header .compare-info svg{width:16px;height:16px}.progress-chart .chart-empty{text-align:center;padding:2rem;color:#6c757d}.progress-chart .chart-empty p{margin:.5rem 0;font-size:1rem}.progress-chart .chart-empty p:first-child{font-weight:600;color:#212529}.progress-chart .comparison-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem;padding:1.5rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.progress-chart .comparison-summary .summary-item{display:flex;flex-direction:column;align-items:center;text-align:center}.progress-chart .comparison-summary .summary-item .label{font-size:.875rem;color:#6c757d;margin-bottom:.25rem}.progress-chart .comparison-summary .summary-item .value{font-size:1.125rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;display:flex;align-items:center;gap:.25rem}.progress-chart .comparison-summary .summary-item .value.current{background-color:#32cd32;color:#fff}.progress-chart .comparison-summary .summary-item .value.compare{background-color:#64748b;color:#fff}.progress-chart .comparison-summary .summary-item .value.difference.positive{background-color:#dcfce7;color:#166534}.progress-chart .comparison-summary .summary-item .value.difference.negative{background-color:#fef2f2;color:#dc2626}.progress-chart .comparison-summary .summary-item .value.difference svg{width:14px;height:14px}.progress-chart .chart-container .chart-bars{display:grid;grid-template-columns:repeat(9,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.progress-chart .chart-container .chart-bars .chart-bar{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;min-height:280px}.progress-chart .chart-container .chart-bars .chart-bar:hover{background-color:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.progress-chart .chart-container .chart-bars .chart-bar.selected{background-color:#f0f9ff;border:2px solid #32cd32}.progress-chart .chart-container .chart-bars .chart-bar .bar-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem}.progress-chart .chart-container .chart-bars .chart-bar .bar-header .current-percentage{font-size:1.125rem;font-weight:700;color:#212529}.progress-chart .chart-container .chart-bars .chart-bar .bar-header .comparison-indicator{display:flex;align-items:center;gap:2px;padding:2px 6px;border-radius:12px;font-size:.75rem;font-weight:600}.progress-chart .chart-container .chart-bars .chart-bar .bar-header .comparison-indicator.positive{background-color:#dcfce7;color:#166534}.progress-chart .chart-container .chart-bars .chart-bar .bar-header .comparison-indicator.negative{background-color:#fef2f2;color:#dc2626}.progress-chart .chart-container .chart-bars .chart-bar .bar-header .comparison-indicator svg{width:10px;height:10px}.progress-chart .chart-container .chart-bars .chart-bar .bars-container{position:relative;width:100%;display:flex;justify-content:center;margin-bottom:.5rem;flex:1 1;background-color:#f8f9fa;border-radius:4px;padding:.5rem}.progress-chart .chart-container .chart-bars .chart-bar .bars-container .current-bar{width:60px;border-radius:4px;position:relative;display:flex;align-items:flex-end;justify-content:center;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:2px solid rgba(0,0,0,0);background-color:#e9ecef}.progress-chart .chart-container .chart-bars .chart-bar .bars-container .current-bar .building-floors{display:flex;flex-direction:column;gap:1px;width:100%;padding:2px}.progress-chart .chart-container .chart-bars .chart-bar .bars-container .current-bar .building-floors .floor{height:3px;border-radius:1px;opacity:.8}.progress-chart .chart-container .chart-bars .chart-bar .bars-container .compare-bar{width:40px;border-radius:4px;position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center;border:1px dashed rgba(0,0,0,.2);background-color:rgba(233,236,239,.5)}.progress-chart .chart-container .chart-bars .chart-bar .bars-container .compare-bar .compare-percentage{position:absolute;top:-20px;font-size:.75rem;font-weight:600;color:#6c757d;background-color:hsla(0,0%,100%,.9);padding:1px 4px;border-radius:4px}.progress-chart .chart-container .chart-bars .chart-bar .phase-name{font-size:.875rem;font-weight:600;color:#212529;text-align:center;margin-bottom:.25rem;width:100%;margin-top:.5rem}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%;margin-top:.25rem}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .comparison-details{display:flex;align-items:center;gap:.25rem;font-size:.75rem}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .comparison-details .previous-value{color:#6c757d}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .comparison-details .arrow{color:#32cd32;font-weight:700}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .comparison-details .current-value{color:#212529;font-weight:600}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .percentage-change{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:8px}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .percentage-change.positive{background-color:#dcfce7;color:#166534}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .percentage-change.negative{background-color:#fef2f2;color:#dc2626}.progress-chart .chart-container .chart-legend{display:flex;justify-content:center;gap:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.progress-chart .chart-container .chart-legend .legend-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#6c757d}.progress-chart .chart-container .chart-legend .legend-item .legend-color{width:16px;height:16px;border-radius:4px}.progress-chart .chart-container .chart-legend .legend-item .legend-color.current{background-color:#32cd32}.progress-chart .chart-container .chart-legend .legend-item .legend-color.compare{background-color:#64748b}.progress-chart .chart-container .chart-legend .legend-item .legend-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%}.progress-chart .chart-container .chart-legend .legend-item .legend-icon.positive{background-color:#dcfce7;color:#166534}.progress-chart .chart-container .chart-legend .legend-item .legend-icon svg{width:10px;height:10px}.progress-chart .phase-details{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.progress-chart .phase-details .selected-phase-info{background-color:#f8fafc;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0}.progress-chart .phase-details .selected-phase-info h4{font-size:1.125rem;font-weight:600;color:#212529;margin:0 0 .5rem}.progress-chart .phase-details .selected-phase-info p{color:#6c757d;margin:0 0 1rem;line-height:1.5}.progress-chart .phase-details .selected-phase-info .phase-progress{display:flex;gap:1.5rem;font-size:.875rem}.progress-chart .phase-details .selected-phase-info .phase-progress span{padding:.25rem .5rem;border-radius:4px;font-weight:600}.progress-chart .phase-details .selected-phase-info .phase-progress span:first-child{background-color:#32cd32;color:#fff}.progress-chart .phase-details .selected-phase-info .phase-progress span.compare-progress{background-color:#64748b;color:#fff}.progress-summary .summary-card{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border:1px solid #e2e8f0}.progress-summary .summary-card .summary-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.progress-summary .summary-card .summary-header svg{width:24px;height:24px;color:#32cd32}.progress-summary .summary-card .summary-header h3{font-size:1.25rem;font-weight:600;color:#212529;margin:0}.progress-summary .summary-card .summary-content .phases-summary{display:flex;flex-direction:column;gap:1rem}.progress-summary .summary-card .summary-content .phases-summary .phase-summary .phase-info{display:flex;justify-content:space-between;margin-bottom:.25rem}.progress-summary .summary-card .summary-content .phases-summary .phase-summary .phase-info .phase-name{font-size:.875rem;font-weight:500;color:#212529}.progress-summary .summary-card .summary-content .phases-summary .phase-summary .phase-info .phase-progress{font-size:.875rem;color:#6c757d;font-weight:500}.progress-summary .summary-card .summary-content .phases-summary .phase-summary .phase-bar{width:100%;height:8px;background-color:#f1f5f9;border-radius:4px;overflow:hidden}.progress-summary .summary-card .summary-content .phases-summary .phase-summary .phase-bar .phase-fill{height:100%;border-radius:4px;transition:width .8s ease-in-out}@media(max-width:768px){.date-filter .filter-controls{flex-direction:column;align-items:stretch}.progress-chart{padding:1.5rem}.progress-chart .chart-header{align-items:flex-start}.progress-chart .chart-header,.progress-chart .comparison-summary{flex-direction:column;gap:1rem}.progress-chart .comparison-summary .summary-item{flex-direction:row;justify-content:space-between;width:100%}.progress-chart .comparison-summary .summary-item .value{font-size:1.125rem}.progress-chart .chart-container .chart-bars{gap:.5rem}.progress-chart .chart-container .chart-bars .chart-bar .current-bar{width:40px}.progress-chart .chart-container .chart-bars .chart-bar .progress-percentage{font-size:.75rem}.progress-chart .chart-container .chart-bars .chart-bar .progress-difference{font-size:10px;padding:1px 4px}.progress-chart .chart-container .chart-bars .chart-bar .phase-name{font-size:.75rem;max-width:60px}.progress-summary .summary-card{padding:1.5rem}}.timeline-section{margin-bottom:2rem}.progress-timeline{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border:1px solid #e2e8f0}.progress-timeline .timeline-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.progress-timeline .timeline-header svg{width:24px;height:24px;color:#32cd32}.progress-timeline .timeline-header h3{font-size:1.25rem;font-weight:700;color:#212529;margin:0}.progress-timeline .timeline-empty{text-align:center;padding:2rem;color:#6c757d}.progress-timeline .timeline-empty p{margin:.5rem 0;font-size:1rem}.progress-timeline .timeline-empty p:first-child{font-weight:600;color:#212529}.progress-timeline .timeline-grid{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.progress-timeline .timeline-grid .timeline-month{background-color:#f8fafc;border-radius:8px;padding:1.5rem;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease}.progress-timeline .timeline-grid .timeline-month:hover{background-color:#f1f5f9;transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.progress-timeline .timeline-grid .timeline-month.selected{background-color:#f0f9ff;border:2px solid #32cd32;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.progress-timeline .timeline-grid .timeline-month .month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-timeline .timeline-grid .timeline-month .month-header .month-title{display:flex;align-items:center;gap:.5rem}.progress-timeline .timeline-grid .timeline-month .month-header .month-title svg{width:16px;height:16px;color:#32cd32}.progress-timeline .timeline-grid .timeline-month .month-header .month-title span{font-size:1.125rem;font-weight:600;color:#212529}.progress-timeline .timeline-grid .timeline-month .month-header .month-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.progress-timeline .timeline-grid .timeline-month .month-header .month-progress .progress-value{font-size:1.25rem;font-weight:700;color:#212529}.progress-timeline .timeline-grid .timeline-month .month-header .month-progress .progress-change{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:8px}.progress-timeline .timeline-grid .timeline-month .month-header .month-progress .progress-change.positive{background-color:#dcfce7;color:#166534}.progress-timeline .timeline-grid .timeline-month .month-header .month-progress .progress-change.negative{background-color:#fef2f2;color:#dc2626}.progress-timeline .timeline-grid .timeline-month .month-details .updates-count{font-size:.875rem;color:#6c757d;margin-bottom:.5rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates{border-top:1px solid #e2e8f0;padding-top:1rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item{display:flex;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item:last-child{border-bottom:none}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-date{font-size:.875rem;font-weight:600;color:#212529;min-width:80px;flex-shrink:0}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress{flex:1 1}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .overall{font-size:1.125rem;font-weight:700;color:#32cd32;display:block;margin-bottom:.25rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .phases-progress{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.25rem;gap:.25rem;margin-bottom:.5rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .phases-progress .phase-mini{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;padding:.25rem;background-color:hsla(0,0%,100%,.7);border-radius:4px}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .phases-progress .phase-mini .phase-name{color:#6c757d}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .phases-progress .phase-mini .phase-value{font-weight:600;color:#212529}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .update-notes{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:4px;padding:.5rem;margin-top:.5rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .update-notes .notes-label{display:block;font-size:.75rem;font-weight:600;color:#32cd32;margin-bottom:.25rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .update-notes .notes-text{font-size:.875rem;color:#6c757d;line-height:1.4}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-arrow svg{width:16px;height:16px;color:#32cd32;margin-top:.5rem}.progress-timeline .timeline-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;padding:1.5rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.progress-timeline .timeline-summary .summary-item{display:flex;flex-direction:column;align-items:center;text-align:center}.progress-timeline .timeline-summary .summary-item .label{font-size:.875rem;color:#6c757d;margin-bottom:.25rem}.progress-timeline .timeline-summary .summary-item .value{font-size:1.125rem;font-weight:700;padding:.25rem .5rem;border-radius:4px}.progress-timeline .timeline-summary .summary-item .value.positive{background-color:#dcfce7;color:#166534}@media(max-width:768px){.progress-timeline{padding:1.5rem}.progress-timeline .timeline-grid{grid-template-columns:1fr;gap:1rem}.progress-timeline .timeline-grid .timeline-month .month-header{flex-direction:column;align-items:flex-start;gap:.5rem}.progress-timeline .timeline-grid .timeline-month .month-header .month-progress{align-items:flex-start}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item{flex-direction:column;align-items:flex-start;gap:.5rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress{width:100%}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .phases-progress{grid-template-columns:1fr}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .update-notes{margin-top:.5rem}.progress-timeline .timeline-grid .timeline-month .month-details .month-updates .update-item .update-progress .update-notes .notes-text{font-size:.75rem}.progress-timeline .timeline-summary{grid-template-columns:1fr;gap:.5rem}.progress-timeline .timeline-summary .summary-item{flex-direction:row;justify-content:space-between;text-align:left}.progress-timeline .timeline-summary .summary-item .label{margin-bottom:0}.progress-chart{padding:1.5rem}.progress-chart .chart-header{flex-direction:column;align-items:flex-start;gap:.5rem}.progress-chart .chart-header .compare-info{align-self:stretch;justify-content:center}.progress-chart .comparison-summary{grid-template-columns:1fr;gap:.5rem}.progress-chart .comparison-summary .summary-item{flex-direction:row;justify-content:space-between;text-align:left}.progress-chart .comparison-summary .summary-item .label{margin-bottom:0}.progress-chart .chart-container .chart-bars{grid-template-columns:repeat(2,1fr);gap:.5rem}.progress-chart .chart-container .chart-bars .chart-bar{min-height:200px;padding:.5rem}.progress-chart .chart-container .chart-bars .chart-bar .bar-header{flex-direction:column;align-items:center;gap:.25rem}.progress-chart .chart-container .chart-bars .chart-bar .bars-container .current-bar{width:40px}.progress-chart .chart-container .chart-bars .chart-bar .bars-container .compare-bar{width:30px}.progress-chart .chart-container .chart-bars .chart-bar .phase-name{font-size:.75rem;margin-top:.5rem}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison{margin-top:.25rem}.progress-chart .chart-container .chart-bars .chart-bar .phase-comparison .comparison-details{flex-direction:column;gap:2px;font-size:10px}.progress-chart .chart-container .chart-legend{flex-direction:column;gap:.5rem;align-items:center}}.admin-page{padding:2rem;max-width:1400px;margin:0 auto}.admin-page .page-header{background:linear-gradient(135deg,#FFFFFF,#f8f9fa);border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid #e9ecef;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);position:relative;overflow:hidden}.admin-page .page-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#32CD32,#28A428)}.admin-page .page-header .header-actions{margin-bottom:1.5rem}.admin-page .page-header .header-actions .btn-secondary{background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.admin-page .page-header .header-actions .btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);background:linear-gradient(135deg,#28A428,#228B22)}.admin-page .page-header .header-actions .btn-secondary svg{width:16px;height:16px}.admin-page .page-header h1{color:#32cd32;font-size:1.875rem;font-weight:700;margin-bottom:.5rem;position:relative;display:inline-block}.admin-page .page-header h1:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:linear-gradient(90deg,#32CD32,#28A428);border-radius:2px}.admin-page .page-header p{color:#6c757d;font-size:1.125rem;margin-top:1rem;line-height:1.6}.admin-page .tabs-navigation{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e9ecef}.admin-page .tabs-navigation .tab-button{background:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:#6c757d;cursor:pointer;transition:all .3s ease;border:none;border-bottom:3px solid rgba(0,0,0,0)}.admin-page .tabs-navigation .tab-button:hover{color:#32cd32}.admin-page .tabs-navigation .tab-button.active{color:#32cd32;border-bottom-color:#32cd32}.admin-page .tab-content{margin-bottom:2rem}.admin-page .projects-management,.admin-page .users-management{background:#fff;padding:2rem;border-radius:8px;border:1px solid #e9ecef}.admin-page .projects-management h2,.admin-page .users-management h2{color:#32cd32;margin-bottom:1.5rem}.admin-page .projects-management p,.admin-page .users-management p{color:#6c757d;font-size:1.1rem}.admin-stats{margin-top:2rem}.admin-stats h3{font-size:1.5rem}.admin-stats .stat-card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e9ecef;display:flex;align-items:center;gap:1rem;transition:transform .3s ease,box-shadow .3s ease}.admin-stats .stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.admin-stats .stat-card .stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#32cd32;color:#fff;border-radius:50%}.admin-stats .stat-card .stat-content{flex:1 1}.admin-stats .stat-card .stat-content .stat-label{display:block;color:#6c757d;font-size:.9rem;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.admin-stats .stat-card .stat-content .stat-value{display:block;font-size:1.3rem;font-weight:700;color:#212529}@media(max-width:768px){.admin-page{padding:1.5rem}.admin-page .tabs-navigation{flex-direction:column;gap:.5rem}.admin-page .tabs-navigation .tab-button{text-align:left;border-bottom:1px solid #e9ecef}.admin-page .tabs-navigation .tab-button.active{border-bottom-color:#32cd32}.admin-page .projects-management,.admin-page .users-management{padding:1.5rem}.admin-stats .stats-grid{grid-template-columns:1fr}}.financeiro-page{max-width:1100px;margin:0 auto;padding:4rem 2rem;background:#f8f9fa}.financeiro-page .page-header{background:linear-gradient(135deg,#FFFFFF,#f8f9fa);border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid #e9ecef;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);position:relative;overflow:hidden}.financeiro-page .page-header h1{font-size:1.5rem;font-weight:700;color:#32cd32;margin-bottom:.5rem}.financeiro-page .page-header p{color:#6c757d;font-size:1rem;margin:0}.financeiro-page .tabs-navigation{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:1rem;margin-bottom:2rem;border:1px solid #e9ecef;display:flex;gap:.5rem}.financeiro-page .tabs-navigation .tab-button{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;transition:all .2s ease;border-radius:8px;flex:1 1;max-width:200px}.financeiro-page .tabs-navigation .tab-button:hover{background-color:#f8fafc;color:#32cd32}.financeiro-page .tabs-navigation .tab-button.active{background-color:#32cd32;color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.financeiro-page .overview-section .financial-summary{margin-bottom:2rem}.financeiro-page .overview-section .financial-summary .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.financeiro-page .overview-section .financial-summary .summary-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:2rem;border:1px solid #e9ecef;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:1.5rem}.financeiro-page .overview-section .financial-summary .summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.financeiro-page .overview-section .financial-summary .summary-card .card-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border-radius:12px;flex-shrink:0}.financeiro-page .overview-section .financial-summary .summary-card .card-content{flex:1 1}.financeiro-page .overview-section .financial-summary .summary-card .card-content h3{font-size:.875rem;font-weight:600;color:#6c757d;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.financeiro-page .overview-section .financial-summary .summary-card .card-content .amount{font-size:1.25rem;font-weight:700;color:#212529;line-height:1.2;margin:0}.financeiro-page .overview-section .financial-summary .summary-card .card-content .amount.paid{color:#32cd32}.financeiro-page .overview-section .financial-summary .summary-card .card-content .amount.remaining{color:gold}.financeiro-page .contact-info{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:2rem;border:1px solid #e9ecef}.financeiro-page .contact-info h3{font-size:1.25rem;font-weight:700;color:#212529;margin-bottom:1rem}.financeiro-page .contact-info p{color:#6c757d;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.financeiro-page .contact-info .contact-details{display:grid;grid-gap:1rem;gap:1rem}.financeiro-page .contact-info .contact-details .contact-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e9ecef;transition:all .2s ease}.financeiro-page .contact-info .contact-details .contact-item:hover{background-color:#f1f5f9;border-color:#32cd32}.financeiro-page .contact-info .contact-details .contact-item .contact-label{font-weight:600;color:#212529;font-size:.875rem}.financeiro-page .contact-info .contact-details .contact-item .contact-value{color:#32cd32;font-weight:600;font-size:.875rem}.financeiro-page .payments-section h2{font-size:1.5rem;font-weight:700;color:#212529;margin-bottom:2rem}.financeiro-page .payments-section .empty-state{text-align:center;padding:4rem;color:#6c757d;background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e9ecef}.financeiro-page .payments-section .empty-state p{font-size:1rem;margin:0}.financeiro-page .payments-section .payment-history .history-list{display:flex;flex-direction:column;gap:1.5rem}.financeiro-page .payments-section .payment-history .payment-item{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:1.5rem;border:1px solid #e9ecef;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:1.5rem}.financeiro-page .payments-section .payment-history .payment-item:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.financeiro-page .payments-section .payment-history .payment-item .payment-icon{font-size:1.5rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-color:#f8fafc;border-radius:8px;flex-shrink:0}.financeiro-page .payments-section .payment-history .payment-item .payment-details{flex:1 1}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-header h4{font-size:1rem;font-weight:600;color:#212529;margin:0}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-header .payment-amount{font-weight:700;color:#32cd32;font-size:1.125rem}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-meta{display:flex;gap:1.5rem;align-items:center}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-meta .payment-date{color:#6c757d;font-size:.875rem;background-color:#f8fafc;padding:.25rem .5rem;border-radius:4px;border:1px solid #e9ecef}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-meta .payment-status{font-size:.875rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-meta .payment-status.pago{color:#32cd32;background-color:#f0fdf4;border:1px solid #bbf7d0}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-meta .payment-status.pendente{color:gold;background-color:#fffbeb;border:1px solid #fed7aa}@media(max-width:1024px){.financeiro-page{padding:1.5rem}.financeiro-page .tabs-navigation{flex-direction:column;gap:.5rem}.financeiro-page .tabs-navigation .tab-button{max-width:none;text-align:center}.financeiro-page .overview-section .financial-summary .summary-cards{grid-template-columns:1fr;gap:1rem}.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-header,.financeiro-page .payments-section .payment-history .payment-item .payment-details .payment-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}.financial-management{max-width:1100px;margin:0 auto;padding:4rem 2rem;background:#f8f9fa}.investor-selection{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.investor-selection h2{color:#32cd32;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.investor-selection .investor-select{width:100%;max-width:400px;padding:1rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:all .2s ease}.investor-selection .investor-select:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.investor-selection .investor-select option{padding:.5rem}.investor-summary{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.investor-summary h2{color:#32cd32;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.investor-summary .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.investor-summary .summary-cards .summary-card{background:linear-gradient(135deg,#FFFFFF,#f8f9fa);border:1px solid #e9ecef;border-radius:12px;padding:2rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.investor-summary .summary-cards .summary-card .card-icon{width:48px;height:48px;background:linear-gradient(135deg,#32CD32,#28A428);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.investor-summary .summary-cards .summary-card .card-icon svg{width:24px;height:24px;color:#fff}.investor-summary .summary-cards .summary-card .card-content h3{color:#212529;font-size:1rem;font-weight:600;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.investor-summary .summary-cards .summary-card .card-content .amount{font-size:1.25rem;font-weight:700;color:#32cd32;margin-bottom:1rem}.investor-summary .summary-cards .summary-card .card-content .btn-secondary{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem 1rem;background:#f8f9fa;color:#212529;border:1px solid #e9ecef;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.investor-summary .summary-cards .summary-card .card-content .btn-secondary:hover{background:#e9ecef;color:#32cd32}.investor-summary .summary-cards .summary-card .card-content .btn-secondary svg{width:16px;height:16px}.payment-management{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.payment-management .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e9ecef}.payment-management .section-header h2{color:#32cd32;font-size:1.125rem;font-weight:600;margin:0}.payment-management .section-header .btn-primary{display:inline-flex;align-items:center;gap:.25rem;padding:1rem 1.5rem;background:#32cd32;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.payment-management .section-header .btn-primary:hover{background:#28a428}.payment-management .section-header .btn-primary svg{width:18px;height:18px}.payment-management .empty-state{text-align:center;padding:4rem;color:#6c757d}.payment-management .empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.payment-management .empty-state p{font-size:1.125rem;margin:0}.payment-management .payment-history-admin{overflow-x:auto}.payment-management .payment-history-admin table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.payment-management .payment-history-admin table thead{background:linear-gradient(135deg,#32CD32,#28A428)}.payment-management .payment-history-admin table thead th{padding:1rem;text-align:left;color:#fff;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.payment-management .payment-history-admin table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .15s ease}.payment-management .payment-history-admin table tbody tr:hover{background:#f8f9fa}.payment-management .payment-history-admin table tbody tr:last-child{border-bottom:none}.payment-management .payment-history-admin table tbody td{padding:1rem;font-size:1rem;color:#212529}.payment-management .payment-history-admin table tbody td .payment-type{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;font-weight:500;text-transform:uppercase}.payment-management .payment-history-admin table tbody td .payment-type.payment{background:#dcfce7;color:#166534}.payment-management .payment-history-admin table tbody td .payment-type.adjustment{background:#fef3c7;color:#92400e}.payment-management .payment-history-admin .action-buttons{display:flex;gap:.5rem}.payment-management .payment-history-admin .action-buttons .btn-delete,.payment-management .payment-history-admin .action-buttons .btn-edit{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.payment-management .payment-history-admin .action-buttons .btn-delete svg,.payment-management .payment-history-admin .action-buttons .btn-edit svg{width:16px;height:16px}.payment-management .payment-history-admin .action-buttons .btn-edit{background-color:#dbeafe;color:#1e40af}.payment-management .payment-history-admin .action-buttons .btn-edit:hover:not(:disabled){background-color:#1e40af;color:#fff;transform:scale(1.05)}.payment-management .payment-history-admin .action-buttons .btn-edit:disabled{opacity:.5;cursor:not-allowed;transform:none}.payment-management .payment-history-admin .action-buttons .btn-delete{background-color:#fee2e2;color:#f44}.payment-management .payment-history-admin .action-buttons .btn-delete:hover:not(:disabled){background-color:#f44;color:#fff;transform:scale(1.05)}.payment-management .payment-history-admin .action-buttons .btn-delete:disabled{opacity:.5;cursor:not-allowed;transform:none}.admin-stats{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.admin-stats h3{color:#32cd32;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.admin-stats .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem;gap:1.5rem}.admin-stats .stats-grid .stat-card{background:linear-gradient(135deg,#FFFFFF,#f8f9fa);border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);display:flex;align-items:center;gap:1rem;transition:all .2s ease}.admin-stats .stats-grid .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border-color:#32cd32}.admin-stats .stats-grid .stat-card .stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border-radius:12px;flex-shrink:0}.admin-stats .stats-grid .stat-card .stat-content{flex:1 1}.admin-stats .stats-grid .stat-card .stat-content .stat-label{display:block;color:#6c757d;font-size:.875rem;font-weight:500;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.admin-stats .stats-grid .stat-card .stat-content .stat-value{display:block;color:#212529;font-size:1.125rem;font-weight:700}.modal-overlay{background:rgba(0,0,0,.5)}.modal-overlay .modal-content{background:#fff;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);animation:modalSlideIn .3s ease-out}.modal-overlay .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#FFFFFF)}.modal-overlay .modal-content .modal-header h3{color:#32cd32;font-size:1.25rem;font-weight:600;margin:0}.modal-overlay .modal-content .modal-header .modal-close{background:none;border:none;font-size:1.5rem;color:#6c757d;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .15s ease}.modal-overlay .modal-content .modal-header .modal-close:hover{background:#e9ecef;color:#212529}.modal-overlay .modal-content form{padding:2rem}.modal-overlay .modal-content form .form-group{margin-bottom:1.5rem}.modal-overlay .modal-content form .form-group label{display:block;font-weight:600;color:#212529;margin-bottom:.5rem;font-size:1rem}.modal-overlay .modal-content form .form-group input,.modal-overlay .modal-content form .form-group select,.modal-overlay .modal-content form .form-group textarea{width:100%;padding:1rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;background-color:#fff;box-sizing:border-box;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.modal-overlay .modal-content form .form-group input:focus,.modal-overlay .modal-content form .form-group select:focus,.modal-overlay .modal-content form .form-group textarea:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.modal-overlay .modal-content form .form-group input::placeholder,.modal-overlay .modal-content form .form-group select::placeholder,.modal-overlay .modal-content form .form-group textarea::placeholder{color:#adb5bd;font-style:italic}.modal-overlay .modal-content form .form-group input[type=text]{font-family:Courier New,monospace;font-weight:600;color:#32cd32;text-align:right;letter-spacing:.5px}.modal-overlay .modal-content form .form-group input[type=text]:focus{color:#28a428}.modal-overlay .modal-content form .form-group textarea{resize:vertical;min-height:80px}.modal-overlay .modal-content form .form-group .form-help{display:block;margin-top:.25rem;font-size:.875rem;color:#6c757d;font-style:italic}.modal-overlay .modal-content form .modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e9ecef}.modal-overlay .modal-content form .modal-actions .btn-secondary{padding:1rem 1.5rem;background:#f8f9fa;color:#212529;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-overlay .modal-content form .modal-actions .btn-secondary:hover{background:#e9ecef}.modal-overlay .modal-content form .modal-actions .btn-primary{padding:1rem 1.5rem;background:#32cd32;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-overlay .modal-content form .modal-actions .btn-primary:hover:not(:disabled){background:#28a428}.modal-overlay .modal-content form .modal-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.financial-management{padding:1.5rem}.investor-summary .summary-cards{grid-template-columns:1fr}.payment-management .section-header{flex-direction:column;gap:1rem;align-items:stretch}.payment-management .section-header .btn-primary{align-self:flex-start}.payment-management .payment-history-admin table{font-size:.875rem}.payment-management .payment-history-admin table tbody td,.payment-management .payment-history-admin table thead th{padding:.5rem}.admin-stats .stats-grid{grid-template-columns:1fr;gap:1rem}.modal-overlay .modal-content{width:95%;margin:1rem}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header .header-content h1{display:flex;align-items:center;gap:1rem;color:#32cd32;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.page-header .header-content h1 svg{width:32px;height:32px}.page-header .header-content p{color:#6c757d;font-size:1.125rem;margin:0}.page-header .btn-primary{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.page-header .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.page-header .btn-primary svg{width:18px;height:18px}.filters-section{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.filters-section .search-box{flex:1 1;position:relative;max-width:400px}.filters-section .search-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#adb5bd;width:18px;height:18px}.filters-section .search-box input{width:100%;padding:1rem 1rem 1rem 3rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;background-color:#fff;transition:all .2s ease}.filters-section .search-box input:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.filters-section .search-box input::placeholder{color:#adb5bd}.filters-section .filter-box{position:relative}.filters-section .filter-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#adb5bd;width:18px;height:18px;pointer-events:none}.filters-section .filter-box select{padding:1rem 1rem 1rem 3rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;background-color:#fff;cursor:pointer;transition:all .2s ease}.filters-section .filter-box select:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.filters-section .stats-summary{display:flex;gap:1.5rem;margin-left:auto}.filters-section .stats-summary .stat-item{font-size:.875rem;color:#6c757d}.filters-section .stats-summary .stat-item strong{color:#32cd32;font-weight:700}.user-table-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);overflow:hidden;border:1px solid #e9ecef}.user-table-container .user-table{width:100%}.user-table-container .user-table .table-header{display:grid;grid-template-columns:2fr 1fr 1fr 120px;grid-gap:1.5rem;gap:1.5rem;padding:1.5rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.user-table-container .user-table .table-header .header-cell{font-size:.875rem;font-weight:700;color:#212529;text-transform:uppercase;letter-spacing:.5px}.user-table-container .user-table .table-body .table-row{display:grid;grid-template-columns:2fr 1fr 1fr 120px;grid-gap:1.5rem;gap:1.5rem;padding:1.5rem;border-bottom:1px solid #e9ecef;transition:all .2s ease}.user-table-container .user-table .table-body .table-row:hover{background-color:#f8f9fa}.user-table-container .user-table .table-body .table-row:last-child{border-bottom:none}.user-table-container .user-table .table-body .table-row .user-cell{display:flex;align-items:center;gap:1rem}.user-table-container .user-table .table-body .table-row .user-cell .user-avatar{flex-shrink:0}.user-table-container .user-table .table-body .table-row .user-cell .user-avatar .user-image{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #32cd32}.user-table-container .user-table .table-body .table-row .user-cell .user-avatar .user-initials{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;border:2px solid #32cd32}.user-table-container .user-table .table-body .table-row .user-cell .user-details{flex:1 1;min-width:0}.user-table-container .user-table .table-body .table-row .user-cell .user-details .user-name{font-size:1rem;font-weight:600;color:#212529;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-table-container .user-table .table-body .table-row .user-cell .user-details .user-email{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#6c757d;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-table-container .user-table .table-body .table-row .user-cell .user-details .user-email svg{width:14px;height:14px;flex-shrink:0}.user-table-container .user-table .table-body .table-row .contact-cell{display:flex;align-items:center}.user-table-container .user-table .table-body .table-row .contact-cell .user-phone{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#6c757d;margin:0}.user-table-container .user-table .table-body .table-row .contact-cell .user-phone svg{width:14px;height:14px}.user-table-container .user-table .table-body .table-row .contact-cell .no-phone{font-size:.875rem;color:#adb5bd;font-style:italic;margin:0}.user-table-container .user-table .table-body .table-row .role-cell{display:flex;align-items:center}.user-table-container .user-table .table-body .table-row .role-cell .role-badge{display:flex;align-items:center;gap:.25rem}.user-table-container .user-table .table-body .table-row .role-cell .role-badge svg{width:14px;height:14px;color:#adb5bd}.user-table-container .user-table .table-body .table-row .role-cell .role-badge .role-text{padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-table-container .user-table .table-body .table-row .role-cell .role-badge .role-text.admin{background-color:#fef3c7;color:#92400e}.user-table-container .user-table .table-body .table-row .role-cell .role-badge .role-text.investidor{background-color:#dbeafe;color:#1e40af}.user-table-container .user-table .table-body .table-row .actions-cell{display:flex;align-items:center}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons{display:flex;gap:.5rem}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-delete,.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-edit{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-delete svg,.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-edit svg{width:16px;height:16px}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-edit{background-color:#dbeafe;color:#1e40af}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-edit:hover:not(:disabled){background-color:#1e40af;color:#fff;transform:scale(1.05)}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-edit:disabled{opacity:.5;cursor:not-allowed;transform:none}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-delete{background-color:#fee2e2;color:#f44}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-delete:hover:not(:disabled){background-color:#f44;color:#fff;transform:scale(1.05)}.user-table-container .user-table .table-body .table-row .actions-cell .action-buttons .btn-delete:disabled{opacity:.5;cursor:not-allowed;transform:none}.user-table-container .empty-state{text-align:center;padding:3rem}.user-table-container .empty-state .empty-icon{font-size:4rem;margin-bottom:1.5rem}.user-table-container .empty-state h3{color:#212529;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.user-table-container .empty-state p{color:#6c757d;font-size:1rem;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-form-modal{background-color:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:1001}.user-form-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e9ecef}.user-form-modal .modal-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#212529;margin:0}.user-form-modal .modal-header h3 svg{width:24px;height:24px;color:#32cd32}.user-form-modal .modal-header .modal-close{background:none;border:none;font-size:1.5rem;color:#adb5bd;cursor:pointer;padding:.25rem;border-radius:8px;transition:all .2s ease}.user-form-modal .modal-header .modal-close:hover{background-color:#f8f9fa;color:#212529}.user-form-modal .modal-form{padding:1.5rem}.user-form-modal .modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.user-form-modal .modal-form .form-group{margin-bottom:1.5rem}.user-form-modal .modal-form .form-group label{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;color:#212529;margin-bottom:.5rem}.user-form-modal .modal-form .form-group label svg{width:16px;height:16px;color:#32cd32}.user-form-modal .modal-form .form-group input,.user-form-modal .modal-form .form-group select{width:100%;padding:1rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;background-color:#fff}.user-form-modal .modal-form .form-group input:focus,.user-form-modal .modal-form .form-group select:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.user-form-modal .modal-form .form-group input.error,.user-form-modal .modal-form .form-group select.error{border-color:#f44;box-shadow:0 0 0 3px rgba(255,68,68,.1)}.user-form-modal .modal-form .form-group input::placeholder,.user-form-modal .modal-form .form-group select::placeholder{color:#adb5bd}.user-form-modal .modal-form .form-group select{cursor:pointer}.user-form-modal .modal-form .form-group .error-message{color:#f44;font-size:.875rem;margin-top:.25rem}.user-form-modal .modal-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.user-form-modal .modal-form .form-actions .btn-secondary{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background-color:#f8f9fa;color:#212529;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.user-form-modal .modal-form .form-actions .btn-secondary:hover{background-color:#e9ecef}.user-form-modal .modal-form .form-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.user-form-modal .modal-form .form-actions .btn-primary{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.user-form-modal .modal-form .form-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.user-form-modal .modal-form .form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:1024px){.page-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.page-header .btn-primary{align-self:stretch;justify-content:center}.filters-section{flex-direction:column;align-items:stretch;gap:1rem}.filters-section .search-box{max-width:none}.filters-section .stats-summary{margin-left:0;justify-content:space-around}.user-table-container .user-table .table-body .table-row,.user-table-container .user-table .table-header{grid-template-columns:1fr;gap:1rem}.user-table-container .user-table .table-header{display:none}.user-table-container .user-table .table-body .table-row{padding:1.5rem;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1rem}.user-table-container .user-table .table-body .table-row .actions-cell,.user-table-container .user-table .table-body .table-row .contact-cell,.user-table-container .user-table .table-body .table-row .role-cell,.user-table-container .user-table .table-body .table-row .user-cell{justify-self:stretch}.user-form-modal .modal-form .form-row{grid-template-columns:1fr}.user-form-modal .modal-form .form-actions{flex-direction:column}.user-form-modal .modal-form .form-actions .btn-primary,.user-form-modal .modal-form .form-actions .btn-secondary{width:100%;justify-content:center}}@media(max-width:768px){.user-table-container .user-table .table-body .table-row .user-cell{flex-direction:column;text-align:center;gap:.5rem}.user-table-container .user-table .table-body .table-row .actions-cell{justify-content:center}}.project-edit-form{max-width:1200px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e9ecef}.project-edit-form .edit-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e9ecef;padding-bottom:1rem}.project-edit-form .edit-tabs .tab-button{background:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:#6c757d;cursor:pointer;transition:all .2s ease;border:none;border-bottom:3px solid rgba(0,0,0,0);display:flex;align-items:center;gap:.5rem}.project-edit-form .edit-tabs .tab-button:hover{color:#32cd32}.project-edit-form .edit-tabs .tab-button.active{color:#32cd32;border-bottom-color:#32cd32}.project-edit-form .edit-tabs .tab-button svg{width:18px;height:18px}.project-edit-form .form-sections-container{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;margin-bottom:2rem}@media(max-width:1024px){.project-edit-form .form-sections-container{grid-template-columns:1fr}}.project-edit-form .form-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.project-edit-form .form-section h3{color:#32cd32;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.project-edit-form .form-group{margin-bottom:1.5rem}.project-edit-form .form-group label{display:block;font-weight:600;color:#212529;margin-bottom:.5rem;font-size:1rem}.project-edit-form .form-group input,.project-edit-form .form-group textarea{width:100%;padding:1rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;background-color:#fff;box-sizing:border-box}.project-edit-form .form-group input:focus,.project-edit-form .form-group textarea:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.project-edit-form .form-group textarea{resize:vertical;min-height:100px}.project-edit-form .image-upload .current-image{margin-bottom:1rem}.project-edit-form .image-upload .current-image img{width:100%;max-width:300px;height:200px;object-fit:cover;border-radius:8px;border:1px solid #e9ecef}.project-edit-form .image-upload .upload-controls .upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#32cd32;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.project-edit-form .image-upload .upload-controls .upload-button:hover{background:#28a428}.project-edit-form .image-upload .upload-controls .upload-button svg{width:16px;height:16px}.project-edit-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e9ecef}.project-edit-form .form-actions .btn-secondary{padding:1rem 1.5rem;background:#f8f9fa;color:#212529;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.project-edit-form .form-actions .btn-secondary:hover{background:#e9ecef}.project-edit-form .form-actions .btn-primary{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#32cd32;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.project-edit-form .form-actions .btn-primary:hover:not(:disabled){background:#28a428}.project-edit-form .form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.project-edit-form .form-actions .btn-primary svg{width:18px;height:18px}.project-edit-form .progress-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.alert{position:fixed;top:20px;right:20px;z-index:1000;padding:1rem 1.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);gap:.5rem;max-width:400px;animation:slideInRight .3s ease-out}.alert.alert-success{background-color:#dcfce7;border:1px solid #22c55e;color:#166534}.alert.alert-error{border:1px solid #ef4444;color:#dc2626}.alert .alert-message{flex:1 1;font-weight:500}.alert .alert-close{background:none;border:none;font-size:1.125rem;cursor:pointer;color:inherit;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .15s ease}.alert .alert-close:hover{background-color:rgba(0,0,0,.1)}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.progress-manager .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.progress-manager .progress-header h3{color:#32cd32;font-size:1.25rem;font-weight:600;margin:0}.progress-manager .progress-header .btn-primary{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.progress-manager .progress-header .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.progress-manager .progress-header .btn-primary svg{width:18px;height:18px}.progress-manager .progress-form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.progress-manager .progress-form-modal .progress-form{background:#fff;border-radius:12px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.progress-manager .progress-form-modal .progress-form .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.progress-manager .progress-form-modal .progress-form .form-header h4{color:#32cd32;font-size:1.125rem;font-weight:600;margin:0}.progress-manager .progress-form-modal .progress-form .form-header .close-btn{background:none;border:none;color:#6c757d;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease}.progress-manager .progress-form-modal .progress-form .form-header .close-btn:hover{background:#f8f9fa;color:#212529}.progress-manager .progress-form-modal .progress-form .phases-section{margin-bottom:1.5rem}.progress-manager .progress-form-modal .progress-form .phases-section label{display:block;font-weight:600;color:#212529;margin-bottom:1rem}.progress-manager .progress-form-modal .progress-form .phases-section .phases-grid{display:grid;grid-gap:1rem;gap:1rem}.progress-manager .progress-form-modal .progress-form .phases-section .phases-grid .phase-input label{font-weight:500;margin-bottom:.5rem}.progress-manager .progress-form-modal .progress-form .phases-section .phases-grid .phase-input .phase-slider{display:flex;align-items:center;gap:1rem}.progress-manager .progress-form-modal .progress-form .phases-section .phases-grid .phase-input .phase-slider input[type=range]{flex:1 1;height:6px;border-radius:3px;background:#e9ecef;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress-manager .progress-form-modal .progress-form .phases-section .phases-grid .phase-input .phase-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--phase-color,#32CD32);cursor:pointer;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.progress-manager .progress-form-modal .progress-form .phases-section .phases-grid .phase-input .phase-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--phase-color,#32CD32);cursor:pointer;border:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.progress-manager .progress-form-modal .progress-form .phases-section .phases-grid .phase-input .phase-slider .phase-value{font-weight:600;color:#32cd32;min-width:50px;text-align:center}.progress-manager .progress-form-modal .progress-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.progress-manager .progress-form-modal .progress-form .form-actions .btn-secondary{padding:1rem 1.5rem;background:#f8f9fa;color:#212529;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.progress-manager .progress-form-modal .progress-form .form-actions .btn-secondary:hover{background:#e9ecef}.progress-manager .progress-form-modal .progress-form .form-actions .btn-primary{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.progress-manager .progress-form-modal .progress-form .form-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.progress-manager .progress-form-modal .progress-form .form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.progress-manager .progress-form-modal .progress-form .form-actions .btn-primary svg{width:18px;height:18px}.progress-manager .updates-list h4{color:#32cd32;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.progress-manager .updates-list .updates-grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.progress-manager .updates-list .updates-grid .update-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);transition:all .2s ease}.progress-manager .updates-list .updates-grid .update-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transform:translateY(-2px)}.progress-manager .updates-list .updates-grid .update-card .update-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.progress-manager .updates-list .updates-grid .update-card .update-header .update-date{color:#212529;font-size:1rem}.progress-manager .updates-list .updates-grid .update-card .update-header .update-actions{display:flex;gap:.5rem}.progress-manager .updates-list .updates-grid .update-card .update-header .update-actions .btn-icon{background:none;border:none;color:#6c757d;padding:.5rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.progress-manager .updates-list .updates-grid .update-card .update-header .update-actions .btn-icon:hover{background:#f8f9fa;color:#212529}.progress-manager .updates-list .updates-grid .update-card .update-header .update-actions .btn-icon.btn-danger:hover{background:#fee2e2;color:#dc2626}.progress-manager .updates-list .updates-grid .update-card .update-header .update-actions .btn-icon svg{width:16px;height:16px}.progress-manager .updates-list .updates-grid .update-card .update-progress .phases-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.5rem;gap:.5rem}.progress-manager .updates-list .updates-grid .update-card .update-progress .phases-progress .phase-progress{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#f8f9fa;border-radius:4px}.progress-manager .updates-list .updates-grid .update-card .update-progress .phases-progress .phase-progress .phase-name{color:#6c757d;font-size:.875rem}.progress-manager .updates-list .updates-grid .update-card .update-progress .phases-progress .phase-progress .phase-value{font-weight:600;color:#32cd32;font-size:.875rem}.progress-manager .updates-list .updates-grid .update-card .update-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.progress-manager .updates-list .updates-grid .update-card .update-notes p{color:#6c757d;font-size:.875rem;margin:0;font-style:italic}@media(max-width:768px){.project-edit-form{padding:1rem}.project-edit-form .edit-tabs{flex-direction:column;gap:.5rem}.project-edit-form .edit-tabs .tab-button{justify-content:center}.project-edit-form .form-grid{grid-template-columns:1fr;gap:1.5rem}.project-edit-form .form-actions{flex-direction:column}.project-edit-form .form-actions .btn-primary,.project-edit-form .form-actions .btn-secondary{width:100%;justify-content:center}.progress-manager .progress-header{flex-direction:column;gap:1rem;align-items:stretch}.progress-manager .progress-header .btn-primary{justify-content:center}.progress-manager .progress-form-modal{padding:.5rem}.progress-manager .progress-form-modal .progress-form{padding:1.5rem}.progress-manager .updates-list .updates-grid .update-card .update-header{flex-direction:column;gap:.5rem;align-items:stretch}.progress-manager .updates-list .updates-grid .update-card .update-progress .phases-progress{grid-template-columns:1fr}}.settings-page{max-width:800px;margin:0 auto;padding:4rem 2rem;background:#f8f9fa}.settings-content{display:grid;grid-gap:2rem;gap:2rem}.settings-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e9ecef;overflow:hidden}.settings-card .card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:2rem;border-bottom:1px solid #e9ecef}.settings-card .card-header h2{font-size:1.25rem;font-weight:700;color:#212529;margin-bottom:.5rem}.settings-card .card-header p{color:#6c757d;font-size:1rem;margin:0}.settings-form{padding:2rem}.settings-form .form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:1024px){.settings-form .form-row{grid-template-columns:1fr;gap:1rem}}.settings-form .form-group{margin-bottom:1.5rem}.settings-form .form-group label{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;color:#212529;margin-bottom:.25rem}.settings-form .form-group label svg{width:16px;height:16px;color:#32cd32}.settings-form .form-group input{width:100%;padding:1rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;background:#fff;transition:all .2s ease}.settings-form .form-group input:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.settings-form .form-group input.error{border-color:#f44;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.settings-form .form-group input::placeholder{color:#adb5bd}.settings-form .form-group .error-message{color:#f44;font-size:.875rem;margin-top:.25rem}.settings-form .form-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef}.settings-form .form-section h3{font-size:1.125rem;font-weight:600;color:#212529;margin-bottom:.5rem}.settings-form .form-section .section-description{color:#6c757d;font-size:.875rem;margin-bottom:1.5rem}.settings-form .form-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end}.info-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e9ecef;padding:2rem}.info-card h3{font-size:1.125rem;font-weight:600;color:#212529;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.info-card .info-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #f1f5f9}.info-card .info-item:last-child{border-bottom:none}.info-card .info-item .label{font-weight:500;color:#6c757d}.info-card .info-item .value{font-weight:600;color:#212529}@media(max-width:1024px){.settings-form,.settings-page{padding:1.5rem}.settings-form .form-actions{flex-direction:column;gap:1rem}.settings-form .form-actions .btn-primary{width:100%}.info-card{padding:1.5rem}}.category-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.category-filters .category-filter{padding:.5rem 1rem;border:1px solid #e9ecef;border-radius:8px;background:#fff;color:#6c757d;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.category-filters .category-filter:hover{border-color:#32cd32;color:#32cd32}.category-filters .category-filter.active{background:#32cd32;color:#fff;border-color:#32cd32}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem}@media(max-width:1024px){.documents-grid{grid-template-columns:1fr}}.document-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);transition:all .2s ease}.document-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border-color:#32cd32}.document-card .document-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.document-card .document-header .document-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#32CD32,#28A428);color:#fff;border-radius:12px;flex-shrink:0}.document-card .document-header .document-info{flex:1 1}.document-card .document-header .document-info h3{font-size:1.125rem;font-weight:600;color:#212529;margin-bottom:.25rem;line-height:1.3}.document-card .document-header .document-info .document-description{color:#6c757d;font-size:.875rem;margin:0;line-height:1.4}.document-card .document-details{margin-bottom:1rem}.document-card .document-details .detail-item{display:flex;align-items:center;gap:.25rem;color:#6c757d;font-size:.875rem;margin-bottom:.25rem}.document-card .document-details .detail-item:last-child{margin-bottom:0}.document-card .document-details .detail-item svg{width:14px;height:14px;flex-shrink:0}.document-card .document-details .detail-item .file-size{background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-weight:500}.document-card .document-actions{display:flex;gap:.5rem;justify-content:flex-end}.document-card .document-actions button{padding:.5rem;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.875rem}.document-card .document-actions button svg{width:16px;height:16px}.document-card .document-actions button.btn-primary{background:#32cd32;color:#fff}.document-card .document-actions button.btn-primary:hover{background:#28a428;transform:scale(1.05)}.document-card .document-actions button.btn-secondary{background:#f8f9fa;color:#6c757d}.document-card .document-actions button.btn-secondary:hover{background:#e9ecef;color:#32cd32;transform:scale(1.05)}.document-card .document-actions button.btn-edit{background:#dbeafe;color:#1e40af}.document-card .document-actions button.btn-edit:hover{background:#1e40af;color:#fff;transform:scale(1.05)}.document-card .document-actions button.btn-delete{background:#fee2e2;color:#f44}.document-card .document-actions button.btn-delete:hover{background:#f44;color:#fff;transform:scale(1.05)}.modal-form{padding:2rem}.modal-form .form-group{margin-bottom:1.5rem}.modal-form .form-group label{display:block;font-size:.875rem;font-weight:600;color:#212529;margin-bottom:.25rem}.modal-form .form-group input,.modal-form .form-group select,.modal-form .form-group textarea{width:100%;padding:1rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;background:#fff;transition:all .2s ease}.modal-form .form-group input:focus,.modal-form .form-group select:focus,.modal-form .form-group textarea:focus{outline:none;border-color:#32cd32;box-shadow:0 0 0 3px rgba(50,205,50,.1)}.modal-form .form-group textarea{resize:vertical;min-height:80px}.modal-form .form-group small{display:block;color:#adb5bd;font-size:.875rem;margin-top:.25rem}.modal-form .modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}@media(max-width:1024px){.category-filters{justify-content:center}.documents-grid{gap:1rem}.document-card{padding:1rem}.document-card .document-header .document-icon{width:40px;height:40px;font-size:1.5rem}.document-card .document-actions{flex-direction:column}.document-card .document-actions button{width:100%;justify-content:center;padding:1rem}.modal-form{padding:1.5rem}.modal-form .modal-actions{flex-direction:column}.modal-form .modal-actions button{width:100%}}.project-image-gallery{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:24px}.project-image-gallery .gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.project-image-gallery .gallery-header h3{margin:0;color:#333;font-size:1.25rem;font-weight:600}.project-image-gallery .gallery-header button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.project-image-gallery .gallery-header button:hover{background:#0056b3}.project-image-gallery .gallery-header button svg{width:16px;height:16px}.project-image-gallery .images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.project-image-gallery .images-grid .loading{grid-column:1/-1;text-align:center;padding:40px;color:#666}.project-image-gallery .images-grid .empty-state{grid-column:1/-1;text-align:center;padding:60px 20px;color:#999}.project-image-gallery .images-grid .empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.project-image-gallery .images-grid .empty-state p{margin:0;font-size:16px}.project-image-gallery .images-grid .image-card{background:#f8f9fa;border-radius:8px;overflow:hidden;border:1px solid #e9ecef;transition:transform .2s,box-shadow .2s}.project-image-gallery .images-grid .image-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.project-image-gallery .images-grid .image-card .image-preview{position:relative;height:200px;overflow:hidden}.project-image-gallery .images-grid .image-card .image-preview img{width:100%;height:100%;object-fit:cover}.project-image-gallery .images-grid .image-card .image-info{padding:16px}.project-image-gallery .images-grid .image-card .image-info h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#333}.project-image-gallery .images-grid .image-card .image-info p{margin:0 0 12px;font-size:14px;color:#666;line-height:1.4}.project-image-gallery .images-grid .image-card .image-info .image-date{font-size:12px;color:#999;font-weight:500}.project-image-gallery .images-grid .image-card .image-actions{display:flex;gap:8px;padding:0 16px 16px}.project-image-gallery .images-grid .image-card .image-actions .btn-icon{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.project-image-gallery .images-grid .image-card .image-actions .btn-icon:hover{background:#f8f9fa;border-color:#007bff;color:#007bff}.project-image-gallery .images-grid .image-card .image-actions .btn-icon.btn-danger:hover{background:#f8d7da;border-color:#dc3545;color:#dc3545}.project-image-gallery .images-grid .image-card .image-actions .btn-icon svg{width:14px;height:14px}.project-image-gallery .images-grid .image-card .edit-form{padding:16px}.project-image-gallery .images-grid .image-card .edit-form .form-group{margin-bottom:16px}.project-image-gallery .images-grid .image-card .edit-form .form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#333}.project-image-gallery .images-grid .image-card .edit-form .form-group input,.project-image-gallery .images-grid .image-card .edit-form .form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.project-image-gallery .images-grid .image-card .edit-form .form-group input:focus,.project-image-gallery .images-grid .image-card .edit-form .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.project-image-gallery .images-grid .image-card .edit-form .form-group textarea{resize:vertical;min-height:60px}.project-image-gallery .images-grid .image-card .edit-form .edit-actions{display:flex;gap:8px}.project-image-gallery .images-grid .image-card .edit-form .edit-actions button{flex:1 1;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.project-image-gallery .images-grid .image-card .edit-form .edit-actions button.btn-secondary{background:#6c757d;color:#fff}.project-image-gallery .images-grid .image-card .edit-form .edit-actions button.btn-secondary:hover{background:#5a6268}.project-image-gallery .images-grid .image-card .edit-form .edit-actions button.btn-primary{background:#007bff;color:#fff}.project-image-gallery .images-grid .image-card .edit-form .edit-actions button.btn-primary:hover{background:#0056b3}.project-image-gallery .images-grid .image-card .edit-form .edit-actions button:disabled{opacity:.6;cursor:not-allowed}.upload-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.upload-form-overlay .upload-form{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.upload-form-overlay .upload-form .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.upload-form-overlay .upload-form .form-header h4{margin:0;font-size:1.25rem;font-weight:600;color:#333}.upload-form-overlay .upload-form .form-header .close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.upload-form-overlay .upload-form .form-header .close-button:hover{background:#f8f9fa;color:#333}.upload-form-overlay .upload-form .form-group{margin-bottom:20px}.upload-form-overlay .upload-form .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.upload-form-overlay .upload-form .form-group input,.upload-form-overlay .upload-form .form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.upload-form-overlay .upload-form .form-group input:focus,.upload-form-overlay .upload-form .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.upload-form-overlay .upload-form .form-group textarea{resize:vertical;min-height:80px}.upload-form-overlay .upload-form .form-group input[type=file]{padding:8px;border:2px dashed #ddd;background:#f8f9fa}.upload-form-overlay .upload-form .form-group input[type=file]:hover{border-color:#007bff;background:#f0f8ff}.upload-form-overlay .upload-form .form-actions{display:flex;gap:12px;margin-top:24px}.upload-form-overlay .upload-form .form-actions button{flex:1 1;padding:12px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;display:flex;align-items:center;justify-content:center;gap:8px}.upload-form-overlay .upload-form .form-actions button.btn-secondary{background:#6c757d;color:#fff}.upload-form-overlay .upload-form .form-actions button.btn-secondary:hover{background:#5a6268}.upload-form-overlay .upload-form .form-actions button.btn-primary{background:#007bff;color:#fff}.upload-form-overlay .upload-form .form-actions button.btn-primary:hover{background:#0056b3}.upload-form-overlay .upload-form .form-actions button.btn-primary:disabled{opacity:.6;cursor:not-allowed}.upload-form-overlay .upload-form .form-actions button svg{width:16px;height:16px}.project-gallery-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:24px}.project-gallery-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.project-gallery-section .section-header h3{margin:0;color:#333;font-size:1.25rem;font-weight:600}.project-gallery-section .section-header .header-controls{display:flex;align-items:center;gap:16px}.project-gallery-section .section-header .header-controls .image-count{font-size:14px;color:#666;background:#f8f9fa;padding:4px 12px;border-radius:20px}.project-gallery-section .section-header .header-controls .month-filter{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:4px 12px;border-radius:20px;border:1px solid #e9ecef}.project-gallery-section .section-header .header-controls .month-filter svg{width:14px;height:14px;color:#666}.project-gallery-section .section-header .header-controls .month-filter .month-select{background:none;border:none;font-size:14px;color:#333;cursor:pointer;outline:none;min-width:140px}.project-gallery-section .section-header .header-controls .month-filter .month-select:focus{color:#007bff}.project-gallery-section .section-header .header-controls .month-filter .month-select option{background:#fff;color:#333}.project-gallery-section .loading{text-align:center;padding:40px;color:#666}.project-gallery-section .empty-gallery{text-align:center;padding:60px 20px;color:#999}.project-gallery-section .empty-gallery svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.project-gallery-section .empty-gallery p{margin:0;font-size:16px}.project-gallery-section .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px}.project-gallery-section .gallery-grid .gallery-item{cursor:pointer;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}.project-gallery-section .gallery-grid .gallery-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.project-gallery-section .gallery-grid .gallery-item:hover .image-overlay{opacity:1}.project-gallery-section .gallery-grid .gallery-item .image-container{position:relative;height:180px;overflow:hidden}.project-gallery-section .gallery-grid .gallery-item .image-container img{width:100%;height:100%;object-fit:cover}.project-gallery-section .gallery-grid .gallery-item .image-container .image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.8));opacity:0;transition:opacity .2s;display:flex;align-items:flex-end;padding:16px}.project-gallery-section .gallery-grid .gallery-item .image-container .image-overlay .image-info{color:#fff}.project-gallery-section .gallery-grid .gallery-item .image-container .image-overlay .image-info h4{margin:0 0 4px;font-size:16px;font-weight:600}.project-gallery-section .gallery-grid .gallery-item .image-container .image-overlay .image-info p{margin:0 0 8px;font-size:14px;opacity:.9;line-height:1.3}.project-gallery-section .gallery-grid .gallery-item .image-container .image-overlay .image-info .image-date{display:flex;align-items:center;gap:4px;font-size:12px;opacity:.8}.project-gallery-section .gallery-grid .gallery-item .image-container .image-overlay .image-info .image-date svg{width:12px;height:12px}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.image-modal-overlay .image-modal{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.image-modal-overlay .image-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.image-modal-overlay .image-modal .modal-header .modal-title h3{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#333}.image-modal-overlay .image-modal .modal-header .modal-title .modal-date{display:flex;align-items:center;gap:6px;font-size:14px;color:#666}.image-modal-overlay .image-modal .modal-header .modal-title .modal-date svg{width:14px;height:14px}.image-modal-overlay .image-modal .modal-header .modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.image-modal-overlay .image-modal .modal-header .modal-close:hover{background:#f8f9fa;color:#333}.image-modal-overlay .image-modal .modal-content{flex:1 1;overflow:hidden}.image-modal-overlay .image-modal .modal-content .modal-image-container{width:100%;height:60vh;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.image-modal-overlay .image-modal .modal-content .modal-image-container img{max-width:100%;max-height:100%;object-fit:contain}.image-modal-overlay .image-modal .modal-content .modal-description{padding:20px 24px;border-top:1px solid #e9ecef}.image-modal-overlay .image-modal .modal-content .modal-description p{margin:0;font-size:16px;line-height:1.5;color:#333}.image-modal-overlay .image-modal .modal-navigation{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px 24px;border-top:1px solid #e9ecef}.image-modal-overlay .image-modal .modal-navigation .nav-button{background:#007bff;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.image-modal-overlay .image-modal .modal-navigation .nav-button:hover{background:#0056b3}.image-modal-overlay .image-modal .modal-navigation .nav-button.next,.image-modal-overlay .image-modal .modal-navigation .nav-button.prev{font-size:24px}.image-modal-overlay .image-modal .modal-navigation .image-counter{font-size:14px;color:#666;font-weight:500}@media(max-width:768px){.project-image-gallery .images-grid{grid-template-columns:1fr}.project-gallery-section .section-header{flex-direction:column;align-items:flex-start;gap:12px}.project-gallery-section .section-header .header-controls{width:100%;justify-content:space-between}.project-gallery-section .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.image-modal-overlay{padding:10px}.image-modal-overlay .image-modal .modal-content .modal-image-container{height:50vh}}@media(max-width:480px){.project-gallery-section .section-header .header-controls{flex-direction:column;align-items:stretch;gap:8px}.project-gallery-section .section-header .header-controls .month-filter{justify-content:center}.project-gallery-section .gallery-grid{grid-template-columns:1fr}.upload-form-overlay .upload-form{width:95%;padding:16px}}*{box-sizing:border-box}body,html{max-width:100vw;overflow-x:hidden;margin:0;padding:0}body{color:#212529;background:#f8f9fa;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;min-height:200px}.loading-container .loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top-color:#32cd32;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-container p{color:#6c757d;font-size:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{text-align:center;padding:3rem}.empty-state .empty-icon{font-size:4rem;margin-bottom:1.5rem}.empty-state h3{color:#212529;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-state p{color:#6c757d;font-size:1rem;margin:0}.error-message{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;border-radius:8px}.error-message,.success-message{padding:1rem;margin:1rem 0;text-align:center}.success-message{background-color:#dcfce7;border:1px solid #bbf7d0;color:#16a34a;border-radius:8px}.alert{margin-bottom:1.5rem;padding:1rem;border-radius:8px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:500}.alert.alert-success{background-color:#f0fdf4;color:#32cd32;border:1px solid #bbf7d0}.alert.alert-error{background-color:#fef2f2;color:#f44;border:1px solid #fecaca}.alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.125rem;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.alert button:hover{background-color:rgba(0,0,0,.1)}.btn-primary{display:inline-flex;align-items:center;gap:.25rem;padding:1rem 1.5rem;background:#32cd32;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.btn-primary:hover:not(:disabled){background:#28a428;transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary svg{width:18px;height:18px}.btn-secondary{display:inline-flex;align-items:center;gap:.25rem;padding:1rem 1.5rem;background:#f8f9fa;color:#212529;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-secondary:hover:not(:disabled){background:#e9ecef;color:#32cd32;transform:translateY(-1px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary svg{width:18px;height:18px}