.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-box h1{text-align:center;color:#667eea;margin-bottom:.5rem;font-size:2rem}.login-box h2{text-align:center;color:#333;margin-bottom:1.5rem;font-size:1.5rem;font-weight:400}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}button{width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s}button:hover:not(:disabled){background:#5568d3}button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:5px;margin-bottom:1rem;text-align:center;font-size:.9rem;line-height:1.4;word-wrap:break-word;max-width:100%}.toggle-auth{text-align:center;margin-top:1rem;color:#666}.toggle-auth button{background:none;color:#667eea;text-decoration:underline;padding:0;width:auto;border:none;cursor:pointer;font-size:inherit}.toggle-auth button:hover{background:none;color:#5568d3}.year-wheel-container{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.year-wheel-container h2{text-align:center;color:#333;margin-bottom:1rem;font-size:1.5rem}.year-wheel-wrapper{position:relative;display:flex;justify-content:center;align-items:center}.year-wheel-svg{display:block}.activity-tooltip{position:absolute;background:#000000e6;color:#fff;padding:.75rem 1rem;border-radius:5px;font-size:.875rem;pointer-events:none;z-index:1000;min-width:200px;box-shadow:0 4px 12px #0000004d}.tooltip-title{font-weight:600;margin-bottom:.5rem;color:#fff}.tooltip-info{margin-top:.25rem;color:#e0e0e0;font-size:.8rem}.tooltip-info strong{color:#fff;margin-right:.5rem}.tooltip-type-badge{display:inline-block;padding:2px 8px;border-radius:3px;color:#fff;font-weight:500;margin-left:.5rem;font-size:.75rem}.tooltip-note{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.2)}.project-info{padding:1.5rem;height:100%;overflow-y:auto}.project-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.project-info-header h2{font-size:1.25rem;color:#333}.add-btn{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.875rem;transition:background .3s}.edit-btn{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .3s;width:auto;white-space:nowrap}.edit-btn:hover{background:#5568d3}.project-form{background:#f9f9f9;padding:1rem;border-radius:5px;margin-bottom:1.5rem}.project-form h3{font-size:1rem;margin-bottom:1rem;color:#333}.project-form input,.project-form textarea{width:100%;padding:.5rem;margin-bottom:.75rem;border:1px solid #ddd;border-radius:5px;font-size:.875rem;font-family:inherit}.project-form textarea{resize:vertical;min-height:60px}.form-actions{display:flex;gap:.5rem}.form-actions button{flex:1;padding:.5rem;border:none;border-radius:5px;cursor:pointer;font-size:.875rem}.project-selector{margin-bottom:1.5rem}.project-selector label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.project-selector select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.875rem;background:#fff;cursor:pointer}.project-details{background:#f9f9f9;padding:1rem;border-radius:5px}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem}.project-header h3{flex:1}.project-header h3{font-size:1.125rem;color:#333;margin:0}.info-item{margin-bottom:1rem}.info-item strong{display:block;margin-bottom:.25rem;color:#666;font-size:.875rem}.info-item p{color:#333;margin:0;font-size:.875rem}.members-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.member-group{margin-bottom:2rem}.member-group:last-child{margin-bottom:0}.member-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.member-group-header h4{font-size:.875rem;color:#666;margin:0;font-weight:600}.add-member-btn{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s;width:auto;white-space:nowrap}.add-member-btn:hover{background:#5568d3}.member-form{background:#f0f0f0;padding:1rem;border-radius:5px;margin-bottom:1rem}.member-form input{width:100%;padding:.5rem;margin-bottom:.5rem;border:1px solid #ddd;border-radius:3px;font-size:.875rem;font-family:inherit}.member-form input:last-of-type{margin-bottom:.75rem}.member-form-actions{display:flex;gap:.5rem}.member-form-actions button{flex:1;padding:.5rem;border:none;border-radius:3px;cursor:pointer;font-size:.75rem;font-weight:500}.member-form-actions button[type=submit]{background:#667eea;color:#fff}.member-form-actions button[type=submit]:hover{background:#5568d3}.member-form-actions button[type=button]{background:#e0e0e0;color:#333}.member-form-actions button[type=button]:hover{background:#d0d0d0}.members-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:.5rem}.members-table thead{background:#f5f5f5}.members-table th{text-align:left;padding:.5rem;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;font-size:.75rem}.members-table td{padding:.5rem;border-bottom:1px solid #f0f0f0;color:#333}.members-table tr:hover{background:#f9f9f9}.members-table th:last-child,.members-table td:last-child{width:50px;text-align:right}.kebab-menu-container{position:relative;display:flex;justify-content:flex-end}.kebab-menu-btn{background:transparent;border:none;cursor:pointer;font-size:1.2rem;color:#666;padding:.25rem .5rem;line-height:1;transition:color .2s}.kebab-menu-btn:hover{color:#333}.kebab-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #ddd;border-radius:5px;box-shadow:0 2px 8px #00000026;z-index:100;min-width:120px;margin-top:.25rem;overflow:hidden}.kebab-menu button{display:block;width:100%;padding:.5rem 1rem;border:none;background:#fff;text-align:left;cursor:pointer;font-size:.875rem;color:#333;transition:background .2s}.kebab-menu button:hover{background:#f5f5f5}.kebab-menu button:first-child{border-bottom:1px solid #f0f0f0}.empty-state{color:#999;font-size:.875rem;font-style:italic;margin:.5rem 0;padding:.5rem}.modal-content{background:#fff;border-radius:10px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-form .form-group input,.modal-form .form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.875rem;font-family:inherit;box-sizing:border-box}.delete-project-btn{background:#f44336!important;color:#fff!important}.delete-project-btn:hover{background:#d32f2f!important}.activity-box{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 8px #0000001a}.activity-box-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.activity-box-header h2{font-size:1.5rem;color:#333}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:10px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:1.25rem;color:#333}.modal-close{background:transparent;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.modal-close:hover{background:#f0f0f0}.modal-form{padding:1.5rem}.modal-form .form-group{margin-bottom:1rem}.modal-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.875rem}.modal-form .form-group input,.modal-form .form-group textarea,.modal-form .form-group select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.875rem;font-family:inherit;box-sizing:border-box}.modal-form .form-group textarea{resize:vertical;min-height:60px}.modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{padding:.5rem 1rem;border:none;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s;width:auto;white-space:nowrap}.modal-actions button[type=submit]{background:#667eea;color:#fff}.modal-actions button[type=submit]:hover{background:#5568d3}.modal-actions button[type=button]{background:#e0e0e0;color:#333}.modal-actions button[type=button]:hover{background:#d0d0d0}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.875rem;font-family:inherit;background:#fff;cursor:pointer}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:2rem}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.activity-header h4{font-size:1rem;color:#333;margin:0;flex:1}.activity-actions{display:flex;gap:.5rem}.edit-btn-small,.delete-btn-small{padding:.25rem .75rem;border:none;border-radius:3px;cursor:pointer;font-size:.75rem;transition:background .2s}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.hamburger-menu{position:relative}.hamburger-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);padding:.5rem;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;transition:background .3s}.hamburger-btn:hover{background:#ffffff4d}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:20px;height:16px}.hamburger-icon span{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:all .3s}.hamburger-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:5px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:1000;overflow:hidden}.menu-item{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.9rem;color:#333;transition:background .2s;border-bottom:1px solid #f0f0f0}.menu-item:last-child{border-bottom:none}.menu-item:hover{background:#f5f5f5}.menu-item:active{background:#e0e0e0}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.dashboard-header h1{font-size:1.5rem;font-weight:500}.logout-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:5px;cursor:pointer;transition:background .3s}.logout-btn:hover{background:#ffffff4d}.dashboard-content{display:flex;flex:1;overflow:hidden}.dashboard-sidebar{width:350px;background:#fff;border-right:1px solid #e0e0e0;overflow-y:auto}.dashboard-main{flex:1;display:flex;flex-direction:column;padding:2rem;overflow-y:auto;background:#f9f9f9}.dashboard-loading,.no-project{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#666}.no-project{min-height:auto;padding:2rem}@media (max-width: 768px){.dashboard-content{flex-direction:column}.dashboard-sidebar{width:100%;border-right:none;border-bottom:1px solid #e0e0e0}}.settings{min-height:100vh;background:#f5f5f5}.settings-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 4px #0000001a}.back-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.4rem .8rem;border-radius:5px;cursor:pointer;font-size:.85rem;transition:background .3s;width:auto;align-self:flex-start}.back-btn:hover{background:#ffffff4d}.settings-header h1{font-size:1.5rem;font-weight:500;margin:0}.settings-content{max-width:1200px;margin:0 auto;padding:2rem}.settings-section{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 8px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.add-btn{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s;width:auto;white-space:nowrap}.add-btn:hover{background:#5568d3}.section-header h2{font-size:1.25rem;color:#333;margin:0}.type-form{background:#f9f9f9;padding:1.5rem;border-radius:5px;margin-bottom:1.5rem}.type-form h3{font-size:1rem;margin-bottom:1rem;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.875rem}.form-group input[type=text]{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.875rem;font-family:inherit}.color-input-group{display:flex;gap:.5rem;align-items:center}.color-input-group input[type=color]{width:60px;height:40px;border:1px solid #ddd;border-radius:5px;cursor:pointer}.color-input-group input[type=text]{flex:1}.form-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end}.form-actions button{padding:.5rem 1rem;border:none;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;width:auto;white-space:nowrap}.form-actions button[type=submit]{background:#667eea;color:#fff}.form-actions button[type=submit]:hover{background:#5568d3}.form-actions button[type=button]{background:#e0e0e0;color:#333}.form-actions button[type=button]:hover{background:#d0d0d0}.types-list{margin-top:1.5rem}.types-table{width:100%;border-collapse:collapse}.types-table thead{background:#f5f5f5}.types-table th{text-align:left;padding:.75rem;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;font-size:.875rem}.types-table td{padding:.75rem;border-bottom:1px solid #f0f0f0;color:#333;font-size:.875rem}.types-table td:last-child{text-align:right}.types-table tr:hover{background:#f9f9f9}.color-preview{padding:.25rem .5rem;border-radius:3px;color:#fff;font-size:.75rem;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2);min-width:80px;text-align:center}.color-sample{width:30px;height:30px;border-radius:50%;border:2px solid #e0e0e0}.table-actions{display:flex;gap:.5rem;justify-content:flex-end}.edit-btn-small,.delete-btn-small{padding:.3rem .6rem;border:none;border-radius:3px;cursor:pointer;font-size:.75rem;transition:background .2s;width:auto;white-space:nowrap}.edit-btn-small{background:#667eea;color:#fff}.edit-btn-small:hover{background:#5568d3}.delete-btn-small{background:#f44336;color:#fff}.delete-btn-small:hover{background:#d32f2f}.settings-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#666}.public-view{min-height:100vh;background:#f5f5f5}.public-view-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.public-view-header h1{font-size:1.5rem;font-weight:500;margin:0}.project-selector-public{display:flex;align-items:center}.project-select{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:5px;background:#fff3;color:#fff;font-size:.875rem;cursor:pointer;min-width:200px}.project-select option{background:#667eea;color:#fff}.public-view-content{max-width:1400px;margin:0 auto;padding:2rem}.public-view-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#666}.no-projects{text-align:center;color:#999;font-size:1.1rem;padding:4rem 2rem}.no-project{text-align:center;color:#999;font-size:1rem;padding:4rem 2rem}.activities-display{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-top:2rem}.activities-display h2{font-size:1.5rem;color:#333;margin-bottom:1.5rem}.activities-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:5px;padding:1rem;transition:box-shadow .2s}.activity-item:hover{box-shadow:0 2px 4px #0000001a}.activity-main{width:100%}.activity-header{margin-bottom:.75rem}.activity-header h4{font-size:1rem;color:#333;margin:0}.activity-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.875rem;color:#666}.activity-type{background:#667eea;color:#fff;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:500}.activity-dates{font-weight:500}.activity-responsible{color:#333}.activity-note{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0;font-size:.875rem;color:#666}.activity-note strong{color:#333;margin-right:.5rem}.empty-state{text-align:center;color:#999;font-style:italic;padding:2rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
