*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app-header{background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:2rem}.app-header-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.app-header-inner>div:first-child{text-align:left}.app-header h1{color:#333;font-size:2.5rem;margin-bottom:.5rem}.app-header-user{align-items:center;display:flex;gap:1rem}.app-user-avatar-wrap{flex-shrink:0}.app-avatar-label{align-items:center;cursor:pointer;display:inline-flex;flex-direction:column;gap:2px}.app-avatar-input{height:0;opacity:0;overflow:hidden;position:absolute;width:0}.app-avatar-img,.app-avatar-placeholder{border:2px solid #e0e0e0;border-radius:50%;display:block;height:36px;object-fit:cover;width:36px}.app-avatar-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;line-height:36px;text-align:center}.app-avatar-upload-tip{color:#888;font-size:.7rem}.app-avatar-label:hover .app-avatar-upload-tip{color:#667eea}.app-user-name{color:#555;font-size:.95rem}.app-logout-btn{background:#f5f5f5;border:1px solid #ccc;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;padding:.4rem 1rem;transition:background .2s}.app-logout-btn:hover{background:#eee}.subtitle{color:#666;font-size:1.1rem}.app-nav{background:#ffffffe6;box-shadow:0 2px 5px #0000001a;display:flex;gap:1rem;justify-content:center;padding:1.5rem}.app-nav button{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .3s}.app-nav button:hover{background:#f0f2ff;transform:translateY(-2px)}.app-nav button.active{background:#667eea;color:#fff}.app-main{margin:2rem auto;max-width:1400px;padding:0 1rem}@media (max-width:768px){.app-header h1{font-size:1.8rem}.app-nav{align-items:center;flex-direction:column}.app-nav button{width:200px}}.ai-chat-launcher{align-items:center;background:#007bff;border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:flex;font-size:24px;height:60px;justify-content:center;position:fixed;right:20px;transition:background .2s;width:60px;z-index:1000}.ai-chat-launcher:hover{background:#0056b3}.ai-chat-launcher-robot{display:block;font-size:32px;line-height:1}.ai-chat-launcher-close{font-size:24px;line-height:1}.ai-chat-window{background:#fff;border:1px solid #eee;border-radius:12px;bottom:90px;box-shadow:0 8px 24px #0003;flex-direction:column;height:500px;overflow:hidden;position:fixed;right:20px;width:350px;z-index:1000}.ai-chat-window-header{align-items:center;background:#007bff;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 15px}.ai-chat-window-title{font-size:1rem;font-weight:700}.ai-chat-window-close{background:#0000;border:none;color:#fff;cursor:pointer;font-size:1.25rem;line-height:1;opacity:.9;padding:0 4px}.ai-chat-window-close:hover{opacity:1}.ai-chat-messages{background:#f9f9f9;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:15px}.ai-chat-placeholder{color:#999;font-size:14px;margin:0}.ai-chat-messages .msg{border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:10px;max-width:80%;padding:8px 12px;white-space:pre-wrap}.ai-chat-messages .msg.user{align-self:flex-end;background:#007bff;color:#fff;margin-left:auto}.ai-chat-messages .msg.bot{background:#e9e9eb;color:#333;overflow:visible}.ai-chat-messages .msg.bot .ai-chat-thinking{align-items:center;display:inline-flex;gap:6px;min-height:20px}.ai-chat-thinking-dot{animation:ai-chat-thinking-bounce .8s ease-in-out infinite both;background:#555;border-radius:50%;display:inline-block;height:8px;width:8px}.ai-chat-thinking-dot:first-child{animation-delay:0s}.ai-chat-thinking-dot:nth-child(2){animation-delay:.2s}.ai-chat-thinking-dot:nth-child(3){animation-delay:.4s}@keyframes ai-chat-thinking-bounce{0%,60%,to{opacity:.7;transform:translateY(0) scale(1)}30%{opacity:1;transform:translateY(-8px) scale(1.2)}}.ai-chat-input-area{align-items:center;background:#fff;border-top:1px solid #eee;display:flex;gap:6px;padding:10px}.ai-chat-tts-btn,.ai-chat-voice-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.1rem;height:36px;justify-content:center;transition:background .2s,border-color .2s;width:36px}.ai-chat-tts-btn:hover,.ai-chat-voice-btn:hover{background:#e9ecef;border-color:#ccc}.ai-chat-voice-btn-active{animation:ai-chat-voice-pulse 1s ease-in-out infinite;background:#fee;border-color:#f66}@keyframes ai-chat-voice-pulse{0%,to{box-shadow:0 0 0 0 #ff505066}50%{box-shadow:0 0 0 6px #ff505000}}.ai-chat-tts-btn-on{background:#e7f3ff;border-color:#007bff}.ai-chat-autosend-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.1rem;height:36px;justify-content:center;transition:background .2s,border-color .2s;width:36px}.ai-chat-autosend-btn:hover{background:#e9ecef;border-color:#ccc}.ai-chat-autosend-btn-on{background:#e8f5e9;border-color:#4caf50}.ai-chat-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;min-width:0;outline:none;padding:8px}.ai-chat-send{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;padding:0 15px}.ai-chat-send:hover:not(:disabled){background:#0056b3}.ai-chat-send:disabled{cursor:not-allowed;opacity:.6}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:#fffffffa;border-radius:16px;box-shadow:0 8px 32px #00000026;max-width:400px;padding:2.5rem;width:100%}.login-logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:1.5rem}.login-logo{height:80px;object-fit:contain;width:80px}.login-title{color:#333;font-size:1.75rem;margin:0 0 .25rem;text-align:center}.login-subtitle{color:#666;font-size:1rem;margin:0 0 2rem;text-align:center}.login-form{gap:1.25rem}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:.4rem}.login-field label{color:#333;font-size:.95rem;font-weight:500}.login-field input{border:1px solid #ddd;border-radius:8px;font-size:1rem;outline:none;padding:.65rem .9rem;transition:border-color .2s}.login-field input:focus{border-color:#667eea}.login-field input:disabled{background:#f5f5f5;cursor:not-allowed}.login-error{color:#c62828;font-size:.9rem;padding:.5rem 0}.login-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.75rem 1.5rem;transition:background .2s}.login-btn:hover:not(:disabled){background:#5568d3}.login-btn:disabled{cursor:not-allowed;opacity:.7}.login-hint{color:#888;font-size:.85rem;margin-top:1.5rem;text-align:center}.login-back-link,.login-change-pwd-link{background:none;border:none;color:#667eea;cursor:pointer;display:block;font-size:.9rem;margin-top:1rem;padding:0;text-align:center;text-decoration:underline}.login-back-link:hover,.login-change-pwd-link:hover{color:#5568d3}.login-change-pwd-title{color:#333;font-size:1.1rem;margin:0 0 1rem}.dashboard{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h2{color:#333;font-size:1.8rem}.refresh-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.5rem;transition:background .3s}.refresh-btn:hover{background:#5568d3}.role-section{margin-bottom:2.5rem}.role-title{border-left:4px solid;color:#333;font-size:1.4rem;margin-bottom:1rem;padding-left:1rem}.user-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.user-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;padding:1.5rem;transition:all .3s}.user-card:hover{border-color:#667eea;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.user-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.user-header h4{color:#333;font-size:1.3rem}.user-stats{display:flex;gap:1rem;margin-bottom:1rem}.stat-item{background:#fff;border-radius:8px;flex:1 1;padding:.8rem;text-align:center}.stat-label{color:#666;display:block;font-size:.85rem;margin-bottom:.5rem}.stat-value{color:#333;display:block;font-size:1.5rem;font-weight:700}.stat-value.success{color:#4caf50}.stat-value.warning{color:#ff9800}.card-footer{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem;text-align:right}.view-detail{color:#667eea;font-size:.9rem;font-weight:500}.empty-state{background:#f8f9fa;border-radius:8px;margin-top:2rem}.empty-state p{font-size:1rem;margin:0}.empty-users{color:#999;font-style:italic;padding:2rem;text-align:center}.phase-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin-bottom:3rem;padding:1.5rem}.phase-header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.phase-title{color:#333;font-size:1.5rem;margin:0}.phase-status-badge{border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:.3rem .8rem}.phase-status-controls{align-items:center;display:flex;gap:.5rem}.phase-status-select{border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .3s}.phase-status-select:hover{opacity:.9;transform:scale(1.05)}.phase-status-select option{background:#fff;color:#333}.phase-description{color:#666;font-size:.95rem;margin-bottom:.5rem}.phase-goals-summary{background:#f0f7ff;border-left:3px solid #2196f3;border-radius:6px;margin-bottom:.5rem;padding:.8rem 1rem}.phase-goals-label{color:#333;font-size:.9rem;font-weight:600;margin-right:.5rem}.phase-goals-text{color:#666;font-size:.95rem;line-height:1.6}.phase-dates{color:#999;font-size:.85rem;margin-bottom:1.5rem}.users-by-role{margin-top:1.5rem}.role-group{margin-bottom:2rem}.role-group:last-child{margin-bottom:0}.user-goals,.user-tasks{background:#fff;border-radius:6px;margin:1rem 0;padding:.8rem}.section-label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.goal-item,.task-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.goal-item:last-child,.task-item:last-child{border-bottom:none}.goal-description,.task-description{color:#333;flex:1 1;font-size:.9rem;margin-right:.5rem}.goal-status-badge,.task-status-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:.2rem .6rem}.more-tasks{padding-top:.5rem}.more-tasks,.no-goals{color:#999;font-size:.85rem;font-style:italic;text-align:center}.no-goals{padding:.5rem 0}@media (max-width:768px){.user-cards{grid-template-columns:1fr}.phase-header-section{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (min-width:769px) and (max-width:1200px){.user-cards{grid-template-columns:repeat(3,1fr)}}.daily-tasks{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.tasks-header{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.date-selector,.status-filter,.time-sort-filter,.user-filter{align-items:center;display:flex;gap:.5rem}.date-selector label,.status-filter label,.time-sort-filter label,.user-filter label{color:#333;font-weight:500}.date-selector input,.status-filter select,.time-sort-filter select,.user-filter select{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.5rem}.add-task-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.5rem;transition:background .3s}.add-task-btn:hover{background:#5568d3}.add-task-form{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.add-task-form h3{color:#333;margin-bottom:1rem}.submit-btn{background:#4caf50}.submit-btn:hover{background:#45a049}.tasks-list{display:flex;flex-direction:column;gap:2rem}.user-tasks-section{border-bottom:2px solid #e0e0e0;padding-bottom:1.5rem}.user-tasks-section:last-child{border-bottom:none}.user-name-header{border-bottom:2px solid #667eea;color:#333;font-size:1.3rem;margin-bottom:1rem;padding-bottom:.5rem}.task-item{align-items:flex-start;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.8rem;padding:1rem;transition:all .3s}.task-item:hover{background:#f0f2ff;transform:translateX(4px)}.task-content{flex:1 1}.task-description{color:#333;font-size:1rem;line-height:1.5;margin-bottom:.5rem}.task-goal-link{align-items:center;color:#666;display:flex;font-size:.85rem;gap:.5rem}.goal-badge{background:#667eea;border-radius:12px;color:#fff;font-size:.75rem;padding:.2rem .6rem}.task-actions{align-items:center;display:flex;gap:.5rem;margin-left:1rem}.status-select{border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem}.edit-task-btn{align-items:center;background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s}.edit-task-btn:hover{background:#1976d2;transform:scale(1.05)}.edit-task-btn:active{transform:scale(.95)}.delete-task-btn{align-items:center;background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s}.delete-task-btn:hover{background:#d32f2f;transform:scale(1.05)}.delete-task-btn:active{transform:scale(.95)}.edit-task-form{background:#f0f7ff;border:2px solid #2196f3;border-radius:8px;padding:1rem;width:100%}.edit-task-form .form-group{margin-bottom:1rem}.edit-task-form .form-group label{color:#333;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.edit-task-actions{display:flex;gap:.5rem;margin-top:1rem}.save-edit-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1.5rem;transition:background .3s}.save-edit-btn:hover{background:#45a049}.cancel-edit-btn{background:#757575;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1.5rem;transition:background .3s}.cancel-edit-btn:hover{background:#616161}@media (max-width:768px){.tasks-header{align-items:stretch;flex-direction:column}.task-item{flex-direction:column;gap:1rem}.task-actions{flex-direction:column;gap:.5rem;margin-left:0;width:100%}.delete-task-btn,.edit-task-btn,.status-select{width:100%}.edit-task-actions{flex-direction:column}.cancel-edit-btn,.save-edit-btn{width:100%}}.correction-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.panel-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.panel-header h2{color:#333;font-size:1.8rem}.date-selector{align-items:center;display:flex;gap:.5rem}.date-selector label{color:#333;font-weight:500}.date-selector input{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.5rem}.correction-date-hint{color:#666;font-size:.95rem;margin:1rem 0}.correction-form{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.correction-form h3{color:#333;margin-bottom:1rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group{flex:1 1;margin-bottom:1rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.6rem;width:100%}.form-group textarea{resize:vertical}.submit-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.7rem 2rem;transition:background .3s}.submit-btn:hover{background:#5568d3}.members-review{margin-bottom:2rem}.members-review h3{color:#333;font-size:1.4rem;margin-bottom:1.5rem}.member-card{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.member-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.member-header h4{color:#333;font-size:1.2rem}.correction-badge,.role-badge{border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:.3rem .8rem}.correction-badge{background:#4caf50;margin-left:auto}.member-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.section{background:#fff;border-radius:8px;padding:1rem}.section h5{color:#333;font-size:1rem;margin-bottom:.8rem}.section ul{list-style:none;padding:0}.section li{border-bottom:1px solid #f0f0f0;color:#666;padding:.5rem 0}.section li:last-child{border-bottom:none}.section li strong{color:#333}.task-summary{display:flex;flex-wrap:wrap;gap:1rem}.task-summary span{border-radius:6px;font-size:.9rem;font-weight:500;padding:.4rem .8rem;transition:opacity .2s,transform .2s}.task-summary span[style*="cursor: pointer"]{cursor:pointer}.task-summary span[style*="cursor: pointer"]:hover{opacity:.8;transform:scale(1.05)}.completed{background:#e8f5e9;color:#2e7d32}.pending{background:#fff3e0;color:#e65100}.in-progress{background:#e3f2fd;color:#1565c0}.delayed{background:#ffebee;color:#c62828}.warning-text{color:#ff9800;font-weight:500}.info-text{color:#2196f3;font-style:italic}.success-text{color:#4caf50;font-weight:500}.alignment-check{background:#e3f2fd;border-radius:8px;grid-column:1/-1;margin-top:.5rem;padding:1rem}.corrections-history{border-top:2px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.corrections-history h3{color:#333;font-size:1.4rem;margin-bottom:1rem}.correction-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:1rem;padding:1rem}.correction-header{display:flex;gap:1rem;margin-bottom:.5rem}.user-name{color:#333;font-weight:600}.user-role{color:#666;font-size:.9rem}.correction-note{color:#555;line-height:1.6;margin:0}@media (max-width:768px){.member-content{grid-template-columns:1fr}.form-row{flex-direction:column}}.project-timeline{margin:0 auto;max-width:1400px;padding:2rem}.timeline-header-top{margin-bottom:2rem}.project-title{color:#333;font-size:1.5rem;font-weight:500;margin:0}.current-phase-card{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:1px solid #ff6b6b33;border-radius:16px;box-shadow:0 4px 20px #ff6b6b26;margin-bottom:3rem;padding:2rem}.current-phase-header{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.current-phase-info{flex:1 1}.phase-number-date{color:#ff6b6b;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.current-phase-title{color:#333;font-size:2rem;font-weight:700;margin:.5rem 0}.current-phase-description{color:#666;font-size:1rem;margin:.5rem 0 0}.current-phase-stats{align-items:flex-end;display:flex;flex-direction:column;gap:1.5rem;min-width:200px}.remaining-days-section{text-align:right}.remaining-days-label{color:#ff6b6b;font-size:.85rem;margin-bottom:.3rem}.remaining-days-value{color:#ff6b6b;font-size:2.5rem;font-weight:700;line-height:1}.progress-section{margin-top:1rem;width:100%}.progress-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-label,.progress-percentage-text{color:#333;font-size:.9rem;font-weight:500}.progress-bar-large{background:#e0e0e0;border-radius:4px;height:8px;overflow:hidden;position:relative;width:100%}.progress-bar-fill{border-radius:20px;height:100%;transition:width .5s ease}.milestone-goals{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-top:1.5rem;padding:1rem 1.2rem}.milestone-title{align-items:center;color:#666;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:.6rem}.milestone-icon{color:#ff6b6b;font-size:1rem}.milestone-goal-text{word-wrap:break-word;color:#333;display:block;font-size:.95rem;line-height:1.6}.timeline-section{margin-top:3rem}.timeline-section-header{align-items:center;display:flex;gap:.5rem;margin-bottom:1.5rem}.timeline-icon{font-size:1.5rem}.timeline-section-header h3{color:#333;font-size:1.3rem;font-weight:600;margin:0}.timeline-cards-container{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;scrollbar-color:#ddd #0000;scrollbar-width:thin}.timeline-cards-container::-webkit-scrollbar{height:8px}.timeline-cards-container::-webkit-scrollbar-track{background:#0000}.timeline-cards-container::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.timeline-cards-container::-webkit-scrollbar-thumb:hover{background:#bbb}.timeline-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;flex-shrink:0;min-width:280px;padding:1.5rem;transition:all .3s ease}.timeline-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.timeline-card.active{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border-color:#ff6b6b;box-shadow:0 4px 16px #ff6b6b33}.timeline-card-header{margin-bottom:.8rem}.timeline-card-phase{color:#666;font-size:.85rem;font-weight:500}.timeline-card-dates{color:#999;font-size:.9rem;margin-bottom:.8rem}.timeline-card-title{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.timeline-card-description{color:#666;font-size:.85rem;line-height:1.4;margin:0 0 1rem}.timeline-card-progress{background:#f0f0f0;border-radius:2px;height:4px;overflow:hidden;width:100%}.timeline-card-progress-bar{border-radius:2px;height:100%;transition:width .3s ease}.loading{font-size:1.2rem}.empty-state,.loading{color:#666;padding:3rem;text-align:center}@media (max-width:768px){.project-timeline{padding:1rem}.current-phase-header{flex-direction:column;gap:1.5rem}.current-phase-stats{align-items:flex-start;width:100%}.current-phase-title{font-size:1.5rem}.remaining-days-value{font-size:2rem}.timeline-card{min-width:240px}}.member-mgmt{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.member-mgmt-header{margin-bottom:2rem}.member-mgmt-header h2{color:#333;font-size:1.8rem}.member-mgmt-loading{color:#666;font-size:1.1rem;padding:3rem;text-align:center}.member-mgmt-section{margin-bottom:2.5rem}.member-mgmt-section:last-of-type{margin-bottom:0}.member-mgmt-section h3{color:#333;font-size:1.3rem;margin-bottom:1rem}.member-mgmt-pwd-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.member-mgmt-pwd-form{max-width:360px}.member-mgmt-pwd-row{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.member-mgmt-pwd-label{color:#333;flex:0 0 90px;font-size:.95rem;font-weight:500}.member-mgmt-pwd-name{color:#555;font-size:.95rem}.member-mgmt-pwd-input{flex:1 1;min-width:0}.member-mgmt-pwd-error{color:#c62828;font-size:.9rem;margin-bottom:1rem}.member-mgmt-desc{color:#555;font-size:.95rem;margin-bottom:1rem}.member-mgmt-desc strong{color:#333}.member-mgmt-form{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.member-mgmt-input{border:1px solid #ddd;border-radius:6px;font-size:.95rem;min-width:120px;padding:.5rem .75rem}.member-mgmt-input:focus{border-color:#667eea;outline:none}.member-mgmt-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s,border-color .2s}.member-mgmt-btn:hover{background:#eee;border-color:#ccc}.member-mgmt-btn.primary{background:#667eea;border-color:#667eea;color:#fff}.member-mgmt-btn.primary:hover{background:#5568d3;border-color:#5568d3}.member-mgmt-btn.primary:disabled{cursor:not-allowed;opacity:.7}.member-mgmt-btn.small{font-size:.85rem;margin-right:.5rem;padding:.35rem .6rem}.member-mgmt-btn.danger{background:#fff;border-color:#e57373;color:#c62828}.member-mgmt-btn.danger:hover{background:#ffebee;border-color:#ef5350}.member-mgmt-table-wrap{margin-bottom:1rem;overflow-x:auto}.member-mgmt-table{border-collapse:collapse;font-size:.95rem;width:100%}.member-mgmt-table td,.member-mgmt-table th{border:1px solid #e0e0e0;padding:.6rem .75rem;text-align:left}.member-mgmt-table th{background:#f5f5f5;color:#333;font-weight:600}.member-mgmt-table tbody tr:hover{background:#fafafa}.member-mgmt-role-badge{background:#e3f2fd;border-radius:12px;color:#1565c0;display:inline-block;font-size:.85rem;padding:.2rem .6rem}.member-mgmt-name{color:#333;font-weight:500;margin-right:.5rem}.member-mgmt-permissions-wrap{margin-bottom:1rem}.member-mgmt-permissions td:first-child,.member-mgmt-permissions th:first-child{min-width:140px}.member-mgmt-permissions td:nth-child(n+2){min-width:100px}.member-mgmt-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .5rem;width:100%}.member-mgmt-select:focus{border-color:#667eea;outline:none}.member-mgmt-actions{margin-top:1rem}@media (max-width:768px){.member-mgmt-form{align-items:stretch;flex-direction:column}.member-mgmt-input{min-width:0}.member-mgmt-table-wrap{overflow-x:scroll}.member-mgmt-permissions td:first-child,.member-mgmt-permissions th:first-child{min-width:100px}}
/*# sourceMappingURL=main.af52f80a.css.map*/