.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--primary-light);color:var(--primary);font-weight:600;overflow:hidden;flex-shrink:0}.avatar--xs{width:20px;height:20px;font-size:10px}.avatar--sm{width:24px;height:24px;font-size:var(--font-size-xs)}.avatar--md{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar--lg{width:48px;height:48px;font-size:var(--font-size-lg)}.avatar-img{width:100%;height:100%;object-fit:cover}.avatar-initials{-webkit-user-select:none;user-select:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);animation:fadeIn .2s ease}.modal{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideIn .2s ease}.modal--sm{width:100%;max-width:400px}.modal--md{width:100%;max-width:600px}.modal--lg{width:100%;max-width:800px}.modal--xl{width:100%;max-width:1200px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--border)}.modal-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s ease}.modal-close:hover{background-color:var(--bg-main);color:var(--text-primary)}.modal-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-family);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;white-space:nowrap;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);height:32px}.btn--md{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);height:40px}.btn--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);height:48px}.btn--primary{background-color:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:var(--shadow-md)}.btn--primary:active:not(:disabled){transform:translateY(1px)}.btn--secondary{background-color:var(--secondary-light);color:var(--secondary-contrast);border:1px solid var(--secondary)}.btn--secondary:hover:not(:disabled){background-color:#ededed;border-color:var(--secondary-hover)}.btn--outline{background-color:transparent;color:var(--secondary-contrast);border:1px solid var(--secondary)}.btn--outline:hover:not(:disabled){background-color:var(--secondary-light)}.dark-theme .btn--outline{color:var(--secondary-contrast);border-color:var(--secondary);background-color:#ffffff0a}.dark-theme .btn--outline:hover:not(:disabled){background-color:#ffffff1f;color:var(--secondary-contrast);border-color:var(--secondary-hover)}.btn--ghost{background-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background-color:var(--bg-main);color:var(--text-primary)}.btn--danger{background-color:var(--error);color:#fff}.btn--danger:hover:not(:disabled){background-color:#b91c1c;box-shadow:var(--shadow-md)}.btn--loading{position:relative;color:transparent!important}.btn--loading .spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-color:currentColor;border-top-color:transparent}.sidebar{width:260px;height:100vh;background-color:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:transform .3s ease;overflow:hidden}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);min-width:0}.sidebar-close-btn{display:none}.sidebar-logo{font-size:var(--font-size-xl);font-weight:700;color:var(--primary);margin:0}.sidebar-logo-img{width:100%;max-width:200px;max-height:56px;object-fit:contain;display:block;min-width:0}.sidebar-nav{flex:1;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:var(--font-size-base);transition:all .15s ease}.sidebar-nav-item:hover{background-color:var(--bg-main);color:var(--text-primary)}.sidebar-nav-item--active{background-color:var(--primary-light);color:var(--primary)}.dark-theme .sidebar-nav-item{color:#cbd5f5}.dark-theme .sidebar-nav-item svg{color:#cbd5f5}.dark-theme .sidebar-nav-item--active{background-color:#ffffff1f;color:#fff}.dark-theme .sidebar-nav-item--active svg{color:#fff}.dark-theme .sidebar-nav-item:hover{background-color:#ffffff0f;color:#fff}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--spacing-md)}.sidebar-footer-buttons{display:flex;align-items:center;justify-content:space-around;gap:var(--spacing-sm)}.sidebar-footer-item{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--text-muted);transition:all .15s ease;text-decoration:none;border:none;background:transparent;cursor:pointer;font-size:inherit;font-family:inherit}.sidebar-footer-item:hover{background-color:var(--bg-main);color:var(--primary)}.dark-theme .sidebar-footer-item{color:#cbd5f5}.dark-theme .sidebar-footer-item:hover{background-color:#ffffff14;color:#fff}.sidebar-footer-divider{height:1px;background-color:var(--border)}.sidebar-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.sidebar-footer-profile{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);text-decoration:none;transition:all .15s ease;flex:1}.sidebar-footer-profile:hover{background-color:var(--bg-main)}.sidebar-footer-logout{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .15s ease;padding:0;font-family:inherit;font-size:inherit}.sidebar-footer-logout:hover{background-color:var(--bg-main);color:var(--error)}.logout-modal-content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-md) 0}.logout-modal-content p{color:var(--text-primary);margin:0;font-weight:500}.logout-modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.sidebar-divider{height:1px;background:var(--border);margin:var(--spacing-sm) 0}.sidebar-nav-item--admin{color:var(--warning)}.sidebar-nav-item--admin.sidebar-nav-item--active{background-color:#eab3081a;color:var(--warning)}.sidebar-footer-profile{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:background .2s;min-width:0}.sidebar-footer-profile:hover{background:var(--bg-secondary)}.sidebar-user-info{display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-user-name{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.75rem;color:var(--text-muted);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-notification-btn{position:relative}.notification-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;color:#fff;background-color:var(--error);border-radius:999px;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.sidebar-nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;color:#fff;background-color:var(--primary);border-radius:999px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.sidebar{transform:translate(-100%);box-shadow:none}.sidebar--open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s}.sidebar-close-btn:hover{background:var(--bg-main);color:var(--text-primary)}.sidebar-nav-item{padding:var(--spacing-md)}.sidebar-footer-profile{gap:var(--spacing-md)}.sidebar-logo-img{max-width:170px;max-height:44px}}.app-layout{display:flex;min-height:100vh;background-color:var(--bg-main)}.app-main{flex:1;margin-left:260px;padding:var(--spacing-xl);min-height:100vh;overflow-x:hidden}.mobile-header,.sidebar-overlay{display:none}@media (max-width: 768px){.app-layout{flex-direction:column}.app-main{margin-left:0;padding:var(--spacing-md);padding-top:calc(60px + var(--spacing-md));min-height:calc(100vh - 60px)}.mobile-header{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:60px;padding:0 var(--spacing-md);background-color:var(--bg-card);border-bottom:1px solid var(--border);z-index:90}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:background .2s}.mobile-menu-btn:hover{background:var(--bg-main)}.mobile-logo{font-size:var(--font-size-lg);font-weight:700;color:var(--primary);margin:0}.mobile-logo-img{height:28px;width:auto;max-width:200px}.mobile-header-spacer{width:40px}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.input-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.input-container{position:relative;width:100%}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .15s ease;outline:none}.input:hover{border-color:var(--text-muted)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.dark-theme .input[type=date],.dark-theme .input[type=datetime-local],.dark-theme .input[type=time]{color-scheme:dark}.dark-theme .input[type=date]::-webkit-calendar-picker-indicator,.dark-theme .input[type=datetime-local]::-webkit-calendar-picker-indicator,.dark-theme .input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}.input--with-icon{padding-left:40px}.input-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--text-muted);display:flex;align-items:center;justify-content:center;pointer-events:none}.input--error{border-color:var(--error)}.input--error:focus{box-shadow:0 0 0 3px var(--error-light)}.input-error{font-size:var(--font-size-sm);color:var(--error)}.textarea{min-height:100px;resize:vertical;font-family:var(--font-family)}select.input{cursor:pointer;padding-right:var(--spacing-xl);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='%23475569' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,#6b6b6b 100%);padding:var(--spacing-lg)}.auth-card{width:100%;max-width:450px;background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-logo{font-size:var(--font-size-3xl);font-weight:700;color:var(--primary);margin-bottom:var(--spacing-sm)}.auth-logo-img{width:280px;height:auto;margin:0 auto var(--spacing-sm);display:block}.auth-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-submit{width:100%;margin-top:var(--spacing-sm)}.auth-footer{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary)}.auth-link{color:var(--primary);font-weight:600;text-decoration:none;transition:color .15s ease}.auth-link:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 480px){.auth-logo-img{width:220px}}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .2s ease}.card--hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--clickable{cursor:pointer}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--border);background-color:var(--bg-main)}.badge{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:var(--radius-md);white-space:nowrap}.badge--sm{padding:2px var(--spacing-sm);font-size:var(--font-size-xs)}.badge--md{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.badge--default{background-color:var(--secondary-light);color:var(--secondary-contrast);border:1px solid var(--secondary)}.badge--primary{background-color:var(--primary-light);color:var(--primary)}.badge--success{background-color:var(--success-light);color:var(--success)}.badge--warning{background-color:var(--warning-light);color:var(--warning)}.badge--error{background-color:var(--error-light);color:var(--error)}.badge--info{background-color:var(--secondary-light);color:var(--secondary-contrast)}.dark-theme .badge--primary,.dark-theme .badge--info{background-color:#ffffff1f;color:#f5f5f5}.page-container{max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.page-title{font-size:var(--font-size-3xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.page-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.project-card{border-top:3px solid var(--project-color, var(--primary))}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.project-card-title-row{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.project-card .project-color-dot{width:12px;height:12px;border-radius:50%;background:var(--project-color, var(--primary));box-shadow:0 0 0 3px #0000000f;flex-shrink:0}.project-card-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0;min-width:0}.project-card-badges{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.project-card-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.project-card-meta{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border);flex-wrap:wrap}.project-meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-muted)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;min-height:400px}.empty-state-icon{font-size:64px;margin-bottom:var(--spacing-lg)}.empty-state h3{font-size:var(--font-size-xl);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.empty-state p{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.modal-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.modal-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.member-selection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.member-selection-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.selected-count{font-weight:400;color:var(--primary);font-size:var(--font-size-xs);background-color:var(--primary-light);padding:2px var(--spacing-xs);border-radius:var(--radius-sm)}.member-selection-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm);background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);max-height:180px;overflow-y:auto}.member-option{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm);color:var(--text-secondary)}.member-option:hover{border-color:var(--primary);color:var(--primary)}.member-option.selected{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}.dark-theme .member-selection-list{background-color:var(--bg-tertiary)}.dark-theme .member-option.selected{background-color:#ffffff1f;color:#f5f5f5;border-color:#ffffff2e}.member-option-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-check{color:var(--primary);flex-shrink:0}.member-selection-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:0}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.page-title{font-size:var(--font-size-2xl)}.projects-grid{grid-template-columns:1fr}.project-card-meta{flex-wrap:wrap;gap:var(--spacing-sm)}.member-selection-list{max-height:150px}.member-option-name{max-width:100px}.modal-grid-2{grid-template-columns:1fr}}@media (max-width: 480px){.page-title{font-size:var(--font-size-xl)}.page-subtitle{font-size:var(--font-size-sm)}}.project-members{padding:var(--spacing-md)}.project-members-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.project-members-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0}.member-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--spacing-xs);background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.project-members-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--text-muted);gap:var(--spacing-sm)}.project-members-empty svg{opacity:.5}.project-members-empty p{margin:0;font-size:var(--font-size-sm)}.project-members-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-member-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);transition:all .2s ease}.project-member-item:hover{border-color:var(--primary-light);background-color:var(--bg-tertiary)}.project-member-item.owner{border-color:#f59e0b4d;background-color:#f59e0b0d}.project-member-info{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.project-member-details{display:flex;flex-direction:column;min-width:0}.project-member-name{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-member-email{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-member-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.member-role-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-xs);cursor:pointer;outline:none}.member-role-select:focus{border-color:var(--primary)}.member-role-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.member-role-badge.owner{background-color:#f59e0b26;color:#d97706}.member-role-badge.manager{background-color:#8b5cf626;color:#7c3aed}.member-role-badge.member{background-color:var(--primary-light);color:var(--primary)}.member-role-badge.viewer{background-color:var(--bg-tertiary);color:var(--text-secondary)}.member-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background-color:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:all .2s ease}.member-remove-btn:hover{border-color:var(--error);color:var(--error);background-color:#ef44441a}.member-remove-btn:disabled{opacity:.5;cursor:not-allowed}.add-member-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.add-member-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.add-member-form .form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.add-member-form .form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;outline:none}.add-member-form .form-select:focus{border-color:var(--primary)}.add-member-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border)}@media (max-width: 640px){.project-member-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.project-member-actions{width:100%;justify-content:space-between}.project-member-info{width:100%}}.project-detail-header{margin-bottom:var(--spacing-xl)}.project-detail-header-top{display:flex;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.back-button{flex-shrink:0;background:none;border:none;padding:var(--spacing-sm);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .15s ease;margin-top:4px}.back-button:hover{background-color:var(--bg-card);color:var(--text-primary)}.project-detail-title-section{flex:1}.project-detail-title-row{display:flex;align-items:center;gap:var(--spacing-sm)}.project-detail-title-row .project-color-dot{width:14px;height:14px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px #0000000f;flex-shrink:0}.project-detail-title{font-size:var(--font-size-3xl);font-weight:600;color:var(--text-primary);margin:0}.project-detail-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:flex-end}.project-detail-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.project-info-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.project-description{padding:var(--spacing-md);background-color:var(--bg-main);border-radius:var(--radius-md);border-left:3px solid var(--primary)}.project-description p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:var(--font-size-base)}.edit-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-edit-color{display:flex;flex-direction:column;gap:var(--spacing-xs)}.color-picker{width:100%;height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer}.project-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.project-meta-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-main);border-radius:var(--radius-md)}.meta-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:var(--font-size-base);font-weight:500;color:var(--text-primary)}.project-summary-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tasks-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md)}.summary-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-main);border-radius:var(--radius-md);border:1px solid var(--border)}.summary-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:20px}.summary-icon.todo{background-color:#f973161a}.summary-icon.in-progress{background-color:#6b72801f}.summary-icon.completed{background-color:#22c55e1a}.summary-icon.total{background-color:#6b72801a}.summary-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.summary-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.summary-count{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary)}.tasks-progress{display:flex;flex-direction:column;gap:var(--spacing-sm)}.progress-bar{display:flex;height:8px;background-color:var(--bg-main);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--border)}.progress-segment{height:100%;transition:width .3s ease}.progress-segment.todo{background-color:#b9791f}.progress-segment.in-progress{background-color:#5b6470}.progress-segment.completed{background-color:#2f8f5b}.progress-percentage{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;font-weight:500}.project-milestones-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.section-header-row{display:flex;justify-content:space-between;align-items:center}.section-header-row .section-title{display:flex;align-items:center;gap:var(--spacing-sm);margin:0}.milestones-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.milestone-item{padding:var(--spacing-md);background-color:var(--bg-main);border-radius:var(--radius-md);border:1px solid var(--border);transition:all .15s ease}.milestone-item--highlight{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);animation:pulseHighlight 1.4s ease-in-out 2}@keyframes pulseHighlight{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}.milestone-item:hover{border-color:var(--primary);background-color:var(--bg-card)}.milestone-item.completed{opacity:.6}.milestone-header{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.milestone-checkbox{flex-shrink:0;background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);margin-top:2px;transition:all .15s ease}.milestone-checkbox:hover{color:var(--primary);background-color:var(--bg-main)}.checkbox-empty{width:20px;height:20px;border:2px solid var(--text-secondary);border-radius:var(--radius-sm);transition:all .15s ease}.milestone-checkbox:hover .checkbox-empty{border-color:var(--primary)}.milestone-content{flex:1}.milestone-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0}.milestone-item.completed .milestone-name{text-decoration:line-through;color:var(--text-muted)}.milestone-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0 0 0}.milestone-meta{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-muted);margin-left:28px}.milestone-meta svg{flex-shrink:0}.empty-list{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--text-muted)}.empty-list svg{margin-bottom:var(--spacing-md);opacity:.5}.empty-list p{margin:0;font-size:var(--font-size-sm)}.empty-list button{margin-top:var(--spacing-md)}@media (max-width: 768px){.project-detail-header-top{flex-direction:column;gap:var(--spacing-md)}.project-detail-actions{justify-content:flex-start;width:100%}.project-detail-title{font-size:var(--font-size-2xl)}.project-meta-grid{grid-template-columns:1fr}.tasks-summary{grid-template-columns:repeat(2,1fr)}}.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);min-height:calc(100vh - 200px)}.kanban-column{background-color:var(--bg-main);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:500px}.kanban-column-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border);border-left:3px solid;display:flex;align-items:center;justify-content:space-between;background-color:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.kanban-column-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0}.kanban-column-count{font-size:var(--font-size-sm);color:var(--text-muted);background-color:var(--bg-main);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-weight:600}.kanban-column-content{flex:1;padding:var(--spacing-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md);transition:background-color .2s ease}.kanban-column-content--over{background-color:var(--primary-light)}.kanban-column-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.task-card-wrapper{cursor:grab}.task-card-wrapper:active{cursor:grabbing}.task-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.task-card-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0;flex:1}.task-card-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.task-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-sm);border-top:1px solid var(--border)}.task-card-meta{display:flex;gap:var(--spacing-md)}.task-meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-muted)}@media (max-width: 1200px){.kanban-board{grid-template-columns:1fr;gap:var(--spacing-md)}.kanban-column{min-height:300px}}.task-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:260px;background-color:#0f172a4d;z-index:900;animation:fadeIn .2s ease}.task-panel{position:fixed;top:0;right:0;bottom:0;width:600px;max-width:90vw;background-color:var(--bg-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideInRight .3s ease;z-index:901}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.task-panel-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.task-panel-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0;flex:1}.task-panel-close{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s ease}.task-panel-close:hover{background-color:var(--bg-main);color:var(--text-primary)}.task-panel-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xl)}.task-panel-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.task-panel-section-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.task-panel-meta{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.task-panel-description p{margin:0;color:var(--text-secondary);line-height:1.6}.task-panel-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.task-detail-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.task-detail-row svg{color:var(--text-muted)}.task-detail-value{margin-left:auto;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.subtasks-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.subtask-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);background-color:var(--bg-main)}.subtask-item input[type=checkbox]{cursor:pointer}.comments-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto}.comment-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-main);border-radius:var(--radius-md)}.comment-content{flex:1}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.comment-author{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.comment-date{font-size:var(--font-size-xs);color:var(--text-muted)}.comment-text{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.comment-input-container,.history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);background-color:var(--bg-main);border-radius:var(--radius-md)}.history-item svg{color:var(--text-muted);flex-shrink:0}.history-date{margin-left:auto;font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.tasks-container{max-width:100%}.task-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.task-filters select,.task-filters input{min-width:200px}.form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:.875rem;cursor:pointer;width:100%}@media (max-width: 768px){.task-filters{flex-direction:column}.task-filters select,.task-filters input,.project-select{min-width:100%;width:100%}.filter-row{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.document-card{display:flex;align-items:center;gap:var(--spacing-md)}.document-icon{width:56px;height:56px;border-radius:var(--radius-md);background-color:var(--bg-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:2px}.document-type-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.document-info{flex:1;min-width:0}.document-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.document-actions{display:flex;gap:var(--spacing-xs)}.icon-button{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.icon-button:hover{background-color:var(--bg-main);color:var(--text-primary)}.icon-button--danger:hover{color:var(--error)}.upload-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg,#2f2f2f,#6b6b6b);color:#fff;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.upload-button:hover{opacity:.9;transform:translateY(-1px)}.upload-button input{display:none}.upload-button--primary{margin-top:var(--spacing-md)}.page-container{padding:var(--spacing-lg)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.page-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.page-subtitle{color:var(--text-secondary);margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center}.empty-state-icon{color:var(--text-muted);opacity:.5;margin-bottom:var(--spacing-md)}.empty-state h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.empty-state p{color:var(--text-secondary);margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);gap:var(--spacing-md)}.document-uploader{font-size:.75rem;color:var(--text-muted);margin:var(--spacing-xs) 0 0 0}.document-project{font-size:.75rem;color:var(--primary);margin:var(--spacing-xs) 0 0 0}.dark-theme .document-icon{background-color:#1f2937}.dark-theme .document-icon svg{color:#e2e8f0}.dark-theme .document-project{color:#e5e7eb}.dark-theme .icon-button{color:#cbd5f5}.dark-theme .icon-button:hover{background-color:#ffffff14;color:#fff}.page-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-card{margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.filter-row{display:flex;align-items:center;gap:var(--spacing-md);color:var(--text-secondary)}.project-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:.875rem;cursor:pointer;min-width:200px}.project-select:focus{outline:none;border-color:var(--primary)}.folders-section{margin-bottom:var(--spacing-xl)}.folders-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.folders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md)}.folder-card{cursor:pointer}.folder-item{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--primary);width:100%}.folder-item span{color:var(--text-primary);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity .15s ease}@media (max-width: 1024px){.documents-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width: 768px){.page-container{padding:var(--spacing-md)}.page-header{flex-direction:column;gap:var(--spacing-md)}.page-actions{width:100%;flex-wrap:wrap}.filter-row{flex-direction:column;align-items:stretch}.project-select{min-width:100%;width:100%}.folders-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.documents-grid{grid-template-columns:1fr}.document-card{align-items:flex-start}.document-actions{margin-top:var(--spacing-sm)}}.folder-card:hover .folder-actions{opacity:1}.create-folder-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.folder-breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.breadcrumb-item{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s ease}.breadcrumb-item:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.breadcrumb-item--active{background:var(--primary);color:#fff;border-color:var(--primary)}.breadcrumb-item--active:hover{background:var(--primary);color:#fff}.breadcrumb-separator{color:var(--text-muted);flex-shrink:0}.dashboard-header{margin-bottom:var(--spacing-xl)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{display:flex;align-items:center;gap:var(--spacing-lg)}.stat-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-content{flex:1}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-xs) 0}.stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--text-primary);margin:0}.dashboard-section{margin-top:var(--spacing-xl)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.section-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0}.projects-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-row{display:flex;align-items:center;gap:var(--spacing-md)}.project-row-icon{width:40px;height:40px;border-radius:var(--radius-md);background-color:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.project-row-content{flex:1}.project-row-content h4{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0 0 4px}.project-row-content p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-row-status{flex-shrink:0}.status-badge{padding:4px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600}.status-active{background-color:var(--info-light);color:var(--info)}.status-completed{background-color:var(--success-light);color:var(--success)}.status-planning{background-color:var(--bg-main);color:var(--text-secondary);border:1px solid var(--border)}.empty-state-small{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center}.empty-state-small p{color:var(--text-muted)}.dashboard-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.progress-card{text-align:center}.progress-title{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.progress-circle{position:relative;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--progress) * 1%),var(--bg-secondary) calc(var(--progress) * 1%));display:flex;align-items:center;justify-content:center}.progress-circle:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--bg-card)}.progress-circle--secondary{background:conic-gradient(var(--success) calc(var(--progress) * 1%),var(--bg-secondary) calc(var(--progress) * 1%))}.progress-value{position:relative;z-index:1;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.progress-breakdown{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start;padding:0 var(--spacing-lg)}.progress-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.progress-dot--pending{background-color:var(--text-muted)}.progress-dot--progress{background-color:var(--info)}.progress-dot--done{background-color:var(--success)}.progress-dot--planning{background-color:var(--border)}.progress-dot--active{background-color:var(--info)}.progress-dot--completed{background-color:var(--success)}@media (max-width: 768px){.dashboard-progress-grid{grid-template-columns:1fr}.progress-breakdown{align-items:center}.dashboard-stats{grid-template-columns:1fr}.stat-card{gap:var(--spacing-md)}.stat-icon{width:48px;height:48px}.stat-value{font-size:var(--font-size-2xl)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.project-row{flex-wrap:wrap}.project-row-content{flex:1;min-width:0}.project-row-content h4{font-size:var(--font-size-sm)}.project-row-status{width:100%}}@media (max-width: 480px){.dashboard-header h1{font-size:var(--font-size-xl)}.section-title{font-size:var(--font-size-lg)}}.settings-page{padding:var(--spacing-lg);max-width:900px;margin:0 auto}.settings-header{margin-bottom:var(--spacing-xl)}.settings-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.settings-header p{color:var(--text-secondary);margin:0}.settings-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border);padding-bottom:var(--spacing-sm);flex-wrap:wrap}.settings-tab{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.settings-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.settings-tab--active{background:var(--primary-light);color:var(--primary)}.dark-theme .settings-tab{color:#d4d4d4}.dark-theme .settings-tab:hover{background:#242424;color:#fff}.dark-theme .settings-tab--active{background:#ffffff1f;color:#f5f5f5;border:1px solid #9ca3af}.settings-content{animation:fadeIn .2s ease}.settings-section{padding:var(--spacing-md)}.settings-section-header{margin-bottom:var(--spacing-lg)}.settings-section-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.settings-section-header p{color:var(--text-secondary);font-size:.875rem;margin:0}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.settings-field label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.settings-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;background:var(--bg-card);color:var(--text-primary)}.settings-input:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.notification-type-toggles{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.toggle-card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.dark-theme .toggle-card{background:#171717;border:1px solid #2f2f2f}.toggle-card:hover{background:var(--bg-main)}.dark-theme .toggle-card:hover{background:#242424}.toggle-info{display:flex;align-items:center;gap:var(--spacing-md)}.toggle-info svg{color:var(--primary)}.dark-theme .toggle-info svg{color:#d1d5db}.toggle-info>div{display:flex;flex-direction:column;gap:2px}.toggle-title{font-weight:500;color:var(--text-primary)}.toggle-description{font-size:.75rem;color:var(--text-muted)}.toggle-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:48px;height:24px;background:var(--border);border-radius:12px;position:relative;cursor:pointer;transition:background .2s}.dark-theme .toggle-switch{background:#4a4a4a}.toggle-switch:before{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch:checked{background:var(--primary)}.dark-theme .toggle-switch:checked{background:#9ca3af}.toggle-switch:checked:before{transform:translate(24px)}.notification-details{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.dark-theme .notification-details{background:#171717;border:1px solid #2f2f2f}.notification-details h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.notification-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-option{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs) 0}.checkbox-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.checkbox-option span{font-size:.875rem;color:var(--text-primary)}.theme-selector{margin-bottom:var(--spacing-xl)}.theme-selector h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.theme-options{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.theme-option{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;min-width:100px}.theme-option:hover,.theme-option--active{border-color:var(--primary);background:var(--primary-light)}.theme-option svg{color:var(--text-secondary)}.theme-option--active svg{color:var(--primary)}.theme-option span{font-size:.875rem;font-weight:500;color:var(--text-primary)}.color-selector{margin-bottom:var(--spacing-lg)}.color-selector h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.color-options{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.color-option{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.color-option:hover{transform:scale(1.1)}.color-option--active{border-color:var(--text-primary);transform:scale(1.15)}.test-email-section{padding:var(--spacing-lg);background:linear-gradient(135deg,#4b4b4b0f,#6b6b6b0f);border-radius:var(--radius-md);border:1px dashed var(--border);margin-top:var(--spacing-lg)}.test-email-section h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.test-email-description{font-size:.813rem;color:var(--text-muted);margin:0 0 var(--spacing-md) 0}.test-email-form{display:flex;gap:var(--spacing-sm);align-items:flex-end}.test-email-form .input-wrapper{flex:1}.settings-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--border);margin-top:var(--spacing-lg)}.privacy-info{display:flex;flex-direction:column;gap:var(--spacing-lg)}.privacy-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl);background:var(--bg-secondary);border-radius:var(--radius-md)}.privacy-card svg{color:var(--success);margin-bottom:var(--spacing-md)}.privacy-card h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.privacy-card p{color:var(--text-secondary);margin:0;max-width:400px}.privacy-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.privacy-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.privacy-icon{font-size:1.5rem}.privacy-item strong{display:block;font-weight:600;color:var(--text-primary);margin-bottom:2px}.privacy-item p{font-size:.875rem;color:var(--text-secondary);margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.loading-state p{color:var(--text-muted)}.dark-theme .settings-page{--text-muted: #a7a7a7}.notifications-page{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.notifications-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.notifications-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:0}.notifications-header-actions{display:flex;gap:var(--spacing-sm)}.notifications-mark-all-btn,.notifications-clear-btn{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .15s ease}.notifications-mark-all-btn:hover{background-color:var(--primary-light);color:var(--primary);border-color:var(--primary)}.notifications-clear-btn:hover{background-color:var(--bg-main);color:var(--error);border-color:var(--error)}.dark-theme .notifications-mark-all-btn:hover{background-color:#ffffff1f;color:#e5e7eb;border-color:#9ca3af}.dark-theme .notifications-clear-btn:hover{background-color:#f871711a;color:#fca5a5;border-color:#f87171}.notifications-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);min-height:400px;color:var(--text-muted)}.notifications-container{flex:1;display:flex;flex-direction:column}.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);min-height:400px;color:var(--text-secondary)}.notifications-empty-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background-color:var(--bg-main);color:var(--text-muted)}.notifications-empty h2{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.notifications-empty p{margin:0}.notifications-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.notification-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .15s ease}.notification-item:hover{background-color:var(--bg-main);border-color:var(--border)}.notification-item--unread{background-color:#3a3a3a0f;border-color:#3a3a3a1f}.dark-theme .notification-item{background-color:#111827;border-color:#243047}.dark-theme .notification-item:hover{background-color:#1f2937}.dark-theme .notification-item--unread{background-color:#ffffff1f;border-color:#9ca3af}.dark-theme .notification-item--unread:hover{background-color:#ffffff2e}.dark-theme .notification-icon[data-type=info]{background-color:#ffffff1f;color:#e5e7eb}.dark-theme .notification-action-btn:hover{background-color:#1f2937;color:#f87171}.notification-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-md)}.notification-icon[data-type=success]{background-color:#22c55e1a;color:#22c55e}.notification-icon[data-type=warning]{background-color:#fb923c1a;color:#fb923c}.notification-icon[data-type=info],.notification-icon[data-type=mention]{background-color:#4b4b4b1f;color:#4b4b4b}.notification-content{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.notification-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.notification-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0}.notification-time{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.notification-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.notification-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.notification-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;color:var(--text-muted);transition:all .15s ease}.notification-action-btn:hover{background-color:var(--bg-main);color:var(--error)}.unread-dot{width:8px;height:8px;border-radius:50%;background-color:#4b4b4b}.unread-indicator{width:10px;height:10px;border-radius:50%;background-color:var(--primary);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.notification-item--unread{cursor:pointer}.notification-item--unread:hover{background-color:#3a3a3a1f}.meetings-page{padding:var(--spacing-lg)}.meetings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.meetings-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.meetings-header p{color:var(--text-secondary)}.meetings-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.view-toggle{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:4px}.view-toggle-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:all .2s}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn--active{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm)}.calendar-container{overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border);background:var(--bg-card)}.calendar-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all .2s}.calendar-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--primary)}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.calendar-day-name{padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-weight:600;font-size:.75rem;color:var(--text-primary);text-transform:uppercase}.calendar-body{display:flex;flex-direction:column}.calendar-row{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:100px;padding:var(--spacing-xs);border-right:2px solid var(--border);border-bottom:2px solid var(--border);cursor:pointer;transition:background .2s;background:var(--bg-card)}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover{background:var(--bg-tertiary)}.calendar-cell--disabled{background:var(--bg-main);color:var(--text-muted)}.calendar-cell--disabled .calendar-cell-number{color:var(--text-muted)}.calendar-cell--today{background:#3a3a3a29;border-color:#6f6f6f}.calendar-cell--today .calendar-cell-number{background:#4b4b4b;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-cell--selected{background:#2038642e;border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.calendar-cell-number{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.calendar-cell-events{display:flex;flex-direction:column;gap:2px}.calendar-event{font-size:.7rem;padding:2px 4px;background:linear-gradient(135deg,#2f2f2f,#6b6b6b);color:#fff;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:transform .2s;border:1px solid rgba(0,0,0,.08)}.dark-theme .calendar-container{background:#0f172a}.dark-theme .calendar-header{background:#0f172a;border-bottom-color:#334155}.dark-theme .calendar-days-header{background:#111827;border-bottom-color:#334155}.dark-theme .calendar-day-name{color:#e2e8f0}.dark-theme .calendar-cell{background:#0f172a;border-right-color:#334155;border-bottom-color:#334155}.dark-theme .calendar-cell--disabled{background:#0b1220;color:#94a3b8}.dark-theme .calendar-cell--today{background:#ffffff24;border-color:#9ca3af}.dark-theme .calendar-cell--selected{background:#ffffff1f;border-color:#9ca3af;box-shadow:inset 0 0 0 2px #9ca3af}.dark-theme .calendar-cell-number{color:#e2e8f0}.dark-theme .calendar-cell--today .calendar-cell-number{background:#d4d4d4;color:#1a1a1a}.dark-theme .calendar-event{border-color:#ffffff1f}.calendar-event:hover{transform:scale(1.02)}.calendar-event-more{font-size:.7rem;color:var(--text-secondary);padding:2px 4px}.meetings-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.meeting-card{padding:var(--spacing-lg)}.meeting-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);gap:var(--spacing-sm);flex-wrap:wrap}.meeting-card-time{display:flex;flex-direction:column;gap:var(--spacing-xs)}.meeting-date{font-size:.875rem;color:var(--text-secondary);text-transform:capitalize}.meeting-hours{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--primary);font-weight:500}.meeting-card-actions{display:flex;gap:var(--spacing-xs)}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all .2s}.icon-btn:hover{background:var(--bg-secondary);color:var(--primary);border-color:var(--primary)}.icon-btn--danger:hover{color:var(--error);border-color:var(--error)}.meeting-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.meeting-card-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-md)}.meeting-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.meeting-meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary)}.meeting-link{color:var(--primary);text-decoration:none;transition:color .2s}.meeting-link:hover{color:var(--success)}.dark-theme .meeting-hours{color:#e2e8f0}.dark-theme .icon-btn{color:#e2e8f0;border-color:#243047}.dark-theme .icon-btn:hover{background:#ffffff14;color:#fff;border-color:#9ca3af}.dark-theme .icon-btn:active{background:#ffffff29;color:#fff;border-color:#e5e7eb}.dark-theme .meeting-link{color:#e5e7eb}.meetings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center;color:var(--text-secondary)}.meetings-empty svg{margin-bottom:var(--spacing-md);opacity:.5}.meetings-empty h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.meetings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);gap:var(--spacing-md)}.meeting-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:.875rem;resize:vertical;min-height:80px;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--primary)}.participant-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);max-height:200px;overflow-y:auto}.participant-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--text-primary)}.delete-modal-content p{margin-bottom:var(--spacing-lg);color:var(--text-secondary)}.minutes-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border)}.minutes-section h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.minutes-upload{margin-bottom:var(--spacing-md)}.minute-upload-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg,#2f2f2f,#6b6b6b);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.minute-upload-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.minute-upload-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.minute-upload-btn input[type=file]{display:none}.minutes-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.minute-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border)}.minute-item svg{color:var(--primary);flex-shrink:0}.minute-name{flex:1;font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.minute-date{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.minute-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all .2s}.minute-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.minute-btn--danger:hover{background:var(--error);border-color:var(--error)}.minutes-empty{text-align:center;padding:var(--spacing-md);color:var(--text-secondary);font-size:.875rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px dashed var(--border)}.meeting-card-minutes{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.minutes-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--text-secondary);flex-shrink:0}.minutes-list-inline{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.minute-download-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);font-size:.75rem;transition:all .2s}.minute-download-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.minute-download-btn span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.meetings-header{flex-direction:column}.meetings-header-right{width:100%;justify-content:space-between}.form-row{grid-template-columns:1fr}.calendar-cell{min-height:60px}.calendar-event{font-size:.6rem}.meeting-card-actions{flex-wrap:wrap}.icon-btn{width:36px;height:36px}}@media (max-width: 600px){.calendar-container{overflow-x:auto}.calendar-body,.calendar-days-header{min-width:600px}}.toggle-container{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-sm) 0}.toggle-container--disabled{cursor:not-allowed;opacity:.5}.toggle-content{display:flex;flex-direction:column;gap:2px;flex:1}.toggle-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.toggle-description{font-size:var(--font-size-xs);color:var(--text-muted)}.toggle-wrapper{position:relative;flex-shrink:0}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{display:block;width:44px;height:24px;background-color:var(--border);border-radius:24px;position:relative;transition:all .2s ease}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:all .2s ease;box-shadow:0 1px 3px #0003}.toggle-input:checked+.toggle-slider{background-color:var(--primary)}.toggle-input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-input:focus+.toggle-slider{box-shadow:0 0 0 2px var(--primary-light)}.toggle-container:not(.toggle-container--disabled):hover .toggle-slider{background-color:var(--text-muted)}.toggle-container:not(.toggle-container--disabled):hover .toggle-input:checked+.toggle-slider{background-color:var(--primary-dark, #4b4b4b)}.toggle-container--sm .toggle-slider{width:36px;height:20px}.toggle-container--sm .toggle-slider:before{width:16px;height:16px}.toggle-container--sm .toggle-input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-container--lg .toggle-slider{width:52px;height:28px}.toggle-container--lg .toggle-slider:before{width:24px;height:24px}.toggle-container--lg .toggle-input:checked+.toggle-slider:before{transform:translate(24px)}.permissions-editor{display:flex;flex-direction:column;gap:var(--spacing-lg)}.permissions-presets{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.permissions-presets-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.presets-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.preset-button{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-main);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s ease}.preset-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.preset-button--active{border-color:var(--primary);background-color:var(--primary);color:#fff}.preset-button--active:hover:not(:disabled){background-color:var(--primary);color:#fff}.preset-button:disabled{opacity:.5;cursor:not-allowed}.permissions-groups{display:flex;flex-direction:column;gap:var(--spacing-lg)}.permission-group{background-color:var(--bg-main);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--border)}.permission-group-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border)}.permission-group-items{display:flex;flex-direction:column}.permission-group-items .toggle-container{border-bottom:1px solid var(--border);padding:var(--spacing-sm) 0}.permission-group-items .toggle-container:last-child{border-bottom:none;padding-bottom:0}@media (max-width: 768px){.presets-buttons{flex-direction:column}.preset-button{width:100%;text-align:center}}.admin-page{padding:var(--spacing-lg)}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.admin-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.admin-header p{color:var(--text-secondary)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.admin-stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.admin-stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md)}.admin-stat-icon--total{background:#4b4b4b1f;color:var(--primary)}.admin-stat-icon--active{background:#2f8f5b1f;color:var(--success)}.admin-stat-icon--admin{background:#6b72801f;color:#6b7280}.admin-stat-content{display:flex;flex-direction:column}.admin-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.admin-stat-label{font-size:.875rem;color:var(--text-secondary)}.admin-filters{display:flex;gap:var(--spacing-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.admin-search{display:flex;align-items:center;gap:var(--spacing-md);flex:1;padding:var(--spacing-sm) var(--spacing-lg);min-height:44px;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary)}.admin-search svg{flex-shrink:0}.admin-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.875rem;outline:none}.admin-search input::placeholder{color:var(--text-muted)}.admin-filter-role{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);min-height:44px;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary)}.admin-filter-role svg{flex-shrink:0}.dark-theme .admin-search,.dark-theme .admin-filter-role{background:#1f2937;color:#e5e7eb;border:1px solid #243047}.dark-theme .admin-filter-role select,.dark-theme .admin-search input{color:#e5e7eb}.dark-theme .admin-stat-icon--active{background:#22c55e33;color:#86efac}.dark-theme .admin-stat-icon--total,.dark-theme .admin-stat-icon--admin{background:#ffffff1f;color:#e5e7eb}.admin-filter-role select{border:none;background:transparent;color:var(--text-primary);font-size:.875rem;outline:none;cursor:pointer}.admin-table-card{overflow:hidden;padding:0}.admin-table{width:100%;border-collapse:collapse;min-width:720px}.admin-table th,.admin-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border)}.admin-table th{background:var(--bg-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-secondary)}.admin-table tr:hover td{background:var(--bg-tertiary)}.user-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.user-name{font-weight:500;color:var(--text-primary)}.user-email,.user-date{color:var(--text-secondary);font-size:.875rem}.user-actions{display:flex;gap:var(--spacing-xs)}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all .2s}.action-btn:hover{background:var(--bg-secondary);color:var(--primary);border-color:var(--primary)}.action-btn--success:hover{color:var(--success);border-color:var(--success)}.action-btn--warning:hover{color:var(--warning);border-color:var(--warning)}.action-btn--danger:hover{color:var(--error);border-color:var(--error)}.action-btn--settings:hover{color:#8b5cf6;border-color:#8b5cf6}.action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-rbac-info{margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.admin-rbac-info h3{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.rbac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.rbac-card{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.rbac-card p{margin-top:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary)}.admin-loading,.admin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center;color:var(--text-secondary)}.admin-loading .spinner,.admin-empty svg{margin-bottom:var(--spacing-md)}.admin-empty svg{opacity:.5}.admin-empty h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.admin-no-access{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center;max-width:400px;margin:var(--spacing-xxl) auto}.admin-no-access svg{color:var(--warning);margin-bottom:var(--spacing-md)}.admin-no-access h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.admin-no-access p{color:var(--text-secondary)}.admin-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:.875rem;cursor:pointer}.form-select:focus{outline:none;border-color:var(--primary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border)}.delete-modal-content{text-align:center}.delete-modal-content p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}.delete-warning{color:var(--error);font-size:.875rem}.form-section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border)}.form-section:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.client-project-selector{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:#f59e0b0d;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md)}.client-project-selector .form-label{display:flex;align-items:center;gap:var(--spacing-xs);color:#d97706}.permissions-modal-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.permissions-modal-info{font-size:.875rem;color:var(--text-secondary);margin:0}@media (max-width: 768px){.admin-header{flex-direction:column;gap:var(--spacing-md)}.admin-filters{flex-direction:column}.admin-table-card{overflow-x:auto}.admin-table{font-size:.875rem}.admin-table th,.admin-table td{padding:var(--spacing-sm)}.user-actions{flex-direction:column}}@media (max-width: 640px){.admin-table,.admin-table thead,.admin-table tbody,.admin-table th,.admin-table td,.admin-table tr{display:block}.admin-table thead{display:none}.admin-table tr{border-bottom:1px solid var(--border);padding:var(--spacing-sm);background:var(--bg-card)}.admin-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;border-bottom:none;word-break:break-word}.admin-table td:before{content:attr(data-label);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;flex-shrink:0}.user-actions{flex-direction:row;justify-content:flex-end;flex-wrap:wrap}.user-cell{width:100%}}.timeline-page{padding:var(--spacing-lg)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.timeline-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.timeline-header p{color:var(--text-secondary)}.timeline-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.timeline-filter{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary)}.timeline-filter select{border:none;background:transparent;color:var(--text-primary);font-size:.875rem;outline:none;cursor:pointer}.timeline-container{overflow:hidden;padding:0}.timeline-nav{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.timeline-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all .2s}.timeline-nav-btn:hover{background:var(--bg-card);color:var(--primary);border-color:var(--primary)}.timeline-month{font-size:1.25rem;font-weight:600;color:var(--text-primary);text-transform:capitalize;min-width:200px;text-align:center}.timeline-grid{position:relative;overflow-x:auto}.timeline-days-header{display:flex;border-bottom:1px solid var(--border);background:var(--bg-secondary);position:sticky;top:0;z-index:10}.timeline-project-label{min-width:200px;padding:var(--spacing-sm) var(--spacing-md)}.timeline-days{display:flex;flex:1}.timeline-day{flex:1;min-width:30px;padding:var(--spacing-xs);text-align:center;border-left:1px solid var(--border)}.timeline-day--today{background:#3a3a3a1f}.timeline-day-name{display:block;font-size:.65rem;font-weight:500;color:var(--text-muted);text-transform:uppercase}.timeline-day-number{display:block;font-size:.75rem;font-weight:600;color:var(--text-primary)}.timeline-today-line{position:absolute;top:60px;bottom:0;width:2px;background:var(--primary);z-index:5}.timeline-today-line:before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;background:var(--primary);border-radius:50%}.timeline-project-row,.timeline-milestones-row{display:flex;border-bottom:1px solid var(--border);min-height:50px}.timeline-project-row:hover{background:var(--bg-tertiary)}.timeline-project-info{min-width:200px;padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;font-weight:500;color:var(--text-primary);border-right:1px solid var(--border);background:var(--bg-card)}.timeline-project-info svg{color:var(--primary)}.timeline-tasks-row{flex:1;position:relative;padding:var(--spacing-sm) 0}.timeline-task{position:absolute;top:50%;transform:translateY(-50%);height:28px;min-width:100px;padding:0 var(--spacing-sm);border-radius:var(--radius-sm);display:flex;align-items:center;cursor:pointer;transition:all .2s;z-index:2}.timeline-task:hover{transform:translateY(-50%) scale(1.02);box-shadow:var(--shadow-md);z-index:10}.timeline-task-title{font-size:.7rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-milestones-row{background:var(--bg-tertiary)}.timeline-milestone{position:absolute;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:50%;cursor:pointer;transition:all .2s;z-index:2}.timeline-milestone:hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:var(--shadow-md)}.timeline-milestone--completed{background:var(--success)}.timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center;color:var(--text-secondary)}.timeline-empty svg{margin-bottom:var(--spacing-md);opacity:.5}.timeline-empty h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.timeline-legend{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.timeline-legend h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.legend-items{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--text-secondary)}.legend-color{width:16px;height:16px;border-radius:var(--radius-sm)}.legend-icon{color:var(--primary)}@media (max-width: 768px){.timeline-header{flex-direction:column;gap:var(--spacing-md)}.timeline-header-right{width:100%;flex-wrap:wrap}.timeline-container{overflow-x:auto}.timeline-grid{min-width:680px}.timeline-project-info{min-width:150px}.timeline-day{min-width:25px}.timeline-task{min-width:60px}}@media (max-width: 520px){.timeline-grid{min-width:720px}}.reports-page{padding:var(--spacing-lg)}.reports-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.reports-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.reports-header p{color:var(--text-secondary)}.reports-header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.date-range-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:.875rem;cursor:pointer}.reports-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.kpi-card{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.kpi-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md)}.kpi-icon--primary{background:#4b4b4b1f;color:var(--primary)}.kpi-icon--success{background:#2f8f5b1f;color:var(--success)}.kpi-icon--warning{background:#b9791f1f;color:var(--warning)}.kpi-icon--info{background:#5b64701f;color:var(--info)}.kpi-content{display:flex;flex-direction:column}.kpi-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.kpi-label{font-size:.875rem;color:var(--text-secondary)}.kpi-trend{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary)}.kpi-trend--up{color:var(--success)}.reports-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.progress-card{padding:var(--spacing-lg)}.progress-card h3{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.progress-circle-container{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.progress-circle{position:relative;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--success) calc(var(--progress) * 1%),var(--bg-secondary) calc(var(--progress) * 1%));display:flex;align-items:center;justify-content:center}.progress-circle:before{content:"";position:absolute;width:120px;height:120px;background:var(--bg-card);border-radius:50%}.progress-circle--secondary{background:conic-gradient(var(--primary) calc(var(--progress) * 1%),var(--bg-secondary) calc(var(--progress) * 1%))}.progress-value{position:relative;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.progress-breakdown{display:flex;flex-direction:column;gap:var(--spacing-sm)}.progress-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--text-secondary)}.progress-dot{width:10px;height:10px;border-radius:50%}.progress-dot--pending{background:var(--text-muted)}.progress-dot--progress{background:var(--warning)}.progress-dot--done{background:var(--success)}.reports-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.chart-card{padding:var(--spacing-lg)}.chart-card h3{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.bar-chart{display:flex;flex-direction:column;gap:var(--spacing-md)}.bar-chart-item{display:flex;align-items:center;gap:var(--spacing-md)}.bar-label{min-width:70px;font-size:.875rem;color:var(--text-secondary)}.bar-container{flex:1;height:24px;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden}.bar{height:100%;border-radius:var(--radius-sm);transition:width .5s ease}.bar--urgent{background:#ef4444}.bar--high{background:#f97316}.bar--medium{background:#eab308}.bar--low{background:#22c55e}.bar-value{min-width:30px;font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:right}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.activity-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-md);transition:background .2s}.activity-item:hover{background:var(--bg-secondary)}.activity-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.activity-icon--todo{background:#6b72801a;color:#6b7280}.activity-icon--in_progress{background:#eab3081a;color:var(--warning)}.activity-icon--done{background:#00cc001a;color:var(--success)}.activity-content{display:flex;flex-direction:column}.activity-title{font-size:.875rem;font-weight:500;color:var(--text-primary)}.activity-meta{font-size:.75rem;color:var(--text-secondary)}.activity-empty{text-align:center;padding:var(--spacing-lg);color:var(--text-muted)}.workload-card{padding:var(--spacing-lg)}.workload-card h3{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.workload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md)}.workload-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.workload-user{display:flex;align-items:center;gap:var(--spacing-sm);min-width:150px}.workload-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2f2f2f,#6b6b6b);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.workload-info{display:flex;flex-direction:column}.workload-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.workload-tasks{font-size:.75rem;color:var(--text-secondary)}.workload-progress{flex:1;display:flex;align-items:center;gap:var(--spacing-sm)}.workload-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.workload-bar-fill{height:100%;background:linear-gradient(135deg,#2f2f2f,#6b6b6b);border-radius:var(--radius-sm);transition:width .5s ease}.workload-percent{min-width:40px;font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:right}.workload-empty{grid-column:1 / -1;text-align:center;padding:var(--spacing-lg);color:var(--text-muted)}@media (max-width: 768px){.reports-header{flex-direction:column}.reports-header-right{width:100%;flex-wrap:wrap;align-items:stretch}.date-range-select{width:100%}.reports-header-right .btn{width:100%;justify-content:center}.reports-progress-grid,.reports-charts-grid{grid-template-columns:1fr}.workload-item{flex-direction:column;align-items:flex-start}.workload-progress{width:100%}}.chat-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-lg);height:calc(100vh - 200px)}.chat-sidebar{display:flex;flex-direction:column;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.chat-sidebar-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border-bottom:1px solid var(--border);background-color:#3a3a3a0f}.chat-sidebar-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.chat-sidebar-header svg{color:var(--primary);flex-shrink:0}.chat-sidebar-loading,.chat-sidebar-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);flex:1;color:var(--text-muted)}.chat-sidebar-loading{gap:var(--spacing-md)}.chat-projects-list{display:flex;flex-direction:column;overflow-y:auto;flex:1}.chat-project-item{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border:none;background:transparent;cursor:pointer;border-bottom:1px solid var(--border);transition:background-color .2s ease,border-left .2s ease;border-left:3px solid transparent;text-align:left}.chat-project-item:hover{background-color:var(--primary-light)}.chat-project-item--active{background-color:#3a3a3a1f;border-left-color:var(--primary);color:var(--primary)}.chat-project-item-content{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;flex:1}.chat-project-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-project-item--active .chat-project-item-name{color:var(--primary);font-weight:600}.chat-project-item-status{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:capitalize}.chat-project-item--active .chat-project-item-status{color:var(--primary);opacity:.7}.dark-theme .chat-project-item--active{background-color:#ffffff14;border-left-color:#d1d5db;color:#fff}.dark-theme .chat-project-item--active .chat-project-item-name{color:#fff}.dark-theme .chat-project-item--active .chat-project-item-status{color:#d1d5db}.chat-project-item--unread .chat-project-item-name{font-weight:600}.chat-unread-badge{min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;color:#fff;background-color:var(--primary);border-radius:999px;display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-sm);flex-shrink:0}.chat-container{height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.chat-body{flex:1;display:flex;flex-direction:column;padding:0!important;overflow:hidden}.chat-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border);background-color:#3a3a3a0a}.chat-header h2{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-xl);color:var(--text-primary)}.chat-header-description{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.messages-container{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.messages-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);height:100%;color:var(--text-muted)}.messages-loading p{margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);height:100%;color:var(--text-muted);text-align:center}.empty-state p{margin:0;max-width:300px}.message{display:flex;gap:var(--spacing-md);max-width:70%;animation:slideIn .2s ease-out}.message-own{align-self:flex-end;flex-direction:row-reverse}.message-own .message-content{background-color:var(--primary);color:#fff}.message-other .message-content{background-color:var(--bg-main);border:1px solid var(--border)}.message-content{flex:1;padding:var(--spacing-md);border-radius:var(--radius-lg);word-wrap:break-word}.message-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs);gap:var(--spacing-sm)}.message-author{font-size:var(--font-size-sm);font-weight:600;flex-shrink:0}.message-own .message-author{color:#ffffffe6}.message-time{font-size:var(--font-size-xs);opacity:.7;flex-shrink:0}.message-text{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--text-primary)}.message-own .message-text{color:#fff}.message-attachments{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.message-attachment{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:#ffffff26;border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-decoration:none;color:inherit;transition:background-color .2s ease;border:none;cursor:pointer}.message-attachment span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-attachment:hover{background-color:#ffffff40}.message-other .message-attachment{background-color:#0000000d}.message-other .message-attachment:hover{background-color:#0000001a}.message-input-form{padding:var(--spacing-lg);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--spacing-md);background-color:var(--bg-card)}.message-input-row{display:flex;align-items:flex-end;gap:var(--spacing-md)}.message-input-row textarea{flex:1}.attach-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-main);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.attach-button:hover{background-color:var(--primary-light);color:var(--primary);border-color:var(--primary)}.attached-files-preview{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--bg-main);border-radius:var(--radius-md);border:1px solid var(--border)}.attached-file-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.attached-file-item svg{color:var(--primary);flex-shrink:0}.attached-file-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attached-file-size{color:var(--text-muted)}.attached-file-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:all .2s ease}.attached-file-remove:hover{background-color:var(--danger);color:#fff}.mentions-dropdown{position:absolute;bottom:100%;left:0;right:0;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;z-index:100;margin-bottom:var(--spacing-sm)}.mention-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);width:100%;border:none;background:transparent;cursor:pointer;text-align:left;transition:background-color .2s ease}.mention-item:hover,.mention-item--active{background-color:var(--primary-light)}.mention-item span:first-of-type{font-weight:500;color:var(--text-primary)}.mention-role{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:auto;text-transform:capitalize}.textarea-wrapper{flex:1;position:relative}.message-input-form{position:relative}@media (max-width: 1024px){.chat-layout{grid-template-columns:220px 1fr}.message{max-width:85%}}@media (max-width: 768px){.chat-layout{grid-template-columns:1fr;height:auto}.chat-sidebar{display:none}.message{max-width:100%}.message-input-row{flex-direction:column;align-items:stretch}.attach-button{width:100%}}.ai-layout{max-width:900px;margin:0 auto}.ai-chat-container{height:calc(100vh - 200px);display:flex;flex-direction:column}.ai-chat-body{flex:1;overflow-y:auto;padding:var(--spacing-xl)!important}.ai-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:400px;gap:var(--spacing-lg)}.ai-welcome-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#6b6b6b 100%);display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #4b4b4b59}50%{box-shadow:0 0 0 15px #4b4b4b00}}.ai-welcome h3{font-size:var(--font-size-2xl);color:var(--text-primary);margin:0}.ai-welcome p{color:var(--text-secondary);max-width:500px;line-height:1.6}.ai-quick-stats{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center;margin-top:var(--spacing-md)}.quick-stat{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-main);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary);border:1px solid var(--border)}.quick-stat svg{color:var(--primary)}.quick-stat--warning{background-color:#ef44441a;border-color:#ef44444d}.quick-stat--warning svg{color:var(--error)}.ai-suggestions{margin-top:var(--spacing-xl);width:100%;max-width:700px}.suggestions-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted);margin:0 0 var(--spacing-md) 0;text-align:left}.suggestions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-sm)}.suggestion-chip{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-size:var(--font-size-sm);color:var(--text-secondary);text-align:left}.suggestion-chip:hover{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.suggestion-chip svg{flex-shrink:0;opacity:.7}.suggestion-chip:hover svg{opacity:1}.ai-messages{display:flex;flex-direction:column;gap:var(--spacing-lg)}.ai-message{display:flex;gap:var(--spacing-md);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-message--user{flex-direction:row-reverse}.ai-message-icon{width:32px;height:32px;border-radius:50%;background-color:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dark-theme .ai-welcome-icon{background:linear-gradient(135deg,#2f2f2f,#6b6b6b)}.dark-theme .quick-stat svg{color:#e5e7eb}.dark-theme .ai-message-icon{background-color:#4b4b4b}.ai-message-content{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);max-width:75%;position:relative}.ai-message--user .ai-message-content{background-color:var(--primary);color:#fff;border-bottom-right-radius:var(--radius-sm);max-width:70%}.ai-message--assistant .ai-message-content{background-color:var(--bg-main);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:var(--radius-sm);padding:var(--spacing-md);max-width:85%}.ai-message-content p{margin:0;line-height:1.6;white-space:pre-wrap}.ai-message-text{line-height:1.7;font-size:var(--font-size-base)}.ai-message-text strong{color:var(--text-primary);font-weight:600}.ai-message--user .ai-message-text strong{color:#fff}.ai-message-time{display:block;font-size:10px;color:var(--text-muted);margin-top:var(--spacing-xs);text-align:right;opacity:.7}.ai-message--user .ai-message-time{color:#ffffffb3}.ai-heading{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:var(--spacing-md) 0 var(--spacing-sm) 0}.ai-subheading{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:var(--spacing-sm) 0}.ai-list-item{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.ai-bullet{color:var(--primary);font-weight:700}.ai-number{color:var(--primary);font-weight:600;min-width:24px}.ai-message--loading{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.typing-indicator{display:flex;gap:6px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background-color:var(--primary);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-8px);opacity:1}}.loading-text{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.ai-input-container{padding:var(--spacing-md);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--spacing-sm);background-color:var(--bg-card)}.ai-input-row{display:flex;gap:var(--spacing-sm);align-items:flex-end}.ai-input-container .textarea{flex:1;background-color:var(--bg-main);color:var(--text-primary);border-color:var(--border);resize:none}.ai-input-container .textarea::placeholder{color:var(--text-muted)}.ai-input-container .textarea:focus{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--primary)}.ai-input-container .textarea:disabled{opacity:.6;cursor:not-allowed}.ai-input-row button{flex-shrink:0}.ai-input-notice{display:flex;align-items:center;gap:var(--spacing-xs);font-size:11px;color:var(--text-muted);padding:0 var(--spacing-xs)}.ai-input-notice svg{flex-shrink:0;opacity:.7}@media (max-width: 768px){.ai-chat-container{height:calc(100vh - 180px)}.suggestions-grid{grid-template-columns:1fr}.ai-message-content{max-width:90%}.ai-quick-stats{flex-direction:column;align-items:center}.ai-input-row{flex-direction:column}.ai-input-row button{width:100%}.ai-input-notice{text-align:center;justify-content:center}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #3A3A3A;--primary-hover: #1F1F1F;--primary-light: rgba(58, 58, 58, .14);--secondary: #8C8C8C;--secondary-hover: #6F6F6F;--secondary-light: #E6E6E6;--secondary-contrast: #1F1F1F;--bg-main: #FAFAFA;--bg-card: #FFFFFF;--bg-secondary: #F2F2F2;--bg-tertiary: #E9E9E9;--border: #D8D8D8;--text-primary: #171717;--text-secondary: #3A3A3A;--text-muted: #6F6F6F;--success: #2E7D57;--success-light: #E1F1E8;--warning: #A86F1D;--warning-light: #F3E7D1;--error: #B03B3B;--error-light: #F3D7D7;--info: #6F6F6F;--info-light: #ECECEC;--priority-low: #8A8A8A;--priority-medium: #6F6F6F;--priority-high: #A86F1D;--priority-urgent: #B03B3B;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -2px rgba(0, 0, 0, .03);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-family: "Myriad Pro", "Myriad", "Segoe UI", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem}[data-theme=dark],.dark-theme{--bg-main: #0D0D0D;--bg-card: #121212;--bg-secondary: #191919;--bg-tertiary: #212121;--border: #2F2F2F;--text-primary: #F5F5F5;--text-secondary: #D8D8D8;--text-muted: #A0A0A0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2);color-scheme:dark}.dark-theme{--primary-light: rgba(200, 200, 200, .18);--secondary: #C0C0C0;--secondary-hover: #D4D4D4;--secondary-light: #2A2A2A;--secondary-contrast: #F5F5F5}html{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;background-color:var(--bg-main);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5;overflow-x:hidden}img,svg,video{max-width:100%;height:auto}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{color:var(--text-secondary);line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .2s ease-in-out}.slide-in{animation:slideIn .2s ease-out}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stuck-banner{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center;text-align:center}.stuck-reload-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--primary);color:var(--primary);background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.stuck-reload-btn:hover{background:var(--primary-light)}
