*{box-sizing:border-box;font-family:Arial,sans-serif;margin:0;padding:0}h1{color:#333}.primary-button{background-color:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:background-color .3s ease;width:100%}.primary-button:hover{background-color:#1976d2}.secondary-button{align-items:center;background-color:#4a6cf7;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:.5rem;padding:12px 24px;text-decoration:none;transition:background-color .2s}.secondary-button:hover{background-color:#3a5bd9}.form-section h3{color:#333;margin-bottom:28px}.form-section h4{color:#333;margin-bottom:20px;margin-left:16px}.form-group{display:flex;flex-direction:row;gap:30px;margin-bottom:16px;margin-left:16px}.form-group label{color:#333;display:block;flex:1 1;font-weight:500;line-height:20px;margin-bottom:8px;max-width:480px}.required:after{color:red;content:" *"}.form-group input,.form-group select,.form-group textarea{background-color:initial;border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:16px;outline:none;padding:10px;width:100%}.form-group textarea{min-height:60px;resize:vertical}.header{align-items:center;display:flex;justify-content:space-between;padding:20px 0}.logo{font-size:24px;font-weight:700}nav{display:flex;gap:32px}nav a{color:#060318;font-size:14px;font-weight:600;line-height:30px;text-decoration:none}.header-right{align-items:center;display:flex;gap:15px}.profile-wrapper{position:relative}.profile{align-items:center;background:#f0f0f0;border-radius:50%;cursor:pointer;display:flex;height:52px;justify-content:center;transition:background-color .3s ease;width:50px}.profile:hover{background-color:#e0e0e0}.dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-top:10px;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden;width:200px;z-index:1000}.dropdown-menu:before{background:#fff;border-left:1px solid #0000000d;border-top:1px solid #0000000d;content:"";height:12px;position:absolute;right:20px;top:-6px;transform:rotate(45deg);width:12px}.profile-wrapper:hover .dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}.dropdown-item{align-items:center;color:#060318;display:flex;font-size:14px;font-weight:600;gap:10px;padding:12px 16px;text-decoration:none;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f5f5f5}.item-icon svg{height:20px;width:20px}.logout{background:none;border:none;border-top:1px solid #eee;color:#dc3545;cursor:pointer;margin-top:4px;text-align:left;width:100%}.logout:hover{background-color:#fff5f5}.auth-wrapper{align-items:center;background-color:#f5f5f5;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0}.auth-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.auth-card .logo{display:flex;justify-content:center;margin-bottom:24px}.auth-card .logo img{height:56px;position:relative}.auth-card .card-header{margin-bottom:32px;text-align:center}.auth-card .card-header h2{color:#333;font-size:24px;font-weight:600;margin-bottom:8px}.auth-card .signup-text{color:#666;font-size:14px}.auth-card .signup-text button{background-color:initial;border:none;color:#2196f3;cursor:pointer;outline:none;text-decoration:none}.signup-text button:hover{text-decoration:underline}.auth-card .input-group{margin-bottom:16px;position:relative}.auth-card .input-group input{background-color:#f5f5f5;border:none;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.auth-card .input-group input:focus{box-shadow:0 0 0 2px #2196f3;outline:none}.auth-card .password-group{position:relative}.auth-card .password-toggle{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color eas .3s}.auth-card .password-toggle:hover{color:#333}.auth-card .password-group input{padding-right:45px}.auth-error-message{color:red;font-size:14px;margin:12px;text-align:center}.auth-card .login-text{color:#666;font-size:14px;margin-top:16px}.auth-card .login-text button{background-color:initial;border:none;color:#2196f3;cursor:pointer;font-size:14px;outline:none}.auth-card .login-text button:hover{text-decoration:underline}.dashboard-container{color:#1a202c;margin:0 auto;max-width:1400px;padding:10px 20px 20px}.dashboard-content{margin:0 auto;max-width:1400px;padding:2rem}.dashboard-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.dashboard-header h1{color:#2d3748;font-size:2rem;font-weight:700}.section-title{align-items:center;color:#2d3748;display:flex;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.section-icon{color:#4a5568;margin-right:.5rem}.stats-overview{margin-bottom:2rem}.dashboard-main{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.dashboard-column{display:flex;flex-direction:column;gap:1.5rem}.date-display{color:#64748b;font-size:.875rem;margin-top:.5rem}.user-welcome h2{margin:0 1rem 0 0}.notification-badge{align-items:center;background-color:#e53e3e;border-radius:9999px;color:#fff;display:flex;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.notification-badge svg{margin-right:.25rem}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.stats-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{align-items:center;background-color:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;padding:1.5rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:.5rem;display:flex;height:3rem;justify-content:center;margin-right:1rem;width:3rem}.stat-card .stat-icon{height:3.5rem;width:3.5rem}.stat-card.active .stat-icon{background-color:#3182ce1a;color:#3182ce}.stat-card.completed .stat-icon{background-color:#38a1691a;color:#38a169}.stat-card.total .stat-icon{background-color:#805ad51a;color:#805ad5}.stat-info h3{color:#64748b;font-size:.875rem;font-weight:500;margin:0}.stat-info p{color:#1a202c;font-size:1.75rem;font-weight:700;margin:.25rem 0 0}.quick-actions-section{margin-top:1rem}.quick-actions-section h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.quick-actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.quick-action-card{align-items:center;background-color:#fff;border-left:4px solid #3182ce;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;color:#1a202c;display:flex;padding:1.25rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.quick-action-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-3px)}.action-icon{align-items:center;display:flex;margin-right:.75rem}.recent-projects-wrapper{margin-top:1.5rem}.recent-projects-wrapper h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.projects-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-card{border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.25rem;transition:transform .2s,box-shadow .2s}.project-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-3px)}.project-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.project-icon{color:#4a5568}.status-badge{border-radius:9999px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.status-badge.active{background-color:#e6fffa;color:#319795}.status-badge.completed{background-color:#f0fff4;color:#38a169}.status-badge.pending{background-color:#fff8e6;color:#dd6b20}.status-badge.approved{background-color:#f0fff4;color:#38a169}.status-badge.rejected{background-color:#fed7d7;color:#e53e3e}.project-title{color:#1a202c;font-size:1rem;font-weight:600;margin:0 0 .75rem}.project-description{color:#4a5568;flex-grow:1;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.project-meta{margin-bottom:1rem}.meta-item{align-items:center;color:#718096;display:flex;font-size:.75rem;margin-bottom:.25rem}.meta-item svg{margin-right:.25rem}.project-card-action{background-color:#ebf8ff;border-radius:.25rem;color:#3182ce;font-size:.875rem;font-weight:500;margin-top:auto;padding:.5rem;text-align:center}.pending-approvals-wrapper{margin-top:1.5rem}.pending-approvals-wrapper h2{align-items:center;display:flex;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.approval-bell{color:#e53e3e;margin-right:.5rem}.pending-approvals-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.approval-card{background-color:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:1.25rem;transition:transform .2s,box-shadow .2s}.approval-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-3px)}.approval-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.approval-icon-card{gap:4px}.approval-icon-card span{font-size:.875rem;text-align:center}.document-icon{color:#4a5568;margin-right:.5rem}.document-type{color:#4a5568}.document-type,.pending-badge{font-size:.75rem;font-weight:600}.pending-badge{background-color:#fed7d7;border-radius:9999px;color:#e53e3e;margin-left:auto;padding:.25rem .5rem}.approval-status-wrapper{margin-top:1.5rem}.approval-status-wrapper h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.approval-status-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.approval-status-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:1.25rem;transition:transform .2s,box-shadow .2s}.approval-status-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.approval-meta{margin:1rem 0}.approval-card-action{background-color:#ebf8ff;border-radius:.25rem;color:#3182ce;font-size:.875rem;font-weight:500;margin-top:auto;padding:.5rem;text-align:center}.meta-label{color:#718096;display:inline-block;font-size:.75rem;width:80px}.meta-value{color:#4a5568;font-size:.75rem;font-weight:500}.approval-comments{background-color:#f7fafc;border-left:3px solid #cbd5e0;margin-top:.75rem;padding:.75rem}.approval-comments p{color:#4a5568;font-size:.75rem;font-style:italic;margin:0}.loading-approvals,.loading-projects{align-items:center;display:flex;height:150px;justify-content:center}.loading-spinner{animation:spinner .6s linear infinite;border:3px solid #e2e8f0;border-top-color:#3182ce;height:2rem;width:2rem}@keyframes spinner{to{transform:rotate(1turn)}}.no-approvals,.no-projects{align-items:center;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;color:#a0aec0;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.no-approvals p,.no-projects p{font-size:1rem;margin-bottom:1.5rem}.create-first-project-btn{align-items:center;background-color:#3182ce;border-radius:.375rem;color:#fff;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.875rem;text-decoration:none;transition:background-color .2s}.create-first-project-btn:hover{background-color:#2c5282}.view-all-link{margin-top:1rem;text-align:center}.view-all-link a{color:#3182ce;font-size:.875rem;font-weight:500;text-decoration:none}.view-all-link a:hover{text-decoration:underline}@media (max-width:1360px){.dashboard-main{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-header{flex-direction:column}.user-welcome{margin-top:1rem}.approval-status-grid,.pending-approvals-list,.projects-grid,.stats-cards{grid-template-columns:1fr}}.manage-users-container{margin:0 auto;max-width:1400px;padding:10px 20px 20px}.content{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-top:20px;padding:24px}.manage-users-container .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.header h1{color:#333;font-size:24px}.manage-users-container .secondary-button{padding:8px 16px}.manage-users-container .search-bar{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;padding:8px 16px;width:300px}.manage-users-container .search-bar svg{color:#666;margin-right:8px}.manage-users-container .search-bar input{background:none;border:none;font-size:14px;outline:none;width:100%}.manage-users-container table{border-collapse:collapse;width:100%}.manage-users-container td,.manage-users-container th{border-bottom:1px solid #eee;padding:16px;text-align:left}.manage-users-container th{background:#f9f9f9;color:#666;font-weight:600}.manage-users-container td{color:#333}.manage-users-container .role-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-transform:capitalize}.manage-users-container .role-badge.admin{background:#e3f2fd;color:#1976d2}.manage-users-container .role-badge.project_associate{background:#f3e5f5;color:#7b1fa2}.manage-users-container .role-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%231976d2' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:calc(100% - 12px);background-repeat:no-repeat;border:2px solid #1976d2;border-radius:6px;cursor:pointer;font-size:14px;outline:none;padding:8px 12px;transition:all .2s ease;width:180px}.manage-users-container .role-select:hover{background-color:#f5f5f5;border-color:#2196f3}.manage-users-container .role-select:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.manage-users-container .actions{display:flex;gap:8px;justify-content:center;margin:0}.manage-users-container .actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.manage-users-container .edit-btn{background:#e3f2fd;color:#1976d2}.manage-users-container .edit-btn:hover{background:#bbdefb}.manage-users-container .delete-btn{background:#ffebee;color:#d32f2f}.manage-users-container .delete-btn:hover{background:#ffcdd2}.manage-users-container select{border:1px solid #ddd;border-radius:4px;font-size:14px;outline:none;padding:4px 8px}.manage-users-container .loading{color:#666;font-size:18px;padding:40px;text-align:center}.manage-users-container .error{color:#d32f2f;font-size:18px;padding:40px;text-align:center}.manage-users-container .modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.manage-users-container .modal-content{animation:modal-pop .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:400px;padding:24px;width:90%}.manage-users-container .modal-content h2{color:#333;font-size:20px;margin:0 0 16px}.manage-users-container .modal-content p{color:#666;line-height:1.5;margin:0 0 24px}.manage-users-container .highlight{color:#1976d2;font-weight:600}@keyframes modal-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.header{flex-direction:column;gap:16px}.search-bar{width:100%}.users-table{margin-top:16px}}.profile-page{color:#1a202c;margin:0 auto;max-width:1400px;min-height:100vh;padding:10px 20px 20px}.profile-content{margin:0 auto;max-width:1000px;padding:2rem}.profile-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.header-info h1{color:#1a202c;font-size:1.875rem;font-weight:700;margin:0}.user-welcome{align-items:center;display:flex}.user-welcome h2{font-size:1.25rem;font-weight:600;margin:0 .75rem 0 0}.role-badge{align-items:center;background-color:#ebf4ff;border-radius:9999px;color:#3182ce;display:flex;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.role-badge svg{margin-right:.375rem}.profile-tabs{display:flex;gap:.75rem;margin-bottom:1.5rem}.profile-tab{align-items:center;background-color:#fff;border:none;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;color:#4a5568;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;padding:.75rem 1.25rem;transition:all .2s ease}.profile-tab svg{margin-right:.5rem}.profile-tab:hover{background-color:#f7fafc;color:#3182ce}.profile-tab.active{background-color:#3182ce;color:#fff}.profile-card{animation:fadeIn .3s ease;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.profile-card-header{align-items:center;border-bottom:1px solid #edf2f7;display:flex;margin-bottom:1.5rem;padding-bottom:1rem}.profile-card-header svg{color:#3182ce;margin-right:.75rem}.profile-card-header h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.profile-info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item.span-full{grid-column:1/-1}.info-label{align-items:center;color:#718096;display:flex;font-size:.875rem}.info-label svg{margin-right:.5rem}.info-value{color:#2d3748;font-size:1.0625rem;font-weight:500}.status-active{background-color:#c6f6d5;border-radius:9999px;color:#2f855a;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.password-form{margin:0 auto;max-width:500px}.password-input-container{position:relative}.password-toggle{background:none;border:none;color:#718096;cursor:pointer;display:flex;padding:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.message-alert{align-items:center;border-radius:.375rem;display:flex;margin-bottom:1.5rem;padding:1rem}.message-alert svg{margin-right:.75rem}.message-alert.success{background-color:#c6f6d5;color:#2f855a}.message-alert.error{background-color:#fed7d7;color:#c53030}.submit-button{background-color:#3182ce;border-radius:.375rem;cursor:pointer;display:block;font-size:.9375rem;font-weight:600;padding:.75rem;transition:background-color .2s ease;width:100%}.submit-button:hover{background-color:#2b6cb0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.profile-content{padding:1.5rem}.profile-header{flex-direction:column}.user-welcome{margin-top:1rem}.profile-tabs{flex-direction:column}.profile-info-grid{grid-template-columns:1fr}}.create-project-container{margin:0 auto;max-width:1400px;padding:10px 20px 20px}.create-project-heading{margin-top:40px}.create-project-form,.form-actions{margin-top:20px}.form-actions{display:flex;gap:20px;justify-content:space-between}.project-card{background-color:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 10px #00000014;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.project-card:hover{box-shadow:0 12px 20px #0000001f;transform:translateY(-4px)}.project-card:before{background-color:#4a6cf7;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.project-card:hover:before{opacity:1}.project-card h3{color:#2d3748;font-size:1.25rem;font-weight:600;line-height:1.4;margin:0 0 .75rem}.project-card p{color:#4a5568;flex-grow:1;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.project-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin:1rem 0}.project-meta-item{align-items:center;color:#718096;display:flex;font-size:.875rem;gap:.5rem}.project-meta-item svg{color:#4a6cf7}.status{align-items:center;border-radius:2rem;display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.4rem .8rem;text-transform:uppercase}.status.active{background-color:#2f855a1a;color:#2f855a}.status.completed{background-color:#4299e11a;color:#3182ce}.status.on-hold{background-color:#dd6b201a;color:#dd6b20}.actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;opacity:1;position:relative;transform:translateY(10px);transition:all .3s ease;z-index:2}.project-card:hover .actions{opacity:1;transform:translateY(0)}.actions a,.actions button{align-items:center;background-color:#fff;border:none;border-radius:50%;box-shadow:0 2px 5px #0000001a;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.view-btn{color:#2f855a}.view-btn:hover{background-color:#2f855a1a}.edit-btn{color:#3182ce}.edit-btn:hover{background-color:#3182ce1a}.delete-btn{color:#e53e3e}.delete-btn:hover{background-color:#e53e3e1a}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.project-date{align-items:center;display:flex;gap:.5rem}.project-client,.project-date{color:#718096;font-size:.875rem}.project-client{margin-top:.5rem}.project-creator{align-items:center;background-color:#f7fafc;border-radius:.5rem;color:#4a5568;display:flex;font-size:.875rem;gap:.5rem;margin-top:1rem;padding:.5rem .75rem}.project-card.active:before{background-color:#2f855a}.project-card.completed:before{background-color:#3182ce}.project-card.on-hold:before{background-color:#dd6b20}@media (max-width:576px){.project-card{padding:1rem}.project-meta{align-items:flex-start;flex-direction:column}}.manage-projects{margin:0 auto;max-width:1400px;padding:10px 20px 20px}.manage-projects .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.manage-projects .controls{display:flex;gap:20px;margin-bottom:30px}.manage-projects .search-bar{align-items:center;border:1px solid #ddd;border-radius:4px;display:flex;flex:1 1;gap:10px;padding:8px 16px}.manage-projects .search-bar input{border:none;font-size:16px;outline:none;width:100%}.manage-projects select{background-color:#fff;border:1px solid #ddd;border-radius:4px;outline:none;padding:8px 16px}.manage-projects .projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.manage-projects .project-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:transform .2s ease}.manage-projects .project-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.manage-projects .actions{position:relative;z-index:1}.manage-projects .project-meta{align-items:center;display:flex;gap:15px;margin:15px 0}.manage-projects .status{border-radius:12px;font-size:14px;padding:4px 8px}.manage-projects .status.active{background-color:#e3fcef;color:#0a6b3b}.manage-projects .status.completed{background-color:#e3e3fc;color:#0a0a6b}.manage-projects .status.on-hold{background-color:#fce3e3;color:#6b0a0a}.manage-projects .actions{display:flex;gap:10px;margin-top:15px}.manage-projects .actions a,.manage-projects .actions button{border:none;border-radius:4px;cursor:pointer;padding:8px;transition:background-color .3s}.manage-projects .view-btn{background-color:#e3fcef;color:#0a6b3b}.manage-projects .edit-btn{background-color:#e3e3fc;color:#0a0a6b}.manage-projects .delete-btn{background-color:#fce3e3;color:#6b0a0a}.manage-projects .error,.manage-projects .loading{padding:20px;text-align:center}.manage-projects .error{color:#dc3545}.manage-projects .custom-select{min-width:200px;position:relative}.manage-projects .select-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 16px;transition:border-color .3s;width:100%}.manage-projects .select-button:hover{border-color:#007bff}.manage-projects .select-options{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;display:none;left:0;margin-top:4px;position:absolute;right:0;top:100%;z-index:100}.manage-projects .select-options.open{display:block}.manage-projects .select-option{cursor:pointer;padding:10px 16px;transition:background-color .2s}.manage-projects .select-option:hover{background-color:#f8f9fa}.manage-projects .select-option.selected{background-color:#e3f2fd;color:#007bff}.project-page{margin:0 auto;max-width:1400px;padding:10px 20px 20px}.project-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:0 auto;max-width:1200px;padding:2rem}.project-page .project-header{display:block;margin-bottom:2rem}.project-header h1{color:#333;font-size:2rem;margin:0}.detail-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;margin-bottom:1.5rem;padding:1.5rem 2rem}.detail-section h2{border-bottom:1px solid #eee;color:#333;font-size:1.3rem;margin-bottom:1.25rem;margin-top:0;padding-bottom:.75rem}.detail-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{align-items:center;display:flex;gap:1rem;justify-content:flex-start}.detail-icon{color:#4a6cf7;padding-top:.2rem}.detail-content{display:flex;flex-direction:column}.detail-content label{color:#777;font-size:.875rem;margin-bottom:.25rem}.detail-content span{color:#333;font-weight:500}.description{color:#555;line-height:1.6;margin-bottom:1.25rem;white-space:pre-line}.error-message,.loading,.not-found{align-items:center;color:#666;display:flex;font-size:1.2rem;justify-content:center;min-height:50vh}.error-message{color:#eb5757}.not-found{color:#f2994a}.header-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:2rem}.header-content h1{color:#333;font-size:1.8rem;margin:0 0 .5rem}.header-details{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.status-badge{border-radius:20px;display:inline-block;font-size:.875rem;font-weight:500;padding:.4rem 1rem;text-transform:capitalize}.status-badge.active{background-color:#27ae6026;color:#27ae60}.status-badge.completed{background-color:#4a6cf726;color:#4a6cf7}.status-badge.on-hold{background-color:#eb575726;color:#eb5757}.action-buttons{display:flex;gap:.75rem}.action-buttons button{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.edit-button{background-color:#f9f9f9;border:1px solid #e0e0e0;color:#555}.edit-button:hover{background-color:#f0f0f0}.delete-button{background-color:#eb57571a;border:1px solid #eb57574d;color:#eb5757}.delete-button:hover{background-color:#eb575726}.project-details{display:flex;flex-direction:column;gap:1.5rem}.section-header{margin-bottom:1rem}.add-doc-button{font-size:13.33px;padding:.5rem 1rem}.documents-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.document-card{background-color:#f9f9f9;border:1px solid #eee;border-radius:6px;display:flex;padding:1rem;position:relative;transition:box-shadow .2s,transform .2s}.document-card:hover{box-shadow:0 3px 8px #0000001a;transform:translateY(-2px)}.document-icon{align-items:flex-start;color:#4a6cf7;display:flex;margin-right:1rem}.document-info{flex-grow:1}.document-info h3{font-size:1rem;margin:0 0 .5rem}.document-info p{color:#666;font-size:.875rem;margin:0 0 .5rem}.document-date{color:#888;font-size:.75rem}.document-actions-wrapper{align-items:center;display:flex;flex-direction:column}.document-actions{display:flex;flex-direction:column;gap:.5rem}.doc-action-btn{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .2s;width:32px}.doc-action-btn:hover{background-color:#0000000d}.doc-action-btn.download{color:#3498db}.doc-action-btn.delete{color:#e74c3c}.doc-action-btn.edit{color:#3498db}.doc-action-btn.view{color:#4a6ee0}.doc-action-btn.approve{background:#4caf501a;color:#4caf50}.doc-action-btn.reject{background:#f443361a;color:#f44336}.loading-documents,.no-documents{color:#777;font-style:italic;grid-column:1/-1;padding:2rem;text-align:center}.modal-overlay{align-items:center;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.document-modal{animation:modalFadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;position:relative;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.modal-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.close-modal{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;padding:.5rem;transition:all .2s}.close-modal:hover{background-color:#f0f0f0;color:#333}.modal-form-group{flex-direction:column;gap:4px;margin-bottom:24px}.file-upload-area{align-items:center;background-color:#f9f9f9;border:2px dashed #ddd;border-radius:8px;cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:2rem 1rem;position:relative;text-align:center;transition:all .2s}.file-upload-area:hover{background-color:#f5f7fa;border-color:#4a6cf7}.file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:-1}.upload-icon{align-items:center;color:#666;display:flex;flex-direction:column;pointer-events:none}.upload-icon svg{color:#4a6cf7;margin-bottom:.75rem}.upload-icon span{font-size:.95rem;font-weight:500}.file-info{align-items:center;background-color:#f5f7fa;border-left:3px solid #4a6cf7;border-radius:6px;display:flex;justify-content:space-between;margin-top:1rem;padding:.75rem 1rem}.file-name{color:#444;font-size:.95rem;font-weight:500;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#666;font-size:.85rem}.modal-actions{border-top:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.remove-file-btn{align-items:center;background:none;border:none;border-radius:50%;color:#eb5757;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s}.remove-file-btn:hover{background-color:#eb57571a}.cancel-button,.submit-button{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:center;min-width:100px;padding:.75rem 1.5rem;transition:all .2s}.cancel-button{background-color:#f5f5f5;border:1px solid #ddd;color:#555}.cancel-button:hover{background-color:#eee}.submit-button{background-color:#4a6cf7;border:none;color:#fff}.submit-button:hover{background-color:#3a5bd9}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}.create-doc-modal{max-width:800px;width:90%}.document-type-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:20px 0}.document-type-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:20px;text-align:center;transition:all .2s ease}.document-type-card:hover{border-color:#3498db;box-shadow:0 5px 15px #0000001a;transform:translateY(-5px)}.document-type-icon{align-items:center;background-color:#f8f9fa;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 15px;width:64px}.document-type-card h3{color:#333;font-size:16px;margin:10px 0}.document-type-card p{color:#666;font-size:14px;margin-bottom:0}.created-documents-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:25px;margin-top:15px}.created-document-type{border-radius:8px;padding:15px}.created-document-type h3{border-bottom:1px solid #eee;color:#333;font-size:18px;margin-bottom:12px;padding-bottom:8px}.created-document-card{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;display:flex;padding:12px;transition:all .2s ease}.created-document-card:hover{box-shadow:0 3px 8px #00000014;transform:translateY(-2px)}.created-document-icon{color:#4a6cf7;margin-right:12px}.created-document-info{display:flex;flex-direction:row;flex-direction:column}.created-document-info h4{display:inline-block;font-size:15px;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:150px}.created-date{color:#777;font-size:12px}.no-document-card{align-items:center;background:#f5f8fa;border:2px dashed #cfd9e0;border-radius:6px;cursor:pointer;display:flex;padding:16px;transition:all .2s ease}.no-document-card:hover{background:#edf2f7;border-color:#a0aec0}.no-document-icon{align-items:center;background:#e2e8f0;border-radius:50%;color:#4a6cf7;display:flex;height:36px;justify-content:center;margin-right:12px;width:36px}.no-document-card p{color:#4a5568;font-size:15px;margin:0}.created-document-card .document-actions{display:flex;flex-direction:row;opacity:0;transition:opacity .2s}.created-document-card:hover .document-actions{opacity:1}.approval-status{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;margin-top:4px;padding:2px 8px}.approval-status.pending{background-color:#fff3cd;color:#856404;margin:0 6px}.approval-status.approved{background-color:#d4edda;color:#155724;margin:0 6px}.approval-status.rejected{background-color:#f8d7da;color:#721c24;margin:0 6px}.doc-action-btn.request-approval{color:#6c5ce7}.admin-select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.admin-approval-actions{display:flex;gap:8px;margin:8px 4px}.approval-action-message{align-items:flex-start;border-radius:6px;display:flex;margin-bottom:16px;padding:12px}.approval-action-message.approved{background-color:#4caf501a}.approval-action-message.rejected{background-color:#f443361a}.approval-action-message .action-icon{align-items:center;display:flex;justify-content:center;margin-right:12px}.approval-action-message.approved .action-icon{color:#4caf50}.approval-action-message.rejected .action-icon{color:#f44336}.approval-action-message p{color:#333;font-size:14px;margin:0}.required-indicator{color:#f44336;margin-left:4px}.approve-button{background-color:#4caf50!important}.reject-button{background-color:#f44336!important}@media (max-width:768px){.document-modal{padding:1.5rem;width:95%}.modal-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}.caf-container{margin:0 auto;max-width:1400px;padding:10px 20px 20px}.step-indicator{display:flex;justify-content:space-between;margin:40px 0;position:relative}.step-indicator:before{background:#e0e0e0;content:"";height:2px;left:0;position:absolute;right:0;top:20px;z-index:1}.step{cursor:pointer;flex-direction:column;position:relative;z-index:2}.step,.step-number{align-items:center;display:flex}.step-number{background:#fff;border:2px solid #e0e0e0;border-radius:50%;color:#666;font-weight:700;height:40px;justify-content:center;margin-bottom:8px;width:40px}.step.active .step-number{background:#007bff;border-color:#007bff;color:#fff}.step.completed .step-number{background:#28a745;border-color:#28a745;color:#fff}.step-label{color:#666;font-size:14px;max-width:120px;text-align:center}.form-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;padding:32px}.form-navigation{display:flex;justify-content:space-between;margin-top:30px}.next-btn,.prev-btn,.submit-btn{border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:12px 24px;transition:background-color .3s}.prev-btn{background-color:#f5f5f5;border:1px solid #ddd;color:#555}.next-btn,.submit-btn{background-color:#007bff;color:#fff}.prev-btn:hover{background-color:#eee}.next-btn:hover,.submit-btn:hover{background-color:#0056b3}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.section-header h2{color:#333;font-size:18px;margin:0}.upload-container{display:flex;flex:1 1;flex-direction:column;gap:16px}.upload-area{background:#f0fdf4;border:2px dashed #22c55e;border-radius:8px;display:flex;justify-content:center;padding:20px;text-align:center}.file-input{display:none}.file-input-label{cursor:pointer;display:block}.upload-placeholder{align-items:center;display:flex;flex-direction:column;gap:8px}.upload-placeholder p{color:#666;margin:0}.file-preview{align-items:center;background:#f0fdf4;border-radius:4px;display:flex;gap:8px;padding:8px}.file-name{color:#333;flex:1 1}.remove-file{background:none;border:none;color:#666;cursor:pointer;font-size:20px;padding:0 4px}.view-buttons{display:flex;gap:16px}.view-btn{align-items:center;background:#f0fdf4;border:none;border-radius:20px;color:#22c55e;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px}.view-btn:hover{background:#dcfce7}.location-details{border-top:1px solid #eee;margin-top:24px;padding-top:24px}.location-details h3{color:#333;font-size:16px;margin:0 0 16px}.location-table{overflow-x:auto}.location-table table{border-collapse:collapse;min-width:800px;width:100%}.location-table td,.location-table th{border:1px solid #eee;padding:12px;text-align:left}.location-table th{background-color:#f8f9fa;color:#333;font-weight:500}.location-table td{color:#666}.location-table tr:hover td{background-color:#f8f9fa}.table-buttons{display:flex;gap:16px;margin:10px 0}.add-row-button{background:#4caf50;cursor:pointer}.add-row-button,.remove-row-button{border:none;border-radius:4px;color:#fff;margin-top:10px;padding:8px 16px}.construction-phase{padding:20px}.construction-phase h4{color:#4b5563;font-size:15px;margin:0 0 16px}.operation-phase{padding:20px}.operation-phase h4{color:#4b5563;font-size:15px;margin:0 0 16px}.permanent-employment,.temporary-employment{margin-bottom:24px}.permanent-employment h5,.temporary-employment h5{color:#6b7280;font-size:14px;font-weight:500;margin:0 0 16px}.caf-view-container{margin:0 auto;max-width:1400px;padding:20px}.caf-view-header{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:30px;position:relative}.caf-view-header h1{color:#333;font-size:24px;margin:16px 0}.project-name{font-size:18px}.back-button,.project-name{color:#6e48bf;font-weight:500}.back-button{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background .2s}.back-button:hover{background:#f0f0f0}.caf-view-content{display:flex;flex-direction:column;gap:30px}.caf-view-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:24px}.caf-view-section h2{border-bottom:1px solid #e0e0e0;color:#333;font-size:18px;margin-bottom:24px;padding-bottom:12px}.caf-view-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.caf-view-field{display:flex;flex-direction:column;gap:6px}.caf-view-field.full-width{grid-column:1/-1}.caf-view-field label{color:#666;font-size:13px;font-weight:500}.caf-view-field p{color:#333;font-size:15px;margin:0;padding:6px 0}.caf-view-subsection{margin-top:16px}.caf-view-subsection h3{color:#555;font-size:16px;font-weight:500;margin-bottom:16px}.loading-container{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center}.loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #6e48bf4d;border-radius:50%;border-top-color:#6e48bf;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-container{padding:40px;text-align:center}.error-message{color:#d32f2f;margin-bottom:16px}.file-link{align-items:center;color:#2196f3;display:inline-flex;font-size:14px;text-decoration:none}.file-link:hover{text-decoration:underline}
/*# sourceMappingURL=main.64cb6939.css.map*/